Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Si applica a:Istanza gestita di SQL di Azure SQL
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
Il controllo di Istanza gestita di SQL di Azure è ottimizzato per la disponibilità e le prestazioni. Durante un'attività elevata o un carico di rete elevato, Istanza gestita di SQL di Azure consente alle operazioni di continuare e potrebbe non registrare alcuni eventi controllati.
Configurare il controllo per l'istanza in Archiviazione di Azure
La sezione seguente descrive la configurazione del controllo nell'istanza gestita di SQL.
Vai al portale di Azure.
Creare un contenitore di Archiviazione di Azure in cui archiviare i log di controllo.
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 di SQL in modo da evitare letture/scritture tra aree.
- Se l'account di archiviazione si trova dietro una rete virtuale o un firewall, vedere Concedere l'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.
Nell'account di archiviazione passare a Panoramica e selezionare BLOB.
Nel menu in alto selezionare + Contenitore per creare un nuovo contenitore.
Specificare un Nome per il contenitore, impostare Livello di accesso pubblico su Privato e quindi selezionare OK.
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 selezionare Consenti aggiunte aggiuntive quando si configura l'archiviazione BLOB non modificabile.
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:
Nell'elenco dei contenitori selezionare il contenitore appena creato e quindi selezionare Proprietà del contenitore.
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>
Generare un token SAS di Archiviazione di Azure per concedere all'istanza gestita di SQL i diritti di accesso sull'account di archiviazione:
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.
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
Per evitare errori di controllo, rinnovare il token alla scadenza.
Selezionare Genera firma di accesso condiviso.
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.
Importante
Rimuovere il carattere punto interrogativo (
?) dall'inizio del token.
Connettersi all'istanza gestita di SQL tramite SQL Server Management Studio o qualsiasi altro strumento supportato.
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>' GOEseguire 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>); GOProseguire 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:
Connettersi all'istanza gestita di SQL usando l'interfaccia utente di SQL Server Management Studio.
Espandere la nota radice di Esplora oggetti.
Espandere il nodo Sicurezza, fare clic con il pulsante destro del mouse sul nodo Controlli e scegliere Nuovo controllo:
Verificare che in Destinazione controllo sia selezionata l'opzione URL e fare clic su Sfoglia:
(Facoltativo) Accedere all'account di Azure:
Selezionare una sottoscrizione, un account di archiviazione e un contenitore BLOB dagli elenchi a discesa oppure creare un contenitore personalizzato selezionando Crea. Al termine, selezionare OK:
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:
- Guida di T-SQL per la creazione di specifiche di controllo server
- Guida di T-SQL per la creazione di specifiche di controllo database
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 differenze tra Istanza gestita di SQL di Azure e un database in SQL Server
- CREATE SERVER AUDIT
- ALTER SERVER AUDIT
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.
Nota
È necessario creare un controllo server separato per il controllo delle operazioni 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 in Hub eventi o Log di Monitoraggio di Azure
I log di controllo di un'istanza gestita di SQL possono essere inviati a Hub eventi di Azure o ai log di Monitoraggio di Azure. Questa sezione descrive come eseguire questa configurazione:
Nel portale di Azure, navigare all'istanza gestita SQL.
Selezionare Impostazioni di diagnostica.
Selezionare Attiva diagnostica. Se la diagnostica è già abilitata, è disponibile +Aggiungi impostazione diagnostica.
Selezionare SQLSecurityAuditEvents nell'elenco dei log.
Se si configurano le operazioni di supporto Microsoft, selezionare DevOps operations Audit Logs (Log di controllo delle operazioni DevOps ) nell'elenco dei log.
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).
Seleziona Salva.
Connettersi all'istanza gestita di SQL usando SQL Server Management Studio (SSMS) o qualsiasi altro client supportato.
Eseguire l'istruzione T-SQL seguente per creare un controllo del server:
CREATE SERVER AUDIT [<your_audit_name>] TO EXTERNAL_MONITOR; GOCreare e abilitare una specifica di controllo server o di controllo database come si farebbe per SQL Server:
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.
È possibile usare la funzione di sistema sys.fn_get_audit_file (T-SQL) per restituire i dati del log di controllo in formato tabulare.
È possibile esplorare i log di controllo con uno strumento come Azure Storage Explorer. In Archiviazione di Azure i log di controllo vengono salvati come raccolta di file BLOB in un contenitore appositamente definito per l'archiviazione di questi log. 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.
Per l'elenco completo dei metodi di consumo del log di controllo, fare riferimento a Introduzione al controllo del database SQL di Azure.
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 in Log di Monitoraggio di Azure
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. 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.
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
.xelin 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 URLche 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 MONITORper 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_delayuguale a 0 non è supportato.