Introduzione al controllo dell'istanza gestita del database SQL di AzureGet started with Azure SQL Database managed instance auditing

Il controllo dell'istanza gestita tiene traccia degli eventi del database e li registra in un log di controllo nell'account di archiviazione di Azure.Managed instance 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 ulteriori informazioni sui programmi di Azure che supportano la conformità agli standard, vedere la Centro protezione di Azure in cui è possibile trovare l'elenco più aggiornato delle certificazioni di conformità del database SQL.For more information about Azure programs that support standards compliance, see the Azure Trust Center where you can find the most current list of SQL Database compliance certifications.

Configurare il controllo per il server in Archiviazione di AzureSet up auditing for your server to Azure storage

La sezione seguente descrive la configurazione del controllo per l'istanza gestita.The following section describes the configuration of auditing on your managed instance.

  1. Accedere al portale di Azure.Go to the Azure portal.

  2. Creare un contenitore di Archiviazione di Azure in cui archiviare i log di controllo.Create an Azure Storage container where audit logs are stored.

    1. Passare all'archiviazione di Azure in cui si vogliono archiviare i log di controllo.Navigate to the Azure Storage where you would like to store your audit logs.

      Importante

      Usare un account di archiviazione nella stessa area dell'istanza gestita per evitare operazioni di lettura e scrittura tra aree diverse.Use a storage account in the same region as the managed instance to avoid cross-region reads/writes.

    2. Nell'account di archiviazione passare a Panoramica e fare clic su BLOB.In the storage account, go to Overview and click Blobs.

      Widget BLOB di Azure

    3. Nel menu in alto fare clic su + Contenitore per creare un nuovo contenitore.In the top menu, click + Container to create a new container.

      Icona per creare un contenitore BLOB

    4. Specificare un Nome per il contenitore, impostare Livello di accesso pubblico su Privato e quindi fare clic su OK.Provide a container Name, set Public access level to Private, and then click OK.

      Creare una configurazione del contenitore BLOB

  3. Dopo aver creato il contenitore, è possibile configurarlo come destinazione dei log di controllo in due modi: usando T-SQL oppure tramite l'interfaccia utente di SQL Server Management Studio (SSMS):After creating the container for the Audit logs there are two ways to configure it as the target for the audit logs: using T-SQL or using the SQL Server Management Studio (SSMS) UI:

    • Configurare l'archiviazione BLOB per i log di controllo usando T-SQL:Configure blog storage for audit logs using T-SQL:

      1. Nell'elenco dei contenitori fare clic sul contenitore appena creato e quindi fare clic su Proprietà del contenitore.In the containers list, click the newly created container and then click Container properties.

        Pulsante delle proprietà del contenitore BLOB

      2. Copiare l'URL del contenitore facendo clic sull'icona di copia e salvarlo (ad esempio, in Blocco note) per uso futuro.Copy the container URL by clicking the copy icon and save the URL (for example, in Notepad) for future use. Il formato dell'URL del contenitore deve essere https://<StorageName>.blob.core.windows.net/<ContainerName>The container URL format should be https://<StorageName>.blob.core.windows.net/<ContainerName>

        URL da copiare del contenitore BLOB

      3. Generare un token di firma di accesso condiviso di Archiviazione di Azure per concedere all'account di archiviazione i diritti di accesso al controllo dell'istanza gestita:Generate an Azure Storage SAS Token to grant managed instance auditing access rights to the storage account:

        • Passare all'account di Archiviazione di Azure in cui è stato creato il contenitore nel passaggio precedente.Navigate to the Azure Storage account where you created the container in the previous step.

        • Fare clic su Firma di accesso condiviso nel menu Impostazioni di archiviazione.Click on Shared access signature in the Storage Settings menu.

          Icona Firma di accesso condiviso nel menu Impostazioni di archiviazione

        • Configurare SAS come segue:Configure the SAS as follows:

          • Servizi consentiti: BlobAllowed services: Blob

          • Data di inizio: per evitare problemi correlati al fuso orario, è consigliabile usare la data del giorno precedenteStart date: to avoid time zone-related issues, it is recommended to use yesterday’s date

          • Data di fine: scegliere la data di scadenza del token di firma di accesso condivisoEnd date: choose the date on which this SAS Token expires

            Nota

            Rinnovare il token alla scadenza per evitare errori di controllo.Renew the token upon expiry to avoid audit failures.

          • Fare clic su Genera firma di accesso condiviso.Click Generate SAS.

            Configurazione della firma di accesso condiviso

        • Fare clic su Genera firma di accesso condiviso. Il token verrà visualizzato in basso.After clicking on Generate SAS, the SAS Token appears at the bottom. Copiare il token facendo clic sull'icona di copia e salvarlo (ad esempio, in Blocco note) per uso futuro.Copy the token by clicking on the copy icon, and save it (for example, in Notepad) for future use.

          Copiare il token di accesso condiviso

          Importante

          Rimuovere il carattere punto interrogativo ("?") dall'inizio del token.Remove the question mark (“?”) character from the beginning of the token.

      4. Connettersi all'istanza gestita tramite SQL Server Management Studio (SSMS) o qualsiasi altro strumento supportato.Connect to your managed instance via SQL Server Management Studio (SSMS) or any other supported tool.

      5. Eseguire l'istruzione T-SQL seguente per creare nuove credenziali usando l'URL del contenitore e il token di firma di accesso condiviso creati nei passaggi precedenti:Execute the following T-SQL statement to create a new Credential using the Container URL and SAS Token that you created in the previous steps:

        CREATE CREDENTIAL [<container_url>]
        WITH IDENTITY='SHARED ACCESS SIGNATURE',
        SECRET = '<SAS KEY>'
        GO
        
      6. Eseguire l'istruzione T-SQL seguente per creare un nuovo controllo server. Scegliere un nome personalizzato per il controllo e usare l'URL del contenitore creato nei passaggi precedenti.Execute the following T-SQL statement to create a new Server Audit (choose your own audit name, use the Container URL that you created in the previous steps). Se non specificato diversamente, l'impostazione predefinita di RETENTION_DAYS è 0 (conservazione illimitata):If not specified, RETENTION_DAYS default is 0 (unlimited retention):

        CREATE SERVER AUDIT [<your_audit_name>]
        TO URL ( PATH ='<container_url>' [, RETENTION_DAYS =  integer ])
        GO
        
        1. Proseguire con la creazione di una specifica di controllo server o una specifica di controllo databaseContinue by creating a Server Audit Specification or Database Audit Specification
    • Configurare l'archiviazione BLOB per i log di controllo tramite SQL Server Management Studio (SSMS) 18 (anteprima):Configure blob storage for audit logs using the SQL Server Management Studio (SSMS) 18 (Preview):

      1. Connettersi all'istanza gestita tramite l'interfaccia utente di SQL Server Management Studio (SSMS).Connect to the managed instance using SQL Server Management Studio (SSMS) UI.

      2. Espandere il nodo radice di Esplora oggetti.Expand the root note of the Object Explorer.

      3. Espandere il nodo Sicurezza, fare clic con il pulsante destro del mouse sul nodo Controlli e scegliere "Nuovo controllo":Expand the Security node, right-click on the Audits node, and click on "New Audit":

        Espandere i nodi Sicurezza e Controlli

      4. Verificare che in Destinazione controllo sia selezionata l'opzione "URL" e fare clic su Sfoglia:Make sure "URL" is selected in Audit destination and click on Browse:

        Sfogliare Archiviazione di Azure

      5. (Facoltativo) Accedere all'account di Azure:(Optional) Sign in to your Azure account:

        Accedi ad Azure

      6. Selezionare una sottoscrizione, un account di archiviazione e un contenitore BLOB dagli elenchi a discesa oppure creare un contenitore personalizzato facendo clic su Crea.Select a subscription, storage account, and Blob container from the dropdowns, or create your own container by clicking on Create. Al termine, fare clic su OK:Once you have finished click OK:

        Selezionare la sottoscrizione di Azure, l'account di archiviazione e il contenitore BLOB

      7. Fare clic su OK nella finestra di dialogo "Crea controllo".Click OK in the "Create Audit" dialog.

  4. Dopo aver configurato il contenitore BLOB come destinazione dei log di controllo, creare una specifica di controllo server o una specifica di controllo database come nel caso di SQL Server:After configuring the Blob container as target for the audit logs, create a Server Audit Specification or Database Audit Specification as you would for SQL Server:

  5. Abilitare il controllo server creato nel passaggio 6:Enable the server audit that you created in step 6:

    ALTER SERVER AUDIT [<your_audit_name>]
    WITH (STATE=ON);
    GO
    

Per altre informazioni:For additional information:

Configurare il controllo per il server per l'hub eventi o i log di monitoraggio di AzureSet up auditing for your server to Event Hub or Azure Monitor logs

I log di controllo da un'istanza gestita possono essere inviati anche a hub o log di monitoraggio di Azure.Audit logs from a managed instance can be sent to Even Hubs or Azure Monitor logs. Questa sezione illustra come configurarli:This section describes how to configure this:

  1. All'interno del portale di Azure passare all'istanza gestita.Navigate in the Azure Portal to the managed instance.

  2. Fare clic su Impostazioni di diagnostica.Click on Diagnostic settings.

  3. Fare clic su Attiva diagnostica.Click on Turn on diagnostics. Se la diagnostica è già abilitata verrà invece visualizzata l'opzione + Aggiungi impostazione di diagnostica.If diagnostics is already enabled the +Add diagnostic setting will show instead.

  4. Selezionare SQLSecurityAuditEvents nell'elenco dei log.Select SQLSecurityAuditEvents in the list of logs.

  5. Selezionare una destinazione per gli eventi di controllo: Hub eventi, log di monitoraggio di Azure o entrambi.Select a destination for the audit events - Event Hub, Azure Monitor logs, or both. Configurare per ogni destinazione i parametri obbligatori (ad esempio Log Analytics dell'area di lavoro).Configure for each target the required parameters (e.g. Log Analytics workspace).

  6. Fare clic su Save.Click Save.

    Configurare le impostazioni di diagnostica

  7. Connettersi all'istanza gestita usando SQL Server Management Studio (SSMS) o qualsiasi altro client supportato.Connect to the managed instance using SQL Server Management Studio (SSMS) or any other supported client.

  8. Eseguire l'istruzione T-SQL seguente per creare un controllo del server:Execute the following T-SQL statement to create a server audit:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  9. Creare una specifica di controllo server o di controllo database come si farebbe per SQL Server:Create a server audit specification or database audit specification as you would for SQL Server:

  10. Abilitare il controllo del server creato nel passaggio 8:Enable the server audit created in step 8:

    ALTER SERVER AUDIT [<your_audit_name>] WITH (STATE=ON);
    GO
    

Utilizzo di log di controlloConsume audit logs

Utilizzo dei log archiviati in Archiviazione di AzureConsume logs stored in Azure Storage

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

Utilizzo dei log archiviati in Hub eventiConsume logs stored in Event Hub

Per utilizzare i dati dei log di controllo da Hub eventi, è necessario configurare un flusso per utilizzare gli eventi e scriverli in una destinazione.To consume audit logs data from Event Hub, you will need to set up a stream to consume events and write them to a target. Per altre informazioni, vedere la documentazione di Hub eventi di Azure.For more information, see Azure Event Hubs Documentation.

Utilizzare e analizzare i log archiviati nei log di monitoraggio di AzureConsume and Analyze logs stored in Azure Monitor logs

Se i log di controllo vengono scritti nei log di monitoraggio di Azure, sono disponibili nell'area di lavoro Log Analytics, in cui è possibile eseguire ricerche avanzate sui dati di controllo.If audit logs are written to Azure Monitor logs, they are available in the Log Analytics workspace, where you can run advanced searches on the audit data. Come punto di partenza, passare all'area di lavoro log Analytics e nella sezione generale fare clic su log e immettere una semplice query, search "SQLSecurityAuditEvents" ad esempio: per visualizzare i log di controllo.As a starting point, navigate to the Log Analytics workspace and under General section click Logs and enter a simple query, such as: search "SQLSecurityAuditEvents" to view the audit logs.

Log di monitoraggio di Azure offre informazioni operative in tempo reale usando la ricerca integrata e i dashboard personalizzati per analizzare rapidamente milioni di record in tutti i carichi di lavoro e i server.Azure Monitor logs gives you real-time operational insights using integrated search and custom dashboards to readily analyze millions of records across all your workloads and servers. Per altre informazioni utili sul linguaggio di ricerca dei log di Azure e sui comandi, vedere i riferimenti alla ricerca nei log di monitoraggiodi Azure.For additional useful information about Azure Monitor logs search language and commands, see Azure Monitor logs search reference.

Nota

Questo articolo è stato aggiornato di recente in modo da usare il termine log di Monitoraggio di Azure anziché Log Analytics.This article was recently updated to use the term Azure Monitor logs instead of Log Analytics. I dati di log vengono comunque archiviati in un'area di lavoro Log Analytics e vengano ancora raccolti e analizzati dallo stesso servizio Log Analytics.Log data is still stored in a Log Analytics workspace and is still collected and analyzed by the same Log Analytics service. Si sta procedendo a un aggiornamento della terminologia per riflettere meglio il ruolo dei log in Monitoraggio di Azure.We are updating the terminology to better reflect the role of logs in Azure Monitor. Per informazioni dettagliate, vedere Modifiche della terminologia di Monitoraggio di Azure.See Azure Monitor terminology changes for details.

Differenze di controllo tra i database nel database SQL di Azure e i database in SQL ServerAuditing differences between databases in Azure SQL Database and databases in SQL Server

Le principali differenze tra il controllo nei database nel database SQL di Azure e quello in SQL Server sono le seguenti:The key differences between auditing in databases in Azure SQL Database and databases in SQL Server are:

  • Con l'opzione di distribuzione dell'istanza gestita nel database SQL di Azure, il controllo viene eseguito a livello del server e archivia file di log .xel in Archivio BLOB di Azure.With the managed instance deployment option in Azure SQL Database, auditing works at the server level and stores .xel log files in Azure Blob storage.
  • Con le opzioni di distribuzione dei database singoli e dei pool elastici nel database SQL di Azure, il controllo viene eseguito a livello del database.With the single database and elastic pool deployment options in Azure SQL Database, auditing works at the database level.
  • In SQL Server locale o nelle macchine virtuali SQL Server il controllo viene eseguito a livello del server, ma archivia gli eventi nei log eventi del file system o di Windows.In SQL Server on-premises / virtual machines, audit works at the server level, but stores events on files system/windows event logs.

Il controllo XEvent nell'istanza gestita supporta le destinazioni di Archivio BLOB di Azure.XEvent auditing in managed instance supports Azure Blob storage targets. I log di file e di Windows non sono supportati.File and windows logs are not supported.

Le principali differenze nella sintassi CREATE AUDIT per il controllo in Archivio BLOB di Azure sono le seguenti:The key differences in the CREATE AUDIT syntax for auditing to Azure Blob storage are:

  • È disponibile una nuova sintassi TO URL che consente di specificare l'URL del contenitore di archiviazione BLOB di Azure in cui vengono inseriti i file con estensione .xel.A new syntax TO URL is provided and enables you to specify URL of the Azure blob Storage container where the .xel files are placed.
  • Viene fornita una TO EXTERNAL MONITOR nuova sintassi per abilitare anche le destinazioni dei log degli hub e di monitoraggio di Azure.A new syntax TO EXTERNAL MONITOR is provided to enable Even Hub and Azure Monitor logs targets.
  • La sintassi TO FILE non è supportata perché il database SQL non può accedere alle condivisioni file di Windows.The syntax TO FILE is not supported because SQL Database cannot access Windows file shares.
  • L'opzione Shutdown non è supportata.Shutdown option is not supported.
  • Un valore di queue_delay uguale a 0 non è supportato.queue_delay of 0 is not supported.

Passaggi successiviNext steps

  • Per l'elenco completo dei metodi di consumo del log di controllo, fare riferimento a Introduzione al controllo del database SQL.For a full list of audit log consumption methods, refer to the Get started with SQL database auditing.
  • Per ulteriori informazioni sui programmi di Azure che supportano la conformità agli standard, vedere la Centro protezione di Azure in cui è possibile trovare l'elenco più aggiornato delle certificazioni di conformità del database SQL.For more information about Azure programs that support standards compliance, see the Azure Trust Center where you can find the most current list of SQL Database compliance certifications.