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:Database SQL di Azure
Istanza gestita di SQL di Azure
Il controllo del database SQL di Azure tiene traccia degli eventi che si verificano nel database e li registra in un log di controllo nell'account di archiviazione di Azure, o li invia a Hub eventi o Log Analytics per l'elaborazione downstream e l'analisi.
Convenzioni di denominazione
Controllo BLOB
I log di controllo archiviati nell'archiviazione BLOB di Azure vengono archiviati in un contenitore denominato sqldbauditlogs nell’account di archiviazione di Azure. La gerarchia delle directory all'interno del contenitore è nel formato <ServerName>/<DatabaseName>/<AuditName>/<Date>/. Il formato del nome file BLOB è <CreationTime>_<FileNumberInSession>.xel, dove CreationTime è in formato UTC hh_mm_ss_ms e FileNumberInSession è un indice di esecuzione nel caso in cui i log di sessione si estendano su più file BLOB.
Ad esempio, per il database Database1 nel Server1, il seguente è un possibile percorso valido:
Server1/Database1/SqlDbAuditing_ServerAudit_NoRetention/2019-02-03/12_23_30_794_0.xel
I log di controllo delle repliche di sola lettura vengono archiviati nello stesso contenitore. La gerarchia delle directory all'interno del contenitore è nel formato <ServerName>/<DatabaseName>/<AuditName>/<Date>/RO/. Il nome del file BLOB condivide lo stesso formato. I log di controllo delle repliche di sola lettura vengono archiviati nello stesso contenitore.
Hub eventi
Gli eventi di controllo vengono scritti nello spazio dei nomi e nell'hub eventi definito durante la configurazione di controllo e vengono acquisiti nel corpo degli eventi Apache Avro e archiviati usando la formattazione JSON con la codifica UTF-8. Per leggere i log di controllo, è possibile usare Avro Tools o strumenti simili in grado di elaborare tale formato.
Log Analytics
Gli eventi di controllo vengono scritti nell'area di lavoro Log Analytics definita durante la configurazione del controllo, nella tabella AzureDiagnostics con la categoria SQLSecurityAuditEvents, e la tabella con la categoria DevOpsOperationsAudit per le Operazioni di supporto tecnico Microsoft. Per altre informazioni utili sul linguaggio di ricerca e i comandi di Log Analytics, vedere Guida di riferimento alla ricerca in Log Analytics.
Campi del log di controllo
| Nome (BLOB) | Nome (Hub eventi/Log Analytics) | Descrizione | Tipo di BLOB | Tipo di Hub eventi/Log Analytics |
|---|---|---|---|---|
action_id |
action_id_s |
ID dell'azione. | varchar(4) |
string |
action_name |
action_name_s |
Nome dell'azione | N/D | string |
additional_information |
additional_information_s |
Qualsiasi informazione aggiuntiva sull'evento, archiviata in formato XML | nvarchar(4000) |
string |
affected_rows |
affected_rows_d |
Numero di righe interessate dalla query | bigint |
int |
application_name |
application_name_s |
Nome dell’applicazione client | nvarchar(128) |
string |
audit_schema_version |
audit_schema_version_d |
Sempre 1 | int |
int |
class_type |
class_type_s |
Tipo di entità controllabile in cui si verifica il controllo | varchar(2) |
string |
class_type_desc |
class_type_description_s |
Descrizione dell’entità controllabile in cui si verifica il controllo | N/D | string |
client_ip |
client_ip_s |
IP sorgente dell’applicazione client | nvarchar(128) |
string |
connection_id |
N/D | ID della connessione nel server | GUID |
N/D |
data_sensitivity_information |
data_sensitivity_information_s |
Tipi di informazioni ed etichette di riservatezza restituite dalla query di controllo, in base alle colonne classificate nel database. Informazioni sull'individuazione e la classificazione dei dati nel database SQL di Azure | nvarchar(4000) |
string |
database_name |
database_name_s |
Contesto del database in cui si è verificata l'azione | sysname |
string |
database_principal_id |
database_principal_id_d |
ID del contesto dell'utente del database in cui viene eseguita l'azione | int |
int |
database_principal_name |
database_principal_name_s |
Nome del contesto dell'utente del database in cui viene eseguita l'azione | sysname |
string |
duration_milliseconds |
duration_milliseconds_d |
Durata dell’esecuzione della query in millisecondi | bigint |
int |
event_time |
event_time_t |
Data e ora di attivazione dell'azione controllabile | datetime2 |
datetime |
host_name |
N/D | Nome host del client | string |
N/D |
is_column_permission |
is_column_permission_s |
Flag che indica se si tratta di un'autorizzazione a livello di colonna. 1 = vero, 0 = falso | bit |
string |
| N/D | is_server_level_audit_s |
Flag che indica se questo controllo è a livello di server | N/D | string |
object_ id |
object_id_d |
ID dell'entità in cui si è verificato il controllo. Sono inclusi gli oggetti server, i database, gli oggetti di database e gli oggetti dello schema. 0 se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto | int |
int |
object_name |
object_name_s |
Nome dell'entità in cui si è verificato il controllo. Sono inclusi gli oggetti server, i database, gli oggetti di database e gli oggetti dello schema. 0 se l'entità è il server stesso o se il controllo non viene eseguito a livello di oggetto | sysname |
string |
obo_middle_tier_app_id |
obo_middle_tier_app_id_s |
L'ID dell'applicazione di livello intermedio che si collegava a database SQL di Azure tramite OBO access. | varchar(120) |
string |
permission_bitmask |
permission_bitmask_s |
Se applicabile, visualizza le autorizzazioni concesse, negate o revocate. | varbinary(16) |
string |
response_rows |
response_rows_d |
Numero di righe restituite nel set di risultati | bigint |
int |
schema_name |
schema_name_s |
Contesto dello schema in cui si è verificata l'azione.
NULL per audit che avvengono al di fuori di uno schema |
sysname |
string |
| N/D | securable_class_type_s |
Oggetto securabile che si mappa all'oggetto class_type sottoposto a revisione |
N/D | string |
sequence_group_id |
sequence_group_id_g |
Identificatore univoco | varbinary |
GUID |
sequence_number |
sequence_number_d |
Viene tenuta traccia della sequenza dei record all'interno di un singolo record di controllo con dimensioni troppo elevate per il buffer di scrittura dei controlli. database SQL di Azure auditing memorizza 4000 caratteri di dati per i campi caratteri in un record di audit. Quando sono presenti più di 4000 caratteri, tutti i dati oltre i primi 4000 caratteri verranno troncati | int |
int |
server_instance_name |
server_instance_name_s |
Nome dell'istanza del server in cui si è verificato il controllo | sysname |
string |
server_principal_id |
server_principal_id_d |
ID del contesto dell'account di accesso utilizzato per eseguire l'azione | int |
int |
server_principal_name |
server_principal_name_s |
Account di accesso corrente | sysname |
string |
server_principal_sid |
server_principal_sid_s |
SID dell'account di accesso corrente | varbinary |
string |
session_id |
session_id_d |
ID della sessione in cui si è verificato l'evento | smallint |
int |
session_server_principal_name |
session_server_principal_name_s |
Entità server per la sessione | sysname |
string |
statement |
statement_s |
Istruzione T-SQL eseguita (se disponibile) | nvarchar(4000) |
string |
succeeded |
succeeded_s |
Indica se l'azione che ha generato l'evento è riuscita. Per gli eventi diversi da accesso e batch, riporta solo l'esito del controllo dell'autorizzazione, non l'operazione. 1 = Esito positivo, 0 = Esito negativo | bit |
string |
target_database_principal_id |
target_database_principal_id_d |
Il principale del database su cui viene eseguita l'operazioneGRANT//DENYREVOKE. 0 se non applicabile |
int |
int |
target_database_principal_name |
target_database_principal_name_s |
Utente di destinazione dell'azione.
NULL se non applicabile |
string |
string |
target_server_principal_id |
target_server_principal_id_d |
Entità server su cui viene eseguita l'operazioneGRANT/DENY/REVOKE. Se non applicabile, restituisce 0 |
int |
int |
target_server_principal_name |
target_server_principal_name_s |
Account di accesso di destinazione dell'azione.
NULL se non applicabile |
sysname |
string |
target_server_principal_sid |
target_server_principal_sid_s |
SID dell'account di accesso di destinazione.
NULL se non applicabile |
varbinary |
string |
transaction_id |
transaction_id_d |
Solo SQL Server (a partire dalla versione 2016) - 0 per database SQL di Azure | bigint |
int |
user_defined_event_id |
user_defined_event_id_d |
ID evento definito dall'utente passato come argomento a sp_audit_write.
NULL per gli eventi di sistema (impostazione predefinita) e non zero per l'evento definito dall'utente. Per altre informazioni, vedere sp_audit_write (Transact-SQL) |
smallint |
int |
user_defined_information |
user_defined_information_s |
Informazioni definite dall'utente passate come argomento a sp_audit_write.
NULL per gli eventi di sistema (impostazione predefinita) e non zero per l'evento definito dall'utente. Per altre informazioni, vedere sp_audit_write (Transact-SQL) |
nvarchar(4000) |
string |
Auditing in Azure Synapse Analytics
Per informazioni sul formato del log di audit in Azure Synapse Analytics, vedi Formato log di audit.
Passaggi successivi
Altre informazioni sul controllo del database SQL di Azure.