Configurar uma política de auditoria para o Amazon RDS para 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
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 relacionadaRDS_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.