Condividi tramite


Azioni e gruppi di azioni di SQL Server Audit

La caratteristica SQL Server Audit consente di controllare gruppi di eventi ed eventi singoli a livello di server e di database. Per ulteriori informazioni, vedere Informazioni su SQL Server Audit.

I controlli di SQL Server sono costituiti da zero o da più attività di controllo. Tali attività possono essere un gruppo di azioni, ad esempio Server_Object_Change_Group, oppure azioni singole, ad esempio operazioni SELECT da eseguire in una tabella.

Nota

Server_Object_Change_Group include le operazioni CREATE, ALTER e DROP per qualsiasi oggetto server (database o endpoint).

Ai controlli possono essere associate le categorie di azioni seguenti:

  • Azioni a livello di server, che includono operazioni server, ad esempio modifiche relative alla gestione e operazioni di accesso e di disconnessione.

  • Azioni a livello di database, che includono operazioni DML (Data Manipulation Language) e DDL (Data Definition Language).

  • Azioni a livello di controllo, ovvero le azioni del processo di controllo.

Alcune azioni eseguite sui componenti di controllo di SQL Server vengono verificate in modo intrinseco in un controllo specifico. In questi casi gli eventi di controllo si verificano automaticamente poiché l'evento si è verificato nell'oggetto padre.

Di seguito sono elencate le azioni controllate in modo intrinseco:

  • Modifica stato del controllo del server (impostazione dello stato su ON oppure OFF)

Di seguito sono elencati gli eventi non controllati in modo intrinseco:

  • CREATE SERVER AUDIT SPECIFICATION

  • ALTER SERVER AUDIT SPECIFICATION

  • DROP SERVER AUDIT SPECIFICATION

  • CREATE DATABASE AUDIT SPECIFICATION

  • ALTER DATABASE AUDIT SPECIFICATION

  • DROP DATABASE AUDIT SPECIFICATION

Al momento della creazione, tutti i controlli sono disabilitati.

Gruppi di azioni di controllo a livello di server

I gruppi di azioni di controllo a livello di server sono analoghi alle classi degli eventi di controllo della sicurezza di SQL Server. Per ulteriori informazioni, vedere Guida di riferimento alla classe di evento SQL Server

Nella tabella seguente vengono descritti i gruppi di azioni di controllo a livello di server e, ove applicabile, viene specificata la classe di evento di SQL Server equivalente.

Nome del gruppo di azioni

Descrizione

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP

Questo evento viene generato ogni volta che una password viene modificata per un ruolo applicazione. Equivale a Classe di evento Audit App Role Change Password.

AUDIT_CHANGE_GROUP

Questo evento viene generato ogni volta che un controllo viene creato, modificato o eliminato, nonché ogni volta che la specifica di un controllo viene creata, modificata o eliminata. Qualsiasi modifica al controllo viene verificata nel controllo stesso. Equivale a Classe di evento Audit Change Audit.

BACKUP_RESTORE_GROUP

Questo evento viene generato ogni volta che viene eseguito un comando per il backup o il ripristino. Equivale a Evento Audit Backup/Restore.

BROKER_LOGIN_GROUP

Questo evento viene generato per segnalare i messaggi di controllo correlati alla sicurezza del trasporto di Service Broker. Equivale a Classe di evento Audit Broker Login.

DATABASE_CHANGE_GROUP

Questo evento viene generato ogni volta che un database viene creato, modificato o eliminato. L'evento viene generato ogni volta che qualsiasi database viene creato, modificato o eliminato. Equivale a Classe di evento Audit Database Management.

DATABASE_MIRRORING_LOGIN_GROUP

Questo evento viene generato per segnalare i messaggi di controllo correlati alla sicurezza del trasporto del mirroring del database. Equivale a Classe di evento Audit Database Mirroring Login.

DATABASE_OBJECT_ACCESS_GROUP

Questo evento viene generato a ogni accesso a oggetti di database, ad esempio tipi di messaggio, assembly e contratti.

Questo evento viene generato per qualsiasi accesso a qualsiasi database.

NotaNota
Questa situazione potrebbe provocare la creazione di record di controllo di dimensioni elevate.

Equivale a Classe di evento Audit Database Object Access.

DATABASE_OBJECT_CHANGE_GROUP

Questo evento viene generato quando si esegue un'istruzione CREATE, ALTER o DROP su oggetti di database, ad esempio schemi. L'evento viene generato ogni volta che un oggetto di database viene creato, modificato o eliminato.

NotaNota
Questa situazione può provocare la creazione di un numero elevato di record di controllo.

Equivale a Classe di evento Audit Database Object Management.

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

Questo evento viene generato in caso di modifica del proprietario di oggetti nell'ambito del database. L'evento viene generato in caso di qualsiasi modifica del proprietario di oggetti per qualsiasi database del server. Equivale a Classe di evento Audit Database Object Take Ownership.

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

Questo evento viene generato quando è stata eseguita un'istruzione GRANT, REVOKE o DENY per oggetti di database, ad esempio assembly o schemi. Questo evento viene generato per qualsiasi modifica alle autorizzazioni per gli oggetti per qualsiasi database del server. Equivale a Classe di evento Audit Database Object GDR.

DATABASE_OPERATION_GROUP

Questo evento viene generato quando vengono eseguite operazioni in un database, ad esempio il checkpoint o la sottoscrizione di notifica delle query. L'evento viene generato in caso di qualsiasi operazione eseguita su qualsiasi database. Equivale a Classe di evento Audit Database Operation.

DATABASE_OWNERSHIP_CHANGE_GROUP

Questo evento viene generato quando si utilizza l'istruzione ALTER AUTHORIZATION per modificare il proprietario di un database e quando vengono controllate le autorizzazioni necessarie a tale scopo. L'evento viene generato in caso di qualsiasi modifica del proprietario del database per qualsiasi database del server. Equivale a Classe di evento Audit Change Database Owner.

DATABASE_PERMISSION_CHANGE_GROUP

Questo evento viene generato ogni volta che una qualsiasi entità di SQL Server esegue un'istruzione GRANT, REVOKE o DENY in relazione a un'autorizzazione. Questa situazione si applica ad eventi relativi esclusivamente a database, ad esempio la concessione di autorizzazioni su un database.

Questo evento viene generato per qualsiasi modifica alle autorizzazioni del database (evento GDR) per qualsiasi database del server. Equivale a Classe di evento Audit Database Scope GDR.

DATABASE_PRINCIPAL_CHANGE_GROUP

Questo evento viene generato quando in un database vengono create, modificate o eliminate entità, quali gli utenti. Equivale a Classe di evento Audit Database Principal Management. Equivale anche alla classe di evento Audit Add DB Principal, generata in relazione alle stored procedure deprecate sp_grantdbaccess, sp_revokedbaccess, sp_addPrincipal e sp_dropPrincipal.

Questo evento viene generato ogni volta che un ruolo del database viene aggiunto o rimosso utilizzando le stored procedure sp_addrole, sp_droprole. L'evento viene generato ogni volta che una qualsiasi entità di database viene creata, modificata o eliminata da un database. Equivale a Classe di evento Audit Add Role.

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

Questo evento viene generato in presenza di un'operazione di rappresentazione nell'ambito del database, ad esempio EXECUTE AS <entità> o SETPRINCIPAL. L'evento viene generato per le rappresentazioni eseguite in qualsiasi database. Equivale a Classe di evento Audit Database Principal Impersonation.

DATABASE_ROLE_MEMBER_CHANGE_GROUP

Questo evento viene generato ogni volta che un account di accesso viene aggiunto o rimosso da un ruolo del database. Questa classe di evento viene generata per le stored procedure sp_addrolemember, sp_changegroup e sp_droprolemember. L'evento viene generato in corrispondenza di qualsiasi modifica ai membri del ruolo del database in qualsiasi database. Equivale a Classe di evento Audit Add Member to DB Role.

DBCC_GROUP

Questo evento viene generato ogni volta che cui un'entità esegue un comando DBCC. Equivale a Classe di evento Audit DBCC.

FAILED_LOGIN_GROUP

Indica che un'entità ha tentato di accedere a SQL Server e l'operazione ha avuto esito negativo. Gli eventi di questa classe vengono generati da nuove connessioni o da connessioni riutilizzate da un pool di connessioni. Equivale a Classe di evento Audit Login Failed.

FULLTEXT_GROUP

Indica che è stato generato un evento fulltext. Equivale alla classe di evento Audit Fulltext.

LOGIN_CHANGE_PASSWORD_GROUP

Questo evento viene generato ogni volta che una password di accesso viene modificata tramite l'istruzione ALTER LOGIN o la stored procedure sp_password. Equivale a Classe di evento Audit Login Change Password.

LOGOUT_GROUP

Indica che un'entità ha effettuato la disconnessione da SQL Server. Gli eventi di questa classe vengono generati da nuove connessioni o da connessioni riutilizzate da un pool di connessioni. Equivale a Classe di evento Audit Logout.

SCHEMA_OBJECT_ACCESS_GROUP

Questo evento viene generato ogni volta che nello schema è stata utilizzata un'autorizzazione per gli oggetti. Equivale a Classe di evento Audit Schema Object Access.

SCHEMA_OBJECT_CHANGE_GROUP

Questo evento viene generato quando si esegue un'operazione CREATE, ALTER o DROP su uno schema. Equivale a Classe di evento Audit Schema Object Management.

Questo evento viene generato sugli oggetti dello schema. Equivale a Classe di evento Audit Object Derived Permission.

Questo evento viene generato ogni volta che uno schema di un database subisce una modifica. Equivale a Classe di evento Audit Statement Permission.

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

Questo evento viene generato quando vengono controllate le autorizzazioni per la modifica del proprietario dell'oggetto dello schema, ad esempio una tabella, una procedura o una funzione. Questa situazione si verifica quando si assegna un proprietario a un oggetto tramite l'istruzione ALTER AUTHORIZATION. L'evento viene generato in caso di qualsiasi modifica del proprietario dello schema per qualsiasi database del server. Equivale a Classe di evento Audit Schema Object Take Ownership.

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

Questo evento viene generato ogni volta che un'istruzione GRANT, DENY o REVOKE viene eseguita per un oggetto dello schema. Equivale a Classe di evento Audit Schema Object GDR.

SERVER_OBJECT_CHANGE_GROUP

Questo evento viene generato per operazioni CREATE, ALTER o DROP sugli oggetti server. Equivale a Classe di evento Audit Server Object Management.

SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP

Questo evento viene generato in caso di modifica del proprietario degli oggetti nell'ambito del server. Equivale a Classe di evento Audit Server Object Take Ownership.

SERVER_OBJECT_PERMISSION_CHANGE_GROUP

Questo evento viene generato ogni volta che una qualsiasi entità di SQL Server esegue un'istruzione GRANT, REVOKE o DENY in relazione a un'autorizzazione per l'oggetto server. Equivale a Classe di evento Audit Server Object GDR.

SERVER_OPERATION_GROUP

Questo evento viene generato quando si utilizzano operazioni di controllo della sicurezza, ad esempio la modifica di impostazioni, risorse, opzioni per l'accesso esterno o autorizzazioni. Equivale a Classe di evento Audit Server Operation.

SERVER_PERMISSION_CHANGE_GROUP

Questo evento viene generato quando viene eseguita un'istruzione GRANT, REVOKE o DENY in relazione alle autorizzazioni nell'ambito del server, ad esempio in caso di creazione di un account di accesso. Equivale a Classe di evento Audit Server Scope GDR.

SERVER_PRINCIPAL_CHANGE_GROUP

Questo evento viene generato in caso di creazione, modifica o eliminazione di entità del server. Equivale a Classe di evento Audit Server Principal Management.

Questo evento viene generato quando in un'entità viene eseguita la stored procedure p_defaultdb or sp_defaultlanguage o l'istruzione ALTER LOGIN. Equivale a Classe di evento Audit Addlogin.

Questo evento viene generato nelle stored procedure sp_addlogin e sp_droplogin. Equivale anche a Classe di evento Audit Login Change Property.

Questo evento viene generato per la stored procedure sp_grantlogin, sp_revokelogin o sp_denylogin. Equivale a Classe di evento Audit Login GDR.

SERVER_PRINCIPAL_IMPERSONATION_GROUP

Questo evento viene generato in presenza di una rappresentazione nell'ambito del server, ad esempio EXECUTE AS <account di accesso>. Equivale a Classe di evento Audit Server Principal Impersonation.

SERVER_ROLE_MEMBER_CHANGE_GROUP

Questo evento viene generato ogni volta che un account di accesso viene aggiunto o rimosso da un ruolo predefinito del server. Questo evento viene generato per le stored procedure sp_addsrvrolemember e sp_dropsrvrolemember. Equivale a Classe di evento Audit Add Login to Server Role.

SERVER_STATE_CHANGE_GROUP

Questo evento viene generato quando lo stato del servizio di SQL Server viene modificato. Equivale a Classe di evento Audit Server Starts and Stops.

SUCCESSFUL_LOGIN_GROUP

Indica che un'entità ha eseguito in modo corretto l'accesso a SQL Server. Gli eventi di questa classe vengono generati da nuove connessioni o da connessioni riutilizzate da un pool di connessioni. Equivale a Classe di evento Audit Login.

TRACE_CHANGE_GROUP

Questo evento viene generato per tutte le istruzioni che controllano l'autorizzazione ALTER TRACE. Equivale a Classe di evento Audit Server Alter Trace.

Considerazioni

I gruppi di azioni a livello di server comprendono azioni relative a un'istanza di SQL Server. Qualsiasi controllo dell'accesso agli oggetti dello schema in un database, ad esempio, viene registrato se il gruppo di azioni appropriato viene aggiunto a una specifica del controllo del server. In una specifica del controllo del database vengono registrati solo gli accessi agli oggetti dello schema del database specifico.

Le azioni a livello di server non consentono di applicare filtri dettagliati sulle azioni a livello di database. Per implementare l'applicazione di filtri dettagliati sull'azione, è necessario un controllo a livello di database, ad esempio un controllo delle azioni SELECT nella tabella Customers per gli account di accesso nel gruppo Employee. In una specifica del controllo di un database utente non includere oggetti con ambito server, ad esempio viste di sistema.

Gruppi di azioni di controllo a livello di database

I gruppi di azioni di controllo a livello di database sono analoghi alle classi degli eventi di controllo della sicurezza di SQL Server. Per ulteriori informazioni sulle classi degli eventi, vedere Guida di riferimento alla classe di evento SQL Server.

Nella tabella seguente vengono descritti i gruppi di azioni di controllo a livello di database e, dove applicabile, viene specificata la classe di evento di SQL Server equivalente.

Nome del gruppo di azioni

Descrizione

APPLICATION_ROLE_CHANGE_PASSWORD_GROUP

Questo evento viene generato ogni volta che una password viene modificata per un ruolo applicazione. Equivale a Classe di evento Audit App Role Change Password.

AUDIT_CHANGE_GROUP

Questo evento viene generato ogni volta che un controllo viene creato, modificato o eliminato, nonché ogni volta che la specifica di un controllo viene creata, modificata o eliminata. Qualsiasi modifica al controllo viene verificata nel controllo stesso. Equivale a Classe di evento Audit Change Audit.

BACKUP_RESTORE_GROUP

Questo evento viene generato ogni volta che viene eseguito un comando per il backup o il ripristino. Equivale a Evento Audit Backup/Restore.

DATABASE_CHANGE_GROUP

Questo evento viene generato ogni volta che un database viene creato, modificato o eliminato. Equivale a Classe di evento Audit Database Management.

DATABASE_OBJECT_ACCESS_GROUP

Questo evento viene generato ogni volta che viene eseguito l'accesso a oggetti di database, ad esempio certificati e chiavi asimmetriche. Equivale a Classe di evento Audit Database Object Access.

DATABASE_OBJECT_CHANGE_GROUP

Questo evento viene generato quando si esegue un'istruzione CREATE, ALTER o DROP su oggetti di database, ad esempio schemi. Equivale a Classe di evento Audit Database Object Management.

DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP

Questo evento viene generato in caso di modifica del proprietario di oggetti nell'ambito del database. Equivale a Classe di evento Audit Database Object Take Ownership.

DATABASE_OBJECT_PERMISSION_CHANGE_GROUP

Questo evento viene generato quando è stata eseguita un'istruzione GRANT, REVOKE o DENY per oggetti di database, ad esempio assembly o schemi. Equivale a Classe di evento Audit Database Object GDR.

DATABASE_OPERATION_GROUP

Questo evento viene generato quando vengono eseguite operazioni in un database, ad esempio il checkpoint o la sottoscrizione di notifica delle query. Equivale a Classe di evento Audit Database Operation.

DATABASE_OWNERSHIP_CHANGE_GROUP

Questo evento viene generato quando si utilizza l'istruzione ALTER AUTHORIZATION per modificare il proprietario di un database e quando vengono controllate le autorizzazioni necessarie a tale scopo. Equivale a Classe di evento Audit Change Database Owner.

DATABASE_PERMISSION_CHANGE_GROUP

Questo evento viene generato ogni volta che un qualsiasi utente di SQL Server esegue un'istruzione GRANT, REVOKE o DENY in relazione a un'autorizzazione per eventi relativi esclusivamente a database, ad esempio la concessione di autorizzazioni su un database. Equivale a Classe di evento Audit Database Scope GDR.

DATABASE_PRINCIPAL_CHANGE_GROUP

Questo evento viene generato quando in un database vengono create, modificate o eliminate entità, quali gli utenti. Equivale a Classe di evento Audit Database Principal Management. Equivale anche a Classe di evento Audit Add DB User, generata in relazione alle stored procedure deprecate sp_grantdbaccess, sp_revokedbaccess, sp_adduser e sp_dropuser.

Questo evento viene generato ogni volta che un ruolo del database viene aggiunto o rimosso utilizzando le stored procedure deprecate sp_addrole e sp_droprole. Equivale a Classe di evento Audit Add Role.

DATABASE_PRINCIPAL_IMPERSONATION_GROUP

Questo evento viene generato in presenza di una rappresentazione nell'ambito del database, ad esempio EXECUTE AS <utente> o SETUSER. Equivale a Classe di evento Audit Database Principal Impersonation.

DATABASE_ROLE_MEMBER_CHANGE_GROUP

Questo evento viene generato ogni volta che un account di accesso viene aggiunto o rimosso da un ruolo del database. Questa classe di evento è utilizzata con le stored procedure sp_addrolemember, sp_changegroup e sp_droprolemember. Equivale a Classe di evento Audit Add Member to DB Role

DBCC_GROUP

Questo evento viene generato ogni volta che cui un'entità esegue un comando DBCC. Equivale a Classe di evento Audit DBCC.

SCHEMA_OBJECT_ACCESS_GROUP

Questo evento viene generato ogni volta che nello schema è stata utilizzata un'autorizzazione per gli oggetti. Equivale a Classe di evento Audit Schema Object Access.

SCHEMA_OBJECT_CHANGE_GROUP

Questo evento viene generato quando si esegue un'operazione CREATE, ALTER o DROP su uno schema. Equivale a Classe di evento Audit Schema Object Management.

Questo evento viene generato sugli oggetti dello schema. Equivale a Classe di evento Audit Object Derived Permission e a Classe di evento Audit Statement Permission.

SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP

Questo evento viene generato quando vengono controllate le autorizzazioni per la modifica del proprietario dell'oggetto dello schema, ad esempio una tabella, una procedura o una funzione. Questa situazione si verifica quando si assegna un proprietario a un oggetto tramite l'istruzione ALTER AUTHORIZATION. Equivale a Classe di evento Audit Schema Object Take Ownership.

SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP

Questo evento viene generato ogni volta che viene eseguita un'istruzione GRANT, DENY o REVOKE per un oggetto dello schema. Equivale a Classe di evento Audit Schema Object GDR.

Azioni di controllo a livello di database

Le azioni a livello di database supportano il controllo di azioni specifiche direttamente in database, schemi e oggetti dello schema, ad esempio tabelle, viste, stored procedure, funzioni, stored procedure estese, code e sinonimi. Tipi, raccolte di XML Schema, database e schemi non sono controllati. Il controllo di oggetti dello schema può essere configurato nello schema o nel database, ovvero tutti gli eventi sugli oggetti dello schema contenuti nello schema o nel database specificato verranno controllati. Nella tabella seguente vengono descritte le azioni di controllo a livello di database.

Azione

Descrizione

SELECT

Questo evento viene generato ogni volta che viene eseguita un'istruzione SELECT.

UPDATE

Questo evento viene generato ogni volta che viene eseguita un'istruzione UPDATE.

INSERT

Questo evento viene generato ogni volta che viene eseguita un'istruzione INSERT.

DELETE

Questo evento viene generato ogni volta che viene eseguita un'istruzione DELETE.

EXECUTE

Questo evento viene generato ogni volta che viene eseguita un'istruzione EXECUTE.

RECEIVE

Questo evento viene generato ogni volta che viene eseguita un'istruzione RECEIVE.

REFERENCES

Questo evento viene generato ogni volta che viene controllata un'autorizzazione REFERENCES.

Considerazioni

Le azioni di controllo a livello di database non si applicano alle colonne.

Quando Query Processor parametrizza la query, il parametro può apparire nel log degli eventi di controllo anziché nei valori di colonna della query.

Gruppi di azioni di controllo a livello di controllo

È possibile controllare le azioni anche durante il processo di controllo stesso. Questa operazione può essere eseguita sia nell'ambito del server che in quello del database. In quest'ultimo caso l'operazione può essere eseguita solo per le specifiche del controllo del database. Nella tabella seguente vengono descritti i gruppi di azioni di controllo a livello di controllo.

Nome del gruppo di azioni

Descrizione

AUDIT_ CHANGE_GROUP

Questo evento viene generato ogni volta che viene eseguito uno dei comandi seguenti:

  • CREATE SERVER AUDIT

  • ALTER SERVER AUDIT

  • DROP SERVER AUDIT

  • CREATE SERVER AUDIT SPECIFICATION

  • ALTER SERVER AUDIT SPECIFICATION

  • DROP SERVER AUDIT SPECIFICATION

  • CREATE DATABASE AUDIT SPECIFICATION

  • ALTER DATABASE AUDIT SPECIFICATION

  • DROP DATABASE AUDIT SPECIFICATION

Vedere anche

Riferimento

Concetti