SQL Server – Trigger de auditoria de permissões e privilégios a nível de database e instância (GRANT e REVOKE)

Visualizações: 719
Esse post é a parte 8 de 15 da série Segurança e Auditoria
Tempo de Leitura: 2 minutos

Olá pessoal,
Tudo bem com vocês ?

Depois de MUITO tempo sem postar nenhum artigo técnico, estou começando a ter um tempo novamente para trazer mais scripts e artigos legais que eu gostaria de compartilhar com vocês.

Neste post, vou demonstrar como criar uma trigger para auditar eventos de concessão e remoção de permissões (GRANT e REVOKE) em objetos, databases, alterações de usuários em roles (database roles e server roles), além de permissões diretas em databases. Essa necessidade surgiu através de uma demanda que chegou pra mim, pois alguns usuários estavam perdendo acesso em uma determinada instância e não tinha nenhum controle para identificar quem estava removendo e quem concedeu esses acessos.

Script de criação da tabela de histórico de permissões

Com o script abaixo, você poderá criar a tabela que vai armazenar todo o histórico de permissões concedidas e removidas na instância.

Script de criação da trigger

Com o script abaixo, você irá criar a trigger que faz a coleta a auditoria das permissões.

Resultados

Agora vou demonstrar alguns exemplos do que essa trigger pode auditar.

É isso aí, pessoal!
Um abraço pra vocês e até o próximo post.