Introduzione al controllo di Istanza gestita di SQL di Azure

Si applica a:Istanza gestita di SQL di Azure

Il controllo dell'Istanza gestita di SQL di Azure tiene traccia degli eventi del database e li registra in un log di controllo nell'account di archiviazione di Azure. Inoltre, il servizio di controllo:

  • Consente di gestire la conformità alle normative, ottenere informazioni sull'attività del database e rilevare discrepanze e anomalie che possono indicare problemi aziendali o possibili violazioni della sicurezza.
  • Supporta e facilita il rispetto degli standard di conformità, pur non garantendo la conformità. Per altre informazioni, visitare il Centro protezione di Azure di Microsoft, dove è possibile trovare l'elenco più aggiornato di certificazioni di conformità dell’istanza gestita di SQL.

Importante

I servizi di controllo per il database SQL di Azure, Azure Synapse e Istanza gestita di SQL di Azure sono ottimizzati per la disponibilità e le prestazioni. Nei periodi di attività molto intensa o un carico di rete elevato, Database SQL di Azure, Azure Synapse e Istanza gestita di SQL di Azure consentono il proseguimento delle operazioni e potrebbe non registrare alcuni eventi controllati.

Configurare il controllo per il server in Archiviazione di Azure

La sezione seguente descrive la configurazione del controllo per l'istanza gestita.

  1. Vai al portale di Azure.

  2. Creare un contenitore di Archiviazione di Azure in cui archiviare i log di controllo.

    1. Passare all'account di archiviazione di Azure in cui si vogliono archiviare i log di controllo.

      • Usare un account di archiviazione nella stessa area dell'istanza gestita per evitare operazioni di lettura e scrittura tra aree diverse.
      • Se l'account di archiviazione si trova dietro una rete virtuale o un firewall, vedere Concedere l'accesso da una rete virtuale.
      • Se si cambia il periodo di conservazione da 0 (conservazione illimitata) a qualsiasi altro valore, tenere presente che la conservazione verrà applicata solo ai log scritti dopo tale modifica (i log scritti durante il periodo in cui la conservazione è stata impostata su illimitata vengono conservati, anche dopo l'abilitazione della conservazione).
    2. Nell'account di archiviazione passare a Panoramica e selezionare BLOB.

      Screenshot showing the Azure Blobs widget.

    3. Nel menu in alto selezionare + Contenitore per creare un nuovo contenitore.

      Screenshot showing the Create blob container icon.

    4. Specificare un Nome per il contenitore, impostare Livello di accesso pubblico su Privato e quindi selezionare OK.

      Screenshot showing the Create blob container configuration.

    Importante

    I clienti che desiderano configurare un archivio log non modificabile per gli eventi di controllo a livello di server o di database devono seguire le istruzioni fornite da Archiviazione di Azure. (Assicurarsi di aver selezionato Consenti aggiunte aggiuntive quando si configura l'archiviazione BLOB non modificabile).

  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):

    • Configurare l'archiviazione BLOB per i log di controllo usando T-SQL:

      1. Nell'elenco dei contenitori selezionare il contenitore appena creato e quindi selezionare Proprietà del contenitore.

        Screenshot showing the Blob container properties button.

      2. Copiare l'URL del contenitore selezionando l'icona di copia e salvarlo (ad esempio, in Blocco note) per uso futuro. Il formato dell'URL del contenitore deve essere https://<StorageName>.blob.core.windows.net/<ContainerName>

        Screenshot showing the Blob container copy URL.

      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:

        • Passare all'account di Archiviazione di Azure in cui è stato creato il contenitore nel passaggio precedente.

        • Fare clic su Firma di accesso condiviso nel menu Impostazioni di archiviazione.

          Shared access signature icon in storage settings menu.

        • Configurare SAS come segue:

          • Servizi consentiti: BLOB

          • Data di inizio: per evitare problemi correlati al fuso orario, usare la data del giorno precedente

          • Data di fine: scegliere la data di scadenza del token di firma di accesso condiviso

            Nota

            Rinnovare il token alla scadenza per evitare errori di controllo.

          • Selezionare Genera firma di accesso condiviso.

            Screenshot showing the SAS configuration.

        • Il token di firma di accesso condiviso viene visualizzato nella parte inferiore. Copiare il token selezionando l'icona di copia e salvarlo (ad esempio, in Blocco note) per uso futuro.

          Screenshot showing how to copy SAS token.

          Importante

          Rimuovere il carattere punto interrogativo (?) dall'inizio del token.

      4. Connettersi all'istanza gestita tramite SQL Server Management Studio o qualsiasi altro strumento supportato.

      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:

        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. Se non specificato diversamente, l'impostazione predefinita di RETENTION_DAYS è 0 (conservazione illimitata):

        CREATE SERVER AUDIT [<your_audit_name>]
        TO URL (PATH ='<container_url>', RETENTION_DAYS = <integer>);
        GO
        
      7. Proseguire con la creazione di una specifica di controllo server o una specifica di controllo database.

    • Configurare l'archiviazione BLOB per i log di controllo tramite SQL Server Management Studio 18 o versioni successive:

      1. Connettersi all'istanza gestita tramite l'interfaccia utente di SQL Server Management Studio.

      2. Espandere il nodo radice di Esplora oggetti.

      3. Espandere il nodo Sicurezza, fare clic con il pulsante destro del mouse sul nodo Controlli e scegliere Nuovo controllo:

        Screenshot showing how to Expand security and audit node.

      4. Verificare che in Destinazione controllo sia selezionata l'opzione URL e fare clic su Sfoglia:

        Screenshot showing how to Browse Azure Storage.

      5. (Facoltativo) Accedere all'account di Azure:

        Screenshot showing how to Sign in to Azure.

      6. Selezionare una sottoscrizione, un account di archiviazione e un contenitore BLOB dagli elenchi a discesa oppure creare un contenitore personalizzato selezionando Crea. Una volta terminato, selezionare OK:

        Select Azure subscription, storage account, and blob container.

      7. Nella finestra di dialogo Crea controllo selezionare OK.

        Nota

        Quando si usa l'interfaccia utente di SQL Server Management Studio per creare il controllo, verrà creata automaticamente una credenziale per il contenitore con chiave di firma di accesso condiviso.

      8. Dopo aver configurato il contenitore BLOB come destinazione dei log di controllo, creare e abilitare una specifica di controllo server o una specifica di controllo database come nel caso di SQL Server:

    • Guida di T-SQL per la creazione di specifiche di controllo server

    • Guida di T-SQL per la creazione di specifiche di controllo database

  4. Abilitare il controllo server creato nel passaggio 3:

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

Per informazioni aggiuntive:

Controllo delle operazioni del supporto tecnico Microsoft

Il controllo delle operazioni di supporto tecnico Microsoft per Istanza gestita di SQL consente di controllare le operazioni dei tecnici del supporto Microsoft quando devono accedere al server durante una richiesta di supporto. L'uso di questa funzionalità, insieme al controllo, permette una maggiore trasparenza nella forza lavoro e il rilevamento delle anomalie, la visualizzazione delle tendenze e la prevenzione della perdita dei dati.

Per abilitare il controllo delle operazioni di supporto tecnico Microsoft, passare a Crea controllo in Sicurezza>Controllo nell'istanza gestita di SQL e selezionare Operazioni di supporto Microsoft.

Screenshot showing the Create audit icon.

Nota

È necessario creare un controllo server separato per il controllo delle operazioni Microsoft. Se si abilita questa casella di controllo per un controllo esistente, il controllo verrà sovrascritto e verranno sovrascritti solo le operazioni di supporto dei log.

Configurare il controllo per il server in Hub eventi o Log di Monitoraggio di Azure

I log di controllo provenienti da un'istanza gestita possono anche essere inviati ad Hub eventi di Azure o Log di Monitoraggio di Azure. Questa sezione illustra come configurarli:

  1. All'interno del portale di Azure passare all'istanza gestita.

  2. Selezionare Impostazioni di diagnostica.

  3. Selezionare Attiva diagnostica. Se la diagnostica è già abilitata verrà invece visualizzata l'opzione + Aggiungi impostazione di diagnostica.

  4. Selezionare SQLSecurityAuditEvents nell'elenco dei log.

  5. Se si configurano le operazioni di supporto Microsoft, selezionare Log di controllo delle operazioni DevOps nell'elenco dei log.

  6. Selezionare una destinazione per gli eventi di controllo: Hub eventi, Log di Monitoraggio di Azure o entrambi. Configurare per ogni destinazione i parametri obbligatori (ad esempio, area di lavoro Log Analytics).

  7. Seleziona Salva.

    Screenshot showing how to configure diagnostic settings.

  8. Connettersi all'istanza gestita usando SQL Server Management Studio (SSMS) o qualsiasi altro client supportato.

  9. Eseguire l'istruzione T-SQL seguente per creare un controllo del server:

    CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR;
    GO
    
  10. Creare e abilitare una specifica di controllo server o di controllo database come si farebbe per SQL Server:

  11. Abilitare il controllo server creato nel passaggio 8:

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

Configurare il controllo con T-SQL

-- Create audit without OPERATOR_AUDIT - Will audit standard SQL Audit events
USE [master];
GO

CREATE SERVER AUDIT testingauditnodevops TO EXTERNAL_MONITOR;
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_nodevops
FOR SERVER AUDIT testingauditnodevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditnodevops
    WITH (STATE = ON);
GO

-- Create separate audit without OPERATOR_AUDIT ON - Will audit Microsoft Support Operations
USE [master]

CREATE SERVER AUDIT testingauditdevops TO EXTERNAL_MONITOR
    WITH (OPERATOR_AUDIT = ON);
GO

CREATE SERVER AUDIT SPECIFICATION testingaudit_Specification_devops
FOR SERVER AUDIT testingauditdevops ADD (SUCCESSFUL_LOGIN_GROUP),
    ADD (BATCH_COMPLETED_GROUP),
    ADD (FAILED_LOGIN_GROUP)
WITH (STATE = ON);
GO

ALTER SERVER AUDIT testingauditdevops
    WITH (STATE = ON);
GO

Utilizzo di log di controllo

Utilizzo dei log archiviati in Archiviazione di Azure

Per visualizzare i log di controllo dei BLOB sono disponibili diversi metodi.

Utilizzo dei log archiviati in Hub eventi

Per utilizzare i dati dei log di controllo da Hub eventi, è necessario configurare un flusso per utilizzare gli eventi e scriverli in una destinazione. Per altre informazioni, vedere la documentazione di Hub eventi di Azure.

Usare e analizzare i log archiviati in Log di Monitoraggio di Azure

Se i log di controllo vengono scritti in Log di Monitoraggio di Azure, saranno disponibili nell'area di lavoro Log Analytics, in cui è possibile eseguire ricerche avanzate sui dati di controllo. Come punto di partenza passare all'area di lavoro Log Analytics. Nella sezione Generale selezionare Log e immettere una query di base, ad esempio: search "SQLSecurityAuditEvents" per visualizzare i log di controllo.

Log di Monitoraggio di Azure consente di ottenere informazioni operative in tempo reale tramite funzionalità di ricerca integrate e dashboard personalizzati per analizzare rapidamente milioni di record in tutti i carichi di lavoro e i server. Per ulteriori informazioni sul linguaggio di ricerca e i comandi dei log di Monitoraggio di Azure, vedere Informazioni di riferimento sulla ricerca nei log di Monitoraggio di Azure.

Nota

Questo articolo è stato aggiornato di recente in modo da usare il termine log di Monitoraggio di Azure anziché 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. Si sta procedendo a un aggiornamento della terminologia per riflettere meglio il ruolo dei log in Monitoraggio di Azure. Per informazioni dettagliate, vedere Modifiche della terminologia di Monitoraggio di Azure.

Controllo delle differenze tra i database in Istanza gestita di SQL di Azure e i database in SQL Server

Le principali differenze tra il controllo nei database nel database in Istanza gestita di SQL di Azure e quelli in SQL Server sono le seguenti:

  • Con Istanza gestita di SQL di Azure, il controllo opera a livello di server e archivia i file .xel in Archiviazione BLOB di Azure.
  • In SQL Server, il controllo viene eseguito a livello del server, ma archivia gli eventi nei log eventi del file system o di Windows.

Il controllo XEvent nell'istanza gestita supporta le destinazioni di Archivio BLOB di Azure. I log di file e di Windows non sono supportati.

Le principali differenze nella sintassi CREATE AUDIT per il controllo in Archivio BLOB di Azure sono le seguenti:

  • È 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 .xel.
  • Viene fornita una nuova sintassi TO EXTERNAL MONITOR per abilitare i target Hub eventi e Log di Monitoraggio di Azure.
  • La sintassi TO FILEnon è supportata perché Istanza gestita di SQL di Azure non può accedere alle condivisioni file di Windows.
  • L'opzione Shutdown non è supportata.
  • Un valore di queue_delay uguale a 0 non è supportato.

Passaggi successivi