Introduzione al controllo del database SQLGet started with SQL database auditing

Il servizio di controllo del database SQL di Azure tiene traccia degli eventi di database e li registra in un log di controllo nell'account di archiviazione di Azure dell'utente.Azure SQL database auditing tracks database events and writes them to an audit log in your Azure storage account. Inoltre, il servizio di controllo:Auditing also:

  • Consente di gestire la conformità alle normative, ottenere informazioni sull'attività del database e rilevare discrepanze e anomalie che potrebbero indicare problemi aziendali o possibili violazioni della sicurezza.Helps you maintain regulatory compliance, understand database activity, and gain insight into discrepancies and anomalies that could indicate business concerns or suspected security violations.

  • Supporta e facilita il rispetto degli standard di conformità, pur non garantendo la conformità.Enables and facilitates adherence to compliance standards, although it doesn't guarantee compliance. Per altre informazioni sui programmi di Azure che supportano la conformità agli standard, vedere il Centro protezione Azure.For more information about Azure programs that support standards compliance, see the Azure Trust Center.

Panoramica del servizio di controllo del database SQL di AzureAzure SQL database auditing overview

È possibile usare il servizio di controllo del database SQL per eseguire le operazioni seguenti:You can use SQL database auditing to:

  • Conservare un audit trail di eventi selezionati.Retain an audit trail of selected events. È possibile definire categorie di azioni di database da controllare.You can define categories of database actions to be audited.
  • Creare report sulle attività del database.Report on database activity. È possibile usare i report preconfigurati e un dashboard per iniziare rapidamente a usare l’attività e la segnalazione di eventi.You can use preconfigured reports and a dashboard to get started quickly with activity and event reporting.
  • Analizzare i report.Analyze reports. È possibile individuare eventi sospetti, attività insolite e tendenze.You can find suspicious events, unusual activity, and trends.

È possibile configurare il controllo per diversi tipi di categorie di eventi, come spiegato nella sezione Configurare il controllo per il database.You can configure auditing for different types of event categories, as explained in the Set up auditing for your database section.

I log di controllo vengono scritti nell'archivio BLOB di Azure della sottoscrizione di Azure.Audit logs are written to Azure Blob storage on your Azure subscription.

Definire criteri di controllo a livello di server o a livello di databaseDefine server-level vs. database-level auditing policy

I criteri di controllo possono essere definiti per un database specifico o come criteri server predefiniti:An auditing policy can be defined for a specific database or as a default server policy:

  • I criteri server si applicano a tutti i database nuovi ed esistenti in un server.A server policy applies to all existing and newly created databases on the server.

  • Se il controllo BLOB del server è abilitato, si applica sempre al database.If server blob auditing is enabled, it always applies to the database. Il database verrà controllato, indipendentemente dalle impostazioni di controllo del database.The database will be audited, regardless of the database auditing settings.

  • L'abilitazione del controllo BLOB nel database in aggiunta all'abilitazione nel server non sostituisce o modifica le impostazioni del controllo BLOB del server.Enabling blob auditing on the database, in addition to enabling it on the server, does not override or change any of the settings of the server blob auditing. I due controlli coesisteranno.Both audits will exist side by side. In altre parole, il database viene controllato due volte in parallelo, una volta con i criteri del server e una volta con i criteri del database.In other words, the database is audited twice in parallel; once by the server policy and once by the database policy.

    Nota

    È consigliabile evitare di abilitare contemporaneamente il controllo BLOB del server e il controllo BLOB del database ad eccezione dei casi seguenti:You should avoid enabling both server blob auditing and database blob auditing together, unless:

    • Si vuole usare un account di archiviazione o un periodo di conservazione diverso per un database specifico.You want to use a different storage account or retention period for a specific database.
    • Per un database specifico si vogliono controllare tipi o categorie di eventi diversi dagli altri database nel server.You want to audit event types or categories for a specific database that differ from the rest of the databases on the server. Ad esempio, potrebbe essere necessario controllare gli inserimenti di tabella solo per un database specifico.For example, you might have table inserts that need to be audited only for a specific database.

    Negli altri casi, è consigliabile abilitare solo il controllo BLOB a livello di server e lasciare disabilitato il controllo a livello di database per tutti i database.Otherwise, we recommended that you enable only server-level blob auditing and leave the database-level auditing disabled for all databases.

Configurare il controllo per il databaseSet up auditing for your database

Nella sezione seguente è descritta la configurazione del controllo mediante il portale di Azure.The following section describes the configuration of auditing using the Azure portal.

  1. Accedere al portale di Azure.Go to the Azure portal.
  2. Passare al pannello Impostazioni del database o del server SQL che si vuole controllare.Go to the Settings blade of the SQL database/SQL server you want to audit. Nel pannello Impostazioni selezionare Controllo e rilevamento minacce.In the Settings blade, select Auditing & Threat detection.

    Riquadro di spostamentoNavigation pane

  3. Se si preferisce configurare un criterio di controllo del server, è possibile selezionare il collegamento Visualizza impostazioni del server nel pannello relativo al controllo del database.If you prefer to set up a server auditing policy, you can select the View server settings link in the database auditing blade. Si possono quindi visualizzare o modificare le impostazioni di controllo del server.You can then view or modify the server auditing settings. I criteri di controllo del server si applicano a tutti i database esistenti e ai nuovi database creati in questo server.Server auditing policies apply to all existing and newly created databases on this server.

    Riquadro di spostamento

  4. Se si preferisce abilitare il controllo BLOB a livello di database, per Controllo selezionare e per Tipo di controllo selezionare BLOB.If you prefer to enable blob auditing on the database level, for Auditing, select ON, and for Auditing type, select Blob.

    Se il controllo BLOB del server è abilitato, il controllo configurato del database coesisterà con il controllo BLOB del server.If server blob auditing is enabled, the database-configured audit will exist side by side with the server blob audit.

    Riquadro di spostamento

  5. Per aprire il pannello Archiviazione dei log di controllo selezionare Dettagli archiviazione.To open the Audit Logs Storage blade, select Storage Details. Selezionare l'account di archiviazione di Azure in cui verranno salvati i log e quindi selezionare il periodo di conservazione.Select the Azure storage account where logs will be saved, and then select the retention period. I log meno recenti verranno eliminati.The old logs will be deleted. Fare quindi clic su OK.Then click OK.

    Suggerimento

    Per sfruttare al massimo i modelli di report di controllo, usare lo stesso account di archiviazione per tutti i database controllati.To get the most out of the auditing reports templates, use the same storage account for all audited databases.

    Riquadro di spostamentoNavigation pane

  6. Per personalizzare gli eventi controllati, è possibile usare PowerShell o l'API REST.If you want to customize the audited events, you can do this via PowerShell or the REST API.
  7. Dopo aver configurato le impostazioni di controllo, è possibile attivare la nuova funzionalità di rilevamento delle minacce e configurare gli indirizzi di posta elettronica per ricevere gli avvisi di sicurezza.After you've configured your auditing settings, you can turn on the new threat detection feature and configure emails to receive security alerts. Quando si usa il rilevamento delle minacce, si ricevono avvisi proattivi sulle attività di database anomale che possono indicare potenziali minacce per la sicurezza.When you use threat detection, you receive proactive alerts on anomalous database activities that can indicate potential security threats. Per altre informazioni, vedere Introduzione al rilevamento delle minacce.For more information, see Getting started with threat detection.
  8. Fare clic su Salva.Click Save.

Analizzare i log di controllo e i reportAnalyze audit logs and reports

I log di controllo vengono aggregati nell'account di archiviazione di Azure selezionato durante la configurazione.Audit logs are aggregated in the Azure storage account you chose during setup. È possibile esplorare i log di controllo con uno strumento come Azure Storage Explorer.You can explore audit logs by using a tool such as Azure Storage Explorer.

I log del controllo BLOB vengono salvati come raccolta di file BLOB in un contenitore denominato sqldbauditlogs.Blob auditing logs are saved as a collection of blob files within a container named sqldbauditlogs.

Per altri dettagli sulla gerarchia della cartella di archiviazione, le convenzioni di denominazione e il formato dei log, vedere le informazioni di riferimento sul formato dei log del controllo BLOB.For further details about the hierarchy of the storage folder, naming conventions, and log format, see the Blob Audit Log Format Reference.

Per visualizzare i log del controllo BLOB sono disponibili diversi metodi:There are several methods you can use to view blob auditing logs:

  • Usare il portale di Azure.Use the Azure portal. Aprire il database corrispondente.Open the relevant database. Nella parte superiore del pannello Controllo e rilevamento minacce del database fare clic su Visualizza log di controllo.At the top of the database's Auditing & Threat detection blade, click View audit logs.

    Riquadro di spostamento

    Verrà aperto il pannello Record di controllo, da cui sarà possibile visualizzare i log.An Audit records blade opens, from which you'll be able to view the logs.

    • È possibile visualizzare date specifiche facendo clic su Filtro nella parte superiore del pannello Record di controllo.You can view specific dates by clicking Filter at the top of the Audit records blade.
    • È possibile passare dai record di controllo creati dai criteri del server a quelli creati dai criteri del database e viceversa.You can switch between audit records that were created by a server policy or database policy audit.

      Riquadro di spostamento

  • Usare la funzione di sistema sys.fn_get_audit_file (T-SQL) per tornare ai dati dei log di controllo in formato tabulare.Use the system function sys.fn_get_audit_file (T-SQL) to return the audit log data in tabular format. Per altre informazioni su questa funzione, vedere la documentazione su sys.fn_get_audit_file.For more information on using this function, see the sys.fn_get_audit_file documentation.

  • Usare Unisci file di controllo in SQL Server Management Studio (a partire da SSMS 17):Use Merge Audit Files in SQL Server Management Studio (starting with SSMS 17):

    1. Dalla barra dei menu di SSMS selezionare File > Apri > Unisci file di controllo.From the SSMS menu, select File > Open > Merge Audit Files.

      Riquadro di spostamento

    2. Verrà visualizzata la finestra di dialogo Aggiunti file di controllo.The Add Audit Files dialog box opens. Selezionare una delle opzioni Aggiungi per scegliere se unire i file di controllo da un disco locale oppure importarli da Archiviazione di Azure.Select one of the Add options to choose whether to merge audit files from a local disk or import them from Azure Storage. È necessario specificare i dettagli e la chiave dell'account di Archiviazione di Azure.You are required to provide your Azure Storage details and account key.

    3. Dopo aver aggiunto tutti i file da unire, fare clic su OK per completare l'operazione di unione.After all files to merge have been added, click OK to complete the merge operation.

    4. Il file unito verrà aperto in SSMS, dove potrà essere visualizzato, analizzato ed esportato in un file XEL o CSV o in una tabella.The merged file opens in SSMS, where you can view and analyze it, as well as export it to an XEL or CSV file or to a table.

  • Usare l'applicazione di sincronizzazione che è stata creata.Use the sync application that we have created. L'applicazione viene eseguita in Azure e utilizza le API pubbliche di Operations Management Suite (OMS) Log Analytics per effettuare il push dei log di controllo SQL in OMS,It runs in Azure and utilizes Operations Management Suite (OMS) Log Analytics public APIs to push SQL audit logs into OMS. per l'utilizzo tramite il dashboard di OMS Log Analytics.The sync application pushes SQL audit logs into OMS Log Analytics for consumption via the OMS Log Analytics dashboard.

  • Usare Power BI.Use Power BI. È possibile visualizzare e analizzare i dati dei log di controllo in Power BI.You can view and analyze audit log data in Power BI. Per altre informazioni, vedere il post di blog su Power BI e l'accesso a un modello scaricabile.Learn more about Power BI, and access a downloadable template.

  • Scaricare i file di log dal contenitore BLOB del servizio di archiviazione di Azure tramite il portale o con uno strumento come Azure Storage Explorer.Download log files from your Azure Storage blob container via the portal or by using a tool such as Azure Storage Explorer.

    • Dopo aver scaricato un file di log in locale, è possibile fare doppio clic sul file per aprire, visualizzare e analizzare i log in SSMS.After you have downloaded a log file locally, you can double-click the file to open, view, and analyze the logs in SSMS.
    • È anche possibile scaricare più file contemporaneamente tramite Azure Storage Explorer.You can also download multiple files simultaneously via Azure Storage Explorer. Fare clic con il pulsante destro del mouse su una sottocartella specifica e scegliere Salva con nome per salvarla in una cartella locale.Right-click a specific subfolder and select Save as to save in a local folder.
  • Altri metodi:Additional methods:

    • Dopo avere scaricato diversi file o una sottocartella contenente i file di log, è possibile unirli in locale come descritto nelle istruzioni relative all'unione di file di controllo in SSMS riportate in precedenza.After downloading several files or a subfolder that contains log files, you can merge them locally as described in the SSMS Merge Audit Files instructions described earlier.

    • Visualizzare i log del controllo BLOB a livello di codice:View blob auditing logs programmatically:

Procedure nell'ambiente di produzioneProduction practices

Controllo dei database con replica geograficaAuditing geo-replicated databases

Con i database con replica geografica, quando si abilita il controllo nel database primario il database secondario disporrà di un criterio di controllo identico.With geo-replicated databases, when you enable auditing on the primary database the secondary database will have an identical auditing policy. È anche possibile impostare il controllo nel database secondario abilitando il controllo nel server secondario, in modo indipendente dal database primario.It is also possible to set up auditing on the secondary database by enabling auditing on the secondary server, independently from the primary database.

  • A livello di server (consigliato): attivare il controllo sia nel server primario che nel server secondario. I database primari e secondari saranno controllati in modo indipendente in base ai rispettivi criteri a livello di server.Server-level (recommended): Turn on auditing on both the primary server as well as the secondary server - the primary and secondary databases will each be audited independently based on their respective server-level policy.

  • A livello di database: il controllo a livello di database per i database secondari può essere configurato solo mediante le impostazioni di controllo del database primario.Database-level: Database-level auditing for secondary databases can only be configured from Primary database auditing settings.

    • Il controllo BLOB deve essere abilitato nello stesso database primario e non nel server.Blob auditing must be enabled on the primary database itself, not the server.
    • Dopo che il controllo BLOB è stato abilitato nel database primario, verrà abilitato anche nel database secondario.After blob auditing is enabled on the primary database, it will also become enabled on the secondary database.

      Importante

      In caso di controllo a livello di database, le impostazioni di archiviazione per il database secondario sono identiche a quelle del database primario, e causano traffico tra le aree.With database-level auditing, the storage settings for the secondary database will be identical to those of the primary database, causing cross-regional traffic. È consigliabile abilitare solo il controllo a livello di server e lasciare disabilitato il controllo a livello di database per tutti i database.We recommend that you enable only server-level auditing, and leave the database-level auditing disabled for all databases.

Rigenerazione delle chiavi di archiviazioneStorage key regeneration

Durante la produzione è probabile che periodicamente vengano aggiornate le chiavi di archiviazione.In production, you are likely to refresh your storage keys periodically. Quando si aggiornano le chiavi, è necessario salvare nuovamente i criteri di controllo.When refreshing your keys, you need to resave the auditing policy. Il processo è il seguente:The process is as follows:

  1. Aprire il pannello Dettagli archiviazione.Open the Storage Details blade. Nella casella Chiave di accesso alle risorse di archiviazione selezionare Secondaria e fare clic su OK.In the Storage Access Key box, select Secondary, and click OK. Fare quindi clic su Salva nella parte superiore del pannello di configurazione del controllo.Then click Save at the top of the auditing configuration blade.

    Riquadro di spostamento

  2. Passare al pannello di configurazione dell'archiviazione e rigenerare la chiave di accesso primaria.Go to the storage configuration blade and regenerate the primary access key.

    Riquadro di spostamento

  3. Tornare al pannello di configurazione del controllo, modificare la chiave di accesso alle risorse di archiviazione da secondaria a primaria e quindi fare clic su OK.Go back to the auditing configuration blade, switch the storage access key from secondary to primary, and then click OK. Fare quindi clic su Salva nella parte superiore del pannello di configurazione del controllo.Then click Save at the top of the auditing configuration blade.
  4. Tornare al pannello di configurazione dell'archiviazione e rigenerare la chiave di accesso secondaria, in preparazione al successivo ciclo di aggiornamento della chiave.Go back to the storage configuration blade and regenerate the secondary access key (in preparation for the next key's refresh cycle).

Gestire il controllo del database SQL usando Azure PowerShellManage SQL database auditing using Azure PowerShell

Gestire il controllo del database SQL usando l'API RESTManage SQL database auditing using REST API