Ações e grupos de ações de auditoria do SQL Server
O recurso Auditoria do SQL Server permite auditar grupos de eventos e eventos individuais no nível do servidor e do banco de dados. Para obter mais informações, consulte Compreendendo a auditoria do SQL Server.
Auditorias do SQL Server consistem em zero ou mais itens de ação de auditoria. Esses itens de ação de auditoria podem ser um grupo de ações, como Server_Object_Change_Group ou ações individuais, como operações SELECT em uma tabela.
Observação |
---|
Server_Object_Change_Group inclui CREATE, ALTER e DROP para qualquer objeto de servidor (Banco de Dados ou Ponto de Extremidade). |
As auditorias podem ter as seguintes categorias de ações:
Nível do servidor. Essas ações incluem operações de servidor, como alterações de gerenciamento e operações de logon e logoff.
Nível do banco de dados. Essas ações abrangem operações DML (linguagem de manipulação de dados) e DDL (linguagem de definição de dados).
Nível da auditoria. Essas ações incluem ações no processo de auditoria.
Algumas ações realizadas nos componentes de auditoria do SQL Server são auditadas intrinsecamente em uma auditoria específica e, nesses casos, os eventos de auditoria ocorrem automaticamente porque o evento ocorreu no objeto pai.
As seguintes ações são auditadas intrinsecamente:
- Alteração de estado da auditoria do servidor (estado de configuração em ON ou OFF)
Os seguintes eventos são auditados intrinsecamente:
CREATE SERVER AUDIT SPECIFICATION
ALTER SERVER AUDIT SPECIFICATION
DROP SERVER AUDIT SPECIFICATION
CREATE DATABASE AUDIT SPECIFICATION
ALTER DATABASE AUDIT SPECIFICATION
DROP DATABASE AUDIT SPECIFICATION
Todas as auditorias são desabilitadas quando criadas inicialmente.
Grupos de ação de auditoria no nível do servidor
Grupos de ação de auditoria no nível do servidor são ações semelhantes às classes de evento security audit do SQL Server. Para obter mais informações, consulte Referência de classe de evento do SQL Server.
A tabela a seguir descreve os grupos de ação de auditoria no nível do servidor e fornece a Classe de Evento SQL Server equivalente onde aplicável.
Nome do grupo de ação |
Descrição |
---|---|
SUCCESSFUL_LOGIN_GROUP |
Indica que a entidade efetuou logon com êxito no SQL Server. Os eventos nessa classe são gerados por novas conexões ou por conexões reutilizadas de um pool de conexões. Equivalente à Classe de evento Audit Login. |
LOGOUT_GROUP |
Indica que uma entidade efetuou logoff no SQL Server. Os eventos nessa classe são gerados por novas conexões ou por conexões reutilizadas de um pool de conexões. Equivalente à Classe de evento Audit Logout. |
FAILED_LOGIN_GROUP |
Indica que uma entidade tentou efetuar logon no SQL Server e falhou. Os eventos nessa classe são gerados por novas conexões ou por conexões reutilizadas de um pool de conexões. Equivalente à Classe de evento Audit Login Failed. |
LOGIN_CHANGE_PASSWORD_GROUP |
Esse evento é gerado sempre que a senha de um logon for alterada pela instrução ALTER LOGIN ou pelo procedimento armazenado sp_password. Equivalente à Classe de evento Audit Login Change Password. |
APPLICATION_ROLE_CHANGE_PASSWORD_GROUP |
Esse evento é gerado sempre que uma senha é alterada por uma função de aplicativo. Equivalente à Classe de evento Audit App Role Change Password. |
SERVER_ROLE_MEMBER_CHANGE_GROUP |
Esse evento é gerado sempre que um logon é adicionado ou removido de uma função de servidor fixa. Esse evento é gerado para os procedimentos armazenados sp_addsrvrolemember e sp_dropsrvrolemember. Equivalente à Classe de evento Audit Add Login to Server Role. |
DATABASE_ROLE_MEMBER_CHANGE_GROUP |
Esse evento é gerado sempre que um logon é adicionado ou removido de uma função de banco de dados. Essa classe de evento é gerada para os procedimentos armazenados sp_addrolemember, sp_changegroup e sp_droprolemember. Esse evento é gerado em qualquer alteração do membro da função Banco de dados em qualquer banco de dados. Equivalente à Classe de evento Audit Add Member to DB Role. |
BACKUP_RESTORE_GROUP |
Esse evento é gerado sempre que um comando de backup ou restauração é emitido. Equivalente à Classe de evento Audit Backup/Restore. |
DBCC_GROUP |
Esse evento é gerado sempre que uma entidade emite algum comando DBCC. Equivalente à Classe de evento Audit DBCC. |
SERVER_OPERATION_GROUP |
Esse evento é gerado quando são usadas operações de auditoria de segurança, como alterar configurações, recursos, acesso externo ou autorização. Equivalente à Classe de evento Audit Server Operation. |
DATABASE_OPERATION_GROUP |
Esse evento é gerado quando ocorrem operações em um banco de dados, como um ponto de verificação ou uma notificação de consulta de assinatura. Esse evento é gerado em qualquer operação de banco de dados em qualquer banco de dados. Equivalente à Classe de evento Audit Database Operation. |
AUDIT_ CHANGE_GROUP |
Esse evento é gerado sempre que uma auditoria é criada, modificada ou excluída. Esse evento é gerado sempre que qualquer especificação de auditoria é criada, modificada ou excluída. Qualquer alteração em uma auditoria é auditada nessa auditoria. |
SERVER_STATE_CHANGE_GROUP |
Esse evento é gerado quando o estado do serviço do SQL Server é modificado. Equivalente à Classe de evento Audit Server Starts and Stops. |
SERVER_OBJECT_CHANGE_GROUP |
Esse evento é gerado para operações CREATE, ALTER ou DROP em objetos de servidor. Equivalente à Classe de evento Audit Server Object Management. |
SERVER_PRINCIPAL_CHANGE_GROUP |
Esse evento é gerado quando as entidades de servidor são criadas, alteradas ou descartadas. Equivalente à Classe de evento Audit Server Principal Management. Esse evento é gerado quando uma entidade emite os procedimentos armazenados sp_defaultdb ou sp_defaultlanguage ou as instruções ALTER LOGON. Equivalente à Classe de evento Audit Addlogin. Esse evento é gerado nos procedimentos armazenados sp_addlogin e sp_droplogin. Também equivalente ao Classe de evento Audit Login Change Property. Esse evento é gerado para os procedimentos armazenados sp_grantlogin, sp_revokelogin ou sp_denylogin. Equivalente à Classe de evento Audit Login GDR. |
DATABASE_CHANGE_GROUP |
Esse evento é gerado quando um banco de dados é criado, alterado ou descartado. Esse evento é gerado sempre que um banco de dados é criado, alterado ou descartado. Equivalente à Classe de evento Audit Database Management. |
DATABASE_OBJECT_CHANGE_GROUP |
Esse evento é gerado quando uma instrução CREATE, ALTER ou DROP é executada em objetos de banco de dados, como esquemas. Ele é gerado sempre que um objeto de banco de dados é criado, alterado ou descartado.
Observação
Isso poderia gerar volumes muito grandes de registros de auditoria.
Equivalente à Classe de evento Audit Database Object Management. |
DATABASE_PRINCIPAL_CHANGE_GROUP |
Esse evento é gerado quando entidades, como usuários, são criadas, alteradas ou descartadas de um banco de dados. Equivalente à Classe de evento Audit Database Principal Management. (Também equivalente à Classe de Evento Audit Add DB Principal, que ocorre nos procedimentos armazenados sp_grantdbaccess, sp_revokedbaccess, sp_addPrincipal e sp_dropPrincipal preteridos.) Esse evento é gerado sempre que uma função de banco de dados é adicionada ou removida mediante os procedimentos armazenados sp_addrole ou sp_droprole. Ele é gerado sempre que qualquer entidade de banco de dados é criada, alterada ou descartada de qualquer banco de dados. Equivalente à Classe de evento Audit Add Role. |
SCHEMA_OBJECT_CHANGE_GROUP |
Esse evento é gerado quando uma operação CREATE, ALTER ou DROP é executada em um esquema. Equivalente à Classe de evento Audit Schema Object Management. Esse evento é gerado em objetos de esquema. Equivalente à Classe de evento Audit Object Derived Permission. Esse evento é gerado sempre que algum esquema de qualquer banco de dados é alterado. Equivalente à Classe de evento Audit Statement Permission. |
SERVER_PRINCIPAL_IMPERSONATION_GROUP |
Esse evento é gerado quando há uma representação dentro do escopo do servidor, como EXECUTE AS <logon>. Equivalente à Classe de evento Audit Server Principal Impersonation. |
DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
Esse evento é gerado quando há uma operação de representação no escopo do banco de dados, como EXECUTE AS <entidade> ou SETPRINCIPAL. Ele é gerado para representações realizadas em qualquer banco de dados. Equivalente à Classe de evento Audit Database Principal Impersonation. |
SERVER_OBJECT_OWNERSHIP_CHANGE_GROUP |
Esse evento é gerado quando o proprietário é alterado para objetos no escopo do servidor. Equivalente à Classe de evento Audit Server Object Take Ownership. |
DATABASE_OWNERSHIP_CHANGE_GROUP |
Esse evento é gerado quando a instrução ALTER AUTHORIZATION é usada para alterar o proprietário de um banco de dados e as permissões necessárias para fazer isso estão marcadas. Ele é gerado para qualquer alteração de propriedade de banco de dados em qualquer banco de dados no servidor. Equivalente à Classe de evento Audit Change Database Owner. |
DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
Esse evento é gerado quando há uma alteração de proprietário para objetos dentro do escopo do banco de dados. Ele é gerado para qualquer alteração de propriedade de objeto em qualquer banco de dados no servidor. Equivalente à Classe de evento Audit Database Object Take Ownership. |
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
Esse evento é gerado quando as permissões para alterar o proprietário do objeto de esquema (como uma tabela, um procedimento ou uma função) são verificadas. Isso ocorre quando a instrução ALTER AUTHORIZATION é usada para atribuir um proprietário a um objeto. Esse evento é gerado para qualquer alteração de propriedade de esquema em qualquer banco de dados do servidor. Equivalente à Classe de evento Audit Schema Object Take Ownership. |
SERVER_PERMISSION_CHANGE_GROUP |
Esse evento é gerado quando GRANT, REVOKE ou DENY é emitido para permissões no escopo do servidor, como criar um logon. Equivalente à Classe de evento Audit Server Scope GDR. |
SERVER_OBJECT_PERMISSION_CHANGE_GROUP |
Esse evento é gerado quando GRANT, REVOKE ou DENY é emitido para uma permissão de objeto de servidor em qualquer entidade no SQL Server. Equivalente à Classe de evento Audit Server Object GDR. |
DATABASE_PERMISSION_CHANGE_GROUP |
Esse evento é gerado sempre que GRANT, REVOKE ou DENY é emitido para uma permissão de instrução por qualquer entidade no SQL Server (Isso se aplica a eventos somente de banco de dados, como conceder permissões em um banco de dados, por exemplo.). Esse evento é gerado para qualquer GDR (alteração de permissão de banco de dados) de algum banco de dados no servidor. Equivalente à Classe de evento Audit Database Scope GDR. |
DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
Esse evento é gerado quando GRANT, REVOKE ou DENY é emitido para objetos de banco de dados, como assemblies e esquemas. Ele é gerado para qualquer alteração de permissão de objeto em qualquer banco de dados no servidor. Equivalente à Classe de evento Audit Database Object GDR. |
SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
Esse evento é gerado sempre que uma concessão, negação ou revogação é executada com relação a um objeto de esquema. Equivalente à Classe de evento Audit Schema Object GDR. |
DATABASE_OBJECT_ACCESS_GROUP |
Esse evento é gerado sempre que objetos de banco de dados, como tipo de mensagem, assembly, contrato, são acessados. Ele é gerado para qualquer acesso a qualquer banco de dados.
Observação
Isso poderia gerar potencialmente grandes registros de auditoria.
Equivalente à Classe de evento Audit Database Object Access. |
SCHEMA_OBJECT_ACCESS_GROUP |
Esse evento é gerado sempre que uma permissão de objeto é usada no esquema. Equivalente à Classe de evento Audit Schema Object Access. |
BROKER_LOGIN_GROUP |
Esse evento é gerado para relatar mensagens de auditoria relacionadas à segurança de transporte do Service Broker. Equivalente à Classe de evento Audit Broker Login. |
DATABASE_MIRRORING_LOGIN_GROUP |
Esse evento é gerado para relatar mensagens de auditoria relacionadas à segurança de transporte de espelhamento de banco de dados. Equivalente à Classe de evento Audit Database Mirroring Login. |
TRACE_CHANGE_GROUP |
Esse evento é gerado para todas as instruções que verificam a permissão ALTER TRACE. Equivalente à Classe de evento Audit Server Alter Trace. |
Considerações
Grupos de ação no nível do servidor cobrem ações em uma instância do SQL Server. Por exemplo, qualquer verificação de acesso de objeto de esquema em qualquer banco de dados será gravada se o grupo de ação apropriado for adicionado a uma especificação de auditoria de servidor. Em uma especificação de auditoria de banco de dados, somente acessos de objeto de esquema são registrados no banco de dados.
Ações no nível do servidor não permitem filtragem detalhada em ações no nível de banco de dados. Uma auditoria no nível do banco de dados, como auditoria de ações SELECT na tabela Clientes para logons no grupo Funcionário é necessária para implementar filtragem de ação detalhada. Não inclua objetos do escopo de servidor, como as exibições do sistema, em uma especificação de auditoria de banco de dados do usuário.
Grupos de ações de auditoria no nível de banco de dados
Grupos de ações de auditoria no nível de banco de dados são ações semelhantes às classes de evento Security Audit do SQL Server. Para obter mais informações sobre classes de evento, consulte Referência de classe de evento do SQL Server.
A tabela a seguir descreve os grupos de ações de auditoria no nível de banco de dados e fornece a Classe de Evento SQL Server equivalente onde aplicável.
Nome do grupo de ação |
Descrição |
---|---|
DATABASE_ROLE_MEMBER_CHANGE_GROUP |
Esse evento é gerado sempre que um logon é adicionado ou removido de uma função de banco de dados. Essa classe de evento é usada com os procedimentos armazenados sp_addrolemember, sp_changegroup e sp_droprolemember. Equivalente a Classe de evento Audit Add Member to DB Role |
DATABASE_OPERATION_GROUP |
Esse evento é gerado quando ocorrem operações em um banco de dados, como um ponto de verificação ou uma notificação de consulta de assinatura. Equivalente à Classe de evento Audit Database Operation. |
DATABASE_CHANGE_GROUP |
Esse evento é gerado quando um banco de dados é criado, alterado ou descartado. Equivalente à Classe de evento Audit Database Management. |
DATABASE_OBJECT_CHANGE_GROUP |
Esse evento é gerado quando uma instrução CREATE, ALTER ou DROP é executada em objetos de banco de dados, como esquemas. Equivalente à Classe de evento Audit Database Object Management. |
DATABASE_PRINCIPAL_CHANGE_GROUP |
Esse evento é gerado quando entidades, como usuários, são criadas, alteradas ou descartadas de um banco de dados. Equivalente à Classe de evento Audit Database Principal Management. Também equivalente a Classe de evento Audit Add DB User, que ocorre nos procedimentos armazenados sp_grantdbaccess, sp_revokedbaccess, sp_adduser e sp_dropuser preteridos. Esse evento é gerado sempre que uma função de banco de dados é adicionada ou removida mediante os procedimentos armazenados sp_addrole e sp_droprole preteridos. Equivalente à Classe de evento Audit Add Role. |
SCHEMA_OBJECT_CHANGE_GROUP |
Esse evento é gerado quando uma operação CREATE, ALTER ou DROP é executada em um esquema. Equivalente à Classe de evento Audit Schema Object Management. Esse evento é gerado em objetos de esquema. Equivalente à Classe de evento Audit Object Derived Permission. Também equivalente ao Classe de evento Audit Statement Permission. |
DATABASE_PRINCIPAL_IMPERSONATION_GROUP |
Esse evento é gerado quando há uma representação dentro do escopo do banco de dados, como EXECUTE AS <usuário> ou SETUSER. Equivalente à Classe de evento Audit Database Principal Impersonation. |
DATABASE_OWNERSHIP_CHANGE_GROUP |
Esse evento é gerado quando a instrução ALTER AUTHORIZATION é usada para alterar o proprietário de um banco de dados e as permissões necessárias para fazer isso estão marcadas. Equivalente à Classe de evento Audit Change Database Owner. |
DATABASE_OBJECT_OWNERSHIP_CHANGE_GROUP |
Esse evento é gerado quando há uma alteração de proprietário para objetos dentro do escopo do banco de dados. Equivalente à Classe de evento Audit Database Object Take Ownership. |
SCHEMA_OBJECT_OWNERSHIP_CHANGE_GROUP |
Equivalente à Classe de Evento Audit Schema Object Take Ownership. Esse evento é gerado quando as permissões para alterar o proprietário do objeto de esquema, como uma tabela, um procedimento ou função são verificadas. Isso ocorre quando a instrução ALTER AUTHORIZATION é usada para atribuir um proprietário a um objeto. |
DATABASE_PERMISSION_CHANGE_GROUP |
Esse evento é gerado sempre que GRANT, REVOKE ou DENY é emitido para uma permissão de instrução por qualquer usuário no SQL Server de eventos somente de banco de dados, como conceder permissões em um banco de dados). Equivalente à Classe de evento Audit Database Scope GDR. |
DATABASE_OBJECT_PERMISSION_CHANGE_GROUP |
Esse evento é gerado quando GRANT, REVOKE ou DENY é emitido para objetos de banco de dados, como assemblies e esquemas. Equivalente à Classe de evento Audit Database Object GDR. |
SCHEMA_OBJECT_PERMISSION_CHANGE_GROUP |
Esse evento é gerado sempre que uma concessão, negação ou revogação é emitida para um objeto de esquema. Equivalente à Classe de evento Audit Schema Object GDR. |
DATABASE_OBJECT_ACCESS_GROUP |
Esse evento é gerado sempre que são acessados objetos de banco de dados, como certificados e chaves assimétricas. Equivalente à Classe de evento Audit Database Object Access. |
SCHEMA_OBJECT_ACCESS_GROUP |
Esse evento é gerado sempre que uma permissão de objeto é usada no esquema. Equivalente à Classe de evento Audit Schema Object Access. |
Ações de auditoria no nível de banco de dados
Ações no nível de banco de dados oferecem suporte à auditoria de ações específicas diretamente no esquema do banco de dados e em objetos do esquema, como tabelas, exibições, procedimentos armazenados, funções, procedimentos armazenados estendidos, filas e sinônimos. Tipos, coleção de esquema XML, banco de dados e esquema não são auditados. A auditoria de objetos de esquema pode ser configurada no esquema e no banco de dados, o que indica que os eventos em todos os objetos do esquema contidos no esquema ou banco de dados especificado serão auditados. A tabela a seguir descreve ações de auditoria no nível de banco de dados.
Ação |
Descrição |
---|---|
SELECT |
Esse evento é gerado sempre que SELECT é emitido. |
UPDATE |
Esse evento é gerado sempre que UPDATE é emitido. |
INSERT |
Esse evento é gerado sempre que INSERT é emitido. |
DELETE |
Esse evento é gerado sempre que DELETE é emitido. |
EXECUTE |
Esse evento é gerado sempre que EXECUTE é emitido. |
RECEIVE |
Esse evento é gerado sempre que RECEIVE é emitido. |
REFERENCES |
Esse evento é gerado sempre que uma permissão REFERENCES é verificada. |
Considerações
As ações de auditoria no nível de banco de dados não se aplicam a Colunas.
Quando o processador de consulta parametriza a consulta, o parâmetro pode aparecer no log de eventos de auditoria em vez de nos valores de coluna da consulta.
Grupos de ação de auditoria no nível de auditoria
Também é possível auditar as ações no processo de auditoria. Isso pode ocorrer no escopo de servidor ou no escopo do banco de dados. No escopo do banco de dados, isso ocorre somente para especificações de auditoria de banco de dados. A tabela a seguir descreve grupos de ações de auditoria no nível da auditoria.
Nome do grupo de ação |
Descrição |
---|---|
AUDIT_ CHANGE_GROUP |
Esse evento é gerado sempre que um dos comandos a seguir é emitido:
|
Consulte também