Configurar uma política de auditoria para o Microsoft SQL Server - Amazon Relational Database Service

Configurar uma política de auditoria para o Microsoft SQL Server

Uma instância de banco de dados do SQL Server tem a auditoria de servidor RDS_DAS_AUDIT, que é gerenciada pelo Amazon RDS. Você pode definir as políticas para registrar eventos do servidor na especificação de auditoria de servidor RDS_DAS_SERVER_AUDIT_SPEC. Você pode criar uma especificação de auditoria de banco de dados, como RDS_DAS_DB_<name>, e definir as políticas para registrar eventos do banco de dados. Para obter a lista de grupos de ações de auditoria em nível de servidor e banco de dados, consulte Ações e grupos de ações de auditoria do SQL Server na documentação do Microsoft SQL Server.

A política de servidor padrão monitora somente falhas de logins e alterações em bancos de dados ou especificações de auditoria de servidor para fluxos de atividade de banco de dados.

As limitações para a auditoria e para as especificações de auditoria incluem o seguinte:

  • Você não pode modificar as especificações de auditoria de servidor ou banco de dados quando o fluxo de atividade do banco de dados está em um estado bloqueado.

  • Você não pode modificar a especificação de auditoria de servidor RDS_DAS_AUDIT.

  • Você não pode modificar a auditoria RDS_DAS_CHANGES do SQL Server ou sua especificação de auditoria de servidor relacionada RDS_DAS_CHANGES_AUDIT_SPEC.

  • Ao criar uma especificação de auditoria de banco de dados, você deve usar o formato RDS_DAS_DB_<name>; por exemplo, RDS_DAS_DB_databaseActions.

Importante

Para classes de instâncias menores, recomendamos que você não audite todos os dados, apenas os necessários. Isso ajuda a reduzir o impacto na performance do recurso Database Activity Streams nessas classes de instâncias.

O exemplo de código abaixo modifica a especificação de auditoria de servidor RDS_DAS_SERVER_AUDIT_SPEC e realiza a auditoria de todas as ações de desconexão e de login bem-sucedido:

ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC] WITH (STATE=OFF); ALTER SERVER AUDIT SPECIFICATION [RDS_DAS_SERVER_AUDIT_SPEC] ADD (LOGOUT_GROUP), ADD (SUCCESSFUL_LOGIN_GROUP) WITH (STATE = ON );

O exemplo de código abaixo cria uma especificação de auditoria de banco de dados RDS_DAS_DB_database_spec e a anexa à auditoria de servidor RDS_DAS_AUDIT:

USE testDB; CREATE DATABASE AUDIT SPECIFICATION [RDS_DAS_DB_database_spec] FOR SERVER AUDIT [RDS_DAS_AUDIT] ADD ( INSERT, UPDATE, DELETE ON testTable BY testUser ) WITH (STATE = ON);

Depois que as especificações de auditoria forem configuradas, certifique-se de que as especificações RDS_DAS_SERVER_AUDIT_SPEC e RDS_DAS_DB_<name> estejam definidas no estado ON. Agora elas podem enviar os dados de auditoria para o fluxo de atividade do banco de dados.