Partilhar via


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çãoObservaçã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çãoObservaçã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çãoObservaçã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:

  • 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

Consulte também

Referência

Conceitos