Condividi tramite


Inizia con l'auditing di Istanza gestita di SQL di Azure

Applica a:Istanza gestita di SQL di Azure

Questo articolo illustra come configurare audit con SQL Server Audit in Istanza gestita di SQL di Azure. Il controllo tiene traccia degli eventi del database e li scrive in un log di controllo nell'account di archiviazione Azure.

Impostare la verifica dell'istanza su Archiviazione di Azure

La sezione seguente descrive la configurazione del controllo nell'istanza gestita di SQL.

  1. Passare al portale Azure.

  2. Creare un Archiviazione di Azure container in cui vengono archiviati i log di controllo.

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

      • Usare un account di archiviazione nella stessa area dell'istanza gestita di SQL in modo da evitare letture/scritture tra aree.
      • Se l'account di archiviazione si trova dietro una rete virtuale o un firewall, consultare Concedi accesso da una rete virtuale.
      • Se si modifica il periodo di conservazione da 0 (conservazione illimitata) a qualsiasi altro valore, la conservazione verrà applicata solo ai log scritti dopo la modifica del valore di conservazione. I log scritti durante il periodo in cui la conservazione è stata impostata su un numero illimitato vengono mantenuti, anche dopo l'abilitazione della conservazione.
    2. Nell'account di archiviazione, vai a Panoramica e seleziona Blobs.

      Screenshot che mostra il widget Azure Blob.

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

      Screenshot dell'icona Crea contenitore di blob.

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

      Screenshot della configurazione di creazione del contenitore blob.

    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 instructions fornite da Archiviazione di Azure. Assicurarsi di selezionare Consenti aggiunte aggiuntive quando si configura l'archiviazione BLOB non modificabile.

  3. Dopo aver creato il contenitore per i log di controllo, è possibile configurarlo come destinazione per i log di controllo: using T-SQL o usando l'interfaccia utente 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 che mostra il pulsante delle proprietà del Contenitore Blob.

    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 che mostra l'URL del contenitore Blob da copiare.

    3. Generare un token Archiviazione di Azure SAS per concedere diritti di accesso all'account di archiviazione per l'istanza gestita di SQL:

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

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

        Icona Firma di accesso condiviso nel menu Impostazioni di archiviazione.

      • 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 SAS

          Nota

          Per evitare errori di controllo, rinnovare il token alla scadenza.

        • Selezionare Genera SAS.

          Screenshot che mostra la cofnigurazione di SAS

      • Il token SAS appare in basso. Copiare il token selezionando l'icona di copia e salvandola (ad esempio, nel Blocco note) per un uso futuro.

        Screenshot che mostra come copiare il token SAS.

        Importante

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

    4. Connettersi all'istanza gestita di SQL 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 usando SQL Server Management Studio 18 e versioni successive:

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

    2. Espandi 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 che mostra come espandere il nodo di sicurezza e controllo.

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

      Screenshot che illustra come esplorare Archiviazione di Azure.

    5. Accedi (facoltativo) al tuo account Azure:

      Screenshot che illustra come accedere a Azure.

    6. Selezionare una sottoscrizione, un account di archiviazione e un contenitore BLOB dall'elenco a discesa oppure creare un contenitore personalizzato selezionando Crea. Al termine, selezionare OK:

      Seleziona la sottoscrizione di Azure, l'account di archiviazione e il container BLOB.

    7. Nella finestra di dialogo Crea controllo selezionare OK.

      Nota

      Quando si usa l'interfaccia utente di SQL Server Management Studio per creare un audit, viene creata automaticamente una credenziale per il contenitore con una chiave SAS.

Dopo aver configurato il contenitore BLOB come destinazione per i log di controllo, creare e abilitare una specifica di controllo del server o una specifica di controllo del database come si farebbe per SQL Server:

Usare l'istruzione T-SQL seguente per abilitare il controllo del server:

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

Per informazioni aggiuntive:

Controllo delle operazioni di supporto tecnico Microsoft

Il controllo delle operazioni di supporto tecnico Microsoft per Istanza gestita di SQL consente di controllare le operazioni dei tecnici di Microsoft support 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 audit in Security>Audit nell'istanza di gestione SQL e selezionare Microsoft support operations.

Screenshot che mostra l’icona Crea audit.

Nota

È necessario creare una verifica del server separata per le operazioni di Microsoft. Se si abilita questa casella di controllo per un controllo esistente, sovrascrive il controllo e registra solo le operazioni di supporto.

Configurare il controllo per il server nei log di Event Hubs o di Monitoraggio di Azure

I log di controllo di un'istanza gestita di SQL possono essere inviati a Hub eventi di Azure o Monitoraggio di Azure log. Questa sezione descrive come eseguire questa configurazione:

  1. Passare al portale Azure all'istanza SQL gestita.

  2. Selezionare Impostazioni di diagnostica.

  3. Selezionare Attiva la diagnostica. Se la diagnostica è già abilitata, è disponibile +Aggiungi impostazione diagnostica.

  4. Selezionare SQLSecurityAuditEvents nell'elenco dei log.

  5. Se si configurano operazioni di supporto Microsoft, selezionare DevOps Operations Audit Logs nell'elenco dei log.

  6. Selezionare una destinazione per gli eventi di controllo: Hub eventi, log Monitoraggio di Azure o entrambi. Configurare per ogni destinazione i parametri obbligatori, ad esempio il workspace di Log Analytics.

  7. Seleziona Salva.

    Screenshot che mostra come configurare le impostazioni di diagnostica.

  8. Connettersi all'istanza gestita di SQL 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 del server o una specifica di controllo del 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

Consumo dei log di controllo

Utilizzare i 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 consumare i dati dei log di controllo da Event Hubs, è necessario configurare un flusso per consumare eventi e scriverli in una destinazione. Per altre informazioni, vedere la documentazione di Hub eventi di Azure.

Usare e analizzare i log archiviati nei log di Monitoraggio di Azure

Se i log di controllo vengono scritti in Monitoraggio di Azure log, sono 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.

Monitoraggio di Azure log offre informazioni operative in tempo reale usando la ricerca integrata e i dashboard personalizzati per analizzare facilmente milioni di record in tutti i carichi di lavoro e i server. Per ulteriori informazioni sulla lingua e sui comandi di ricerca dei log di Monitoraggio di Azure, vedere riferimento per la ricerca dei log di Monitoraggio di Azure.