Como usar a Auditoria avançada em um cluster de banco de dados Amazon Aurora MySQL - Amazon Aurora

Como usar a Auditoria avançada em um cluster de banco de dados Amazon Aurora MySQL

Você pode usar o recurso de Auditoria avançada de alto desempenho no Amazon Aurora MySQL para realizar a auditoria da atividade do banco de dados. Para isso, habilite a coleta de logs de auditoria definindo vários parâmetros do cluster de banco de dados. Com a Auditoria avançada habilitada, você pode usá-la para registrar qualquer combinação de eventos compatíveis. Você pode visualizar ou fazer download dos logs de auditoria para analisá-los.

nota

Você pode publicar os dados do log geral e mais lento de auditoria e de erros do Aurora MySQL em um grupo de logs no CloudWatch Logs. Para obter mais informações, consulte Publicar logs do Amazon Aurora MySQL no Amazon CloudWatch Logs.

Como habilitar a Auditoria avançada

Use os parâmetros descritos nesta seção para habilitar e configurar a Auditoria avançada para seu cluster de banco de dados.

Use o parâmetro server_audit_logging para habilitar ou desabilitar a Auditoria avançada e o parâmetro server_audit_events para especificar quais eventos devem ser registrados.

Use os parâmetros server_audit_excl_users e server_audit_incl_users para especificar quem será auditado. Se server_audit_excl_users e server_audit_incl_users estiverem vazios (por padrão), todos os usuários serão auditados. Se você adicionar usuários a server_audit_incl_users e deixar server_audit_excl_users vazio, somente esses usuários serão auditados. Se você adicionar usuários a server_audit_excl_users e deixar server_audit_incl_users vazio, somente esses usuários não serão auditados e todos os outros usuários serão. Se você adicionar os mesmos usuários a server_audit_excl_users e server_audit_incl_users, esses usuários serão auditados porque é dada maior prioridade a server_audit_incl_users.

Configure a Auditoria avançada, definindo esses parâmetros no parameter group usado por seu cluster de banco de dados. Você pode usar o procedimento mostrado em Modificar parâmetros em um grupo de parâmetros de banco de dados para modificar os parâmetros de cluster de banco de dados usando o AWS Management Console. Você pode usar o comando modify-db-cluster-parameter-group da AWS CLI ou o comando ModifyDBClusterParameterGroup da API do Amazon RDS para modificar parâmetros de cluster de banco de dados de forma programática.

A modificação desses parâmetros não requer que o cluster do banco de dados seja reiniciado.

server_audit_logging

Ativa ou desativa a Auditoria avançada. Este parâmetro é OFF (Desligado) por padrão. Ajuste-o para ON (Ligado) para ativar a auditoria avançada.

server_audit_events

Contém a lista de eventos delimitada por vírgulas a registrar. Os eventos devem ser especificados em letras maiúsculas, e não pode haver espaço em branco entre os elementos da lista, por exemplo: CONNECT,QUERY_DDL. O parâmetro padrão é uma string vazia.

Você pode registrar qualquer combinação dos seguintes eventos:

  • CONNECT – Registra conexões bem-sucedidas e falhas, além de desconexões. Este evento inclui informações do usuário.

  • QUERY – Registra todas as consultas em texto simples, incluindo aquelas que falham devido a sintaxe ou erros de permissão.

  • QUERY_DCL – Semelhante ao evento de QUERY, mas retorna apenas as consultas de linguagem de controle de dados (DCL) (GRANT, REVOKE, etc.).

  • QUERY_DDL – Semelhante ao evento de QUERY, mas retorna apenas as consultas de linguagem de definição de dados (DDL) (CREATE, ALTER, etc.).

  • QUERY_DML – Semelhante ao evento de QUERY, mas retorna apenas as consultas de linguagem de manipulação de dados (DML) (INSERT, UPDATE, etc. e também SELECT).

  • TABLE – Registra as tabelas que foram afetadas pela execução da consulta.

server_audit_excl_users

Contém a lista de nomes de usuário delimitada por vírgulas para os usuários cuja atividade não foi registrada. Não pode haver espaços em branco entre os elementos da lista, por exemplo: rdsadmin,user_1,user_2. O parâmetro padrão é uma string vazia. O tamanho máximo é de 1024 caracteres. Os nomes de usuários especificados devem corresponder aos valores correspondentes na coluna User da tabela mysql.user. Para obter mais informações sobre nomes de usuário, consulte a documentação do MySQL.

Os eventos de conexão e de desconexão não são afetados por esta variável; eles serão sempre registrados, se assim for especificado. Um usuário é registrado caso também esteja especificado no parâmetro server_audit_incl_users, porque essa configuração tem prioridade maior do que server_audit_excl_users.

server_audit_incl_users

Contém a lista de nomes de usuário delimitada por vírgulas para os usuários cuja atividade foi registrada. Não pode haver espaços em branco entre os elementos da lista, por exemplo: user_3,user_4. O parâmetro padrão é uma string vazia. O tamanho máximo é de 1024 caracteres. Os nomes de usuários especificados devem corresponder aos valores correspondentes na coluna User da tabela mysql.user. Para obter mais informações sobre nomes de usuário, consulte a documentação do MySQL.

Os eventos de conexão e de desconexão não são afetados por esta variável; eles serão sempre registrados, se assim for especificado. O usuário é registrado em log, mesmo que ele já esteja especificado no parâmetro server_audit_excl_users, pois server_audit_incl_users tem uma prioridade maior.

Visualizar logs de auditoria

Você pode visualizar e fazer download dos logs de auditoria usando o console. Na página Databases (Bancos de dados), escolha a instância de banco de dados para exibir seus detalhes e role até a seção Logs.

Para fazer download de um arquivo de log, localize o arquivo na seção Logs e escolha Download (Fazer download).

Você também pode obter uma lista dos arquivos de log usando o comando describe-db-log-files da AWS CLI. Você pode fazer download do conteúdo de um arquivo de log usando o comando download-db-log-file-portion da AWS CLI. Para obter mais informações, consulte Como exibir e listar arquivos de log do banco de dados e Como fazer download de um arquivo de log de banco de dados.

Detalhes do log de auditoria

Os arquivos de log estão em formato UTF-8. O log de auditoria é armazenado separadamente no armazenamento local (efêmero) de cada instância. Cada instância do Aurora distribui gravações em quatro arquivos de log por vez. O tamanho máximo dos logs é de 100 MB em agregados. Quando esse limite não configurável é atingido, o Aurora gira os arquivos e gera quatro novos.

As entradas do log não estão em ordem sequencial. Para ordenar as entradas, use o valor do carimbo de data/hora. Para ver os eventos mais recentes, talvez seja preciso analisar todos os arquivos de log.

Os arquivos de log de auditoria incluem as seguintes informações delimitadas por vírgulas nas linhas, na ordem especificada:

Campo Descrição

timestamp

O time stamp do Unix para o evento registrado com precisão de microssegundo.

serverhost

O nome da instância em que o evento foi registrado.

username

O nome de usuário conectado.

host

O host no qual o usuário está conectado.

connectionid

O número de ID da conexão para a operação registrada.

queryid

O número do ID de consulta, que pode ser usado para encontrar os eventos relacionais da tabela e consultas relacionadas. Para eventos TABLE, são adicionadas várias linhas.

operação

O tipo de ação gravado. Os valores possíveis são: CONNECT, QUERY, READ, WRITE, CREATE, ALTER, RENAME e DROP.

banco de dados

O banco de dados ativo, conforme definido pelo comando USE.

objeto

Para eventos de QUERY, esse valor indica a consulta executada pelo banco de dados. Para eventos de TABLE, indica o nome da tabela.

retcode

O código de retorno da operação registrada.