Suporte ao plug-in de auditoria do MariaDB para MySQL - Amazon Relational Database Service

Suporte ao plug-in de auditoria do MariaDB para MySQL

O Amazon RDS oferece um plug-in de auditoria para instâncias de banco de dados MySQL que se baseia no plug-in de auditoria de código aberto do MariaDB. Para obter mais informações, consulte o Plugin de auditoria para o repositório do GitHub do MySQL Server.

nota

O plug-in de auditoria para MySQL é baseado no plug-in de auditoria do MariaDB. Ao longo deste artigo, nos referimos a ele como plug-in de auditoria do MariaDB.

O plug-in de auditoria do MariaDB registra a atividade do banco de dados, incluindo usuários que fazem login no banco de dados e as consultas ao banco de dados que são executadas. O registro da atividade do banco de dados é armazenado em um arquivo de log.

nota

Atualmente, o MariaDB Audit Plugin só é compatível com as seguintes versões do RDS para MySQL:

  • MySQL 8.0.28 e versões 8.0 posteriores

  • Todas as versões do MySQL 5.7

Definições de opções do plugin de auditoria

O Amazon RDS oferece suporte para as seguintes configurações para a opção MariaDB Audit Plugin.

Configuração da opção Valores válidos Valor padrão Descrição

SERVER_AUDIT_FILE_PATH

/rdsdbdata/log/audit/

/rdsdbdata/log/audit/

A localização dos arquivos de log. O arquivo de log contém o registro de atividades especificadas em SERVER_AUDIT_EVENTS. Para obter mais informações, consulte Como visualizar e listar arquivos de log do banco de dados e Arquivos de log do banco de dados MySQL.

SERVER_AUDIT_FILE_ROTATE_SIZE

1–1000000000

1000000

O tamanho em bytes que, quando alcançado, faz com que o arquivo rotacione. Para obter mais informações, consulte Visão geral dos logs de banco de dados do RDS para MySQL.

SERVER_AUDIT_FILE_ROTATIONS

0–100

9

O número de rotações de log para salvar quando server_audit_output_type=file. Se definido como 0, o arquivo de log nunca é alternado. Para ter mais informações, consulte Visão geral dos logs de banco de dados do RDS para MySQL e Como baixar um arquivo de log de banco de dados.

SERVER_AUDIT_EVENTS

CONNECT, QUERY, QUERY_DDL, QUERY_DML, QUERY_DML_NO_SELECT, QUERY_DCL

CONNECT, QUERY

Os tipos de atividades a serem gravados no log. A instalação do MariaDB Audit Plugin é registrada em log.

  • CONNECT: registrar conexões bem-sucedidas e sem êxito com o banco de dados e desconexões do banco de dados.

  • QUERY: registrar o texto de todas as consultas executadas no banco de dados.

  • QUERY_DDL: semelhante ao evento de QUERY, mas retorna somente consultas de linguagem de definição de dados (DDL) (CREATE, ALTER, etc.)

  • QUERY_DML: semelhante ao evento de QUERY, mas retorna somente consultas de linguagem de manipulação de dados (DML) (INSERT, UPDATE, etc., bem como SELECT).

  • QUERY_DML_NO_SELECT: semelhante ao evento QUERY_DML, mas não registra consultas de log SELECT.

    A configuração QUERY_DML_NO_SELECT tem suporte apenas para o RDS para MySQL 5.7.34 e versões 5.7 superiores e 8.0.25 e versões 8.0 superiores.

  • QUERY_DCL: semelhante ao evento de QUERY, mas retorna somente consultas de linguagem de controle de dados (DCL) (GRANT, REVOKE, etc.)

Para MySQL, TABLE não é compatível.

SERVER_AUDIT_INCL_USERS

Vários valores separados por vírgulas

Nenhum

Inclua apenas atividades dos usuários especificados. Por padrão, a atividade é registrada para todos os usuários. SERVER_AUDIT_INCL_USERS e SERVER_AUDIT_EXCL_USERS são mutuamente exclusivos. Se você adicionar valores ao SERVER_AUDIT_INCL_USERS, certifique-se de que nenhum valor seja adicionado ao SERVER_AUDIT_EXCL_USERS.

SERVER_AUDIT_EXCL_USERS

Vários valores separados por vírgulas

Nenhum

Exclua a atividade dos usuários especificados. Por padrão, a atividade é registrada para todos os usuários. SERVER_AUDIT_INCL_USERS e SERVER_AUDIT_EXCL_USERS são mutuamente exclusivos. Se você adicionar valores ao SERVER_AUDIT_EXCL_USERS, certifique-se de que nenhum valor seja adicionado ao SERVER_AUDIT_INCL_USERS.

O usuário rdsadmin consulta o banco de dados a cada segundo para verificar a integridade do banco de dados. Dependendo das suas outras configurações, essa atividade pode fazer com que o tamanho do seu arquivo de log cresça muito rapidamente. Se você não precisa registrar essa atividade, adicione o usuário rdsadmin à lista SERVER_AUDIT_EXCL_USERS.

nota

CONNECTA atividade é sempre registrada para todos os usuários, mesmo se o usuário é especificado para essa configuração de opção.

SERVER_AUDIT_LOGGING

ON

ON

O registro em log está ativo. O único valor válido é ON. O Amazon RDS não oferece suporte à desativação do registro em log. Se quiser desativar o registro log, remova o MariaDB Audit Plugin. Para obter mais informações, consulte Remover o MariaDB Audit Plugin.

SERVER_AUDIT_QUERY_LOG_LIMIT

0–2147483647

1024

O limite do tamanho da string de consulta em um registro.

Adicionar o MariaDB Audit Plugin

O processo geral para adicionar o MariaDB Audit Plugin a uma instância de banco de dados é o seguinte:

  • Crie um novo grupo de opções, ou copie ou modifique um existente

  • Adicione opções ao grupo de opções

  • Associe o grupo de opções à instância de banco de dados

Depois de adicionar o MariaDB Audit Plugin, você não precisará reiniciar sua instância de banco de dados. Assim que o grupo de opções estiver ativo, a auditoria começará imediatamente.

Importante

Adicionar o plugin de auditoria do MariaDB a uma instância de banco de dados ode causar uma interrupção. Recomendamos adicionar o plugin de auditoria do MariaDB durante uma janela de manutenção ou durante um horário de baixa workload de banco de dados.

Para adicionar o MariaDB Audit Plugin
  1. Determine o grupo de opções que você deseja usar. Você pode criar um novo grupo de opções ou usar um existente. Se você quiser usar um grupo de opções existente, vá para a próxima etapa. Caso contrário, crie um grupo de opções de banco de dados personalizado. Selecione mysql em Engine (Mecanismo) e escolha 5.7 ou 8.0 em Major engine version (Versão principal do mecanismo). Para obter mais informações, consulteCriar um grupo de opções

  2. Adicione a opção MARIADB_AUDIT_PLUGIN ao grupo de opções e defina as configurações da opção. Para ter mais informações sobre a adição de opções, consulte Adicionar uma opção a um grupo de opções. Para ter mais informações sobre cada configuração, consulte Definições de opções do plugin de auditoria.

  3. Aplique o grupo de opções a uma instância de banco de dados nova ou existente.

Formato do log de auditoria

Os arquivos de log são representados como arquivos de variáveis separadas por vírgula (CSV) no formato UTF-8.

dica

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. Para obter mais flexibilidade na classificação e pesquisa dos dados de log, ative a configuração para carregar os logs de auditoria no CloudWatch e visualizá-los usando a interface do CloudWatch.

Para visualizar dados de auditoria com mais tipos de campos e com saída no formato JSON, você também pode usar o recurso Database Activity Streams. Para obter mais informações, consulteMonitorar o Amazon RDS com o recurso Database Activity Streams

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 YYYYMMDD seguido pelo HH:MI:SS (24 horas) para o evento registrado em log.

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.

connection_type

O estado de segurança da conexão com o servidor. Os valores possíveis são:

  • 0 – Não definido

  • 1 – TCP/IP

  • 2 – Soquete

  • 3 – Pipe nomeado

  • 4 – SSL/TLS

  • 5 – Memória compartilhada

Este campo está incluído apenas para o RDS para MySQL versão 5.7.34 e versões 5.7 posteriores, além de todas as versões 8.0.

Visualizar e baixar o log do plugin de auditoria do MariaDB

Depois de habilitar o MariaDB Audit Plugin, você acessará os resultados nos arquivos de log da mesma forma que você acessa outros arquivos de log baseados em texto. Os arquivos de log de auditoria estão localizados em /rdsdbdata/log/audit/. Para obter informações sobre como visualizar o arquivo de log no console, consulte Como visualizar e listar arquivos de log do banco de dados. Para obter informações sobre como baixar o arquivo de log, consulte Como baixar um arquivo de log de banco de dados.

Modificar as configurações do plugin de auditoria do MariaDB

Depois de habilitar o MariaDB Audit Plugin, você pode modificar as configurações. Para mais informações sobre como modificar as configurações da opção, consulte Modificar uma configuração de opção. Para ter mais informações sobre cada configuração, consulte Definições de opções do plugin de auditoria.

Remover o MariaDB Audit Plugin

O Amazon RDS não oferece suporte à desativação do registro em log no MariaDB Audit Plugin. No entanto, você pode remover o plugin de uma instância de banco de dados. Quando você remove o MariaDB Audit Plugin, a instância de banco de dados é reiniciada automaticamente para interromper a auditoria.

Para remover o MariaDB Audit Plugin de uma instância de banco de dados, siga um destes procedimentos:

  • Remova a opção MariaDB Audit Plugin do grupo de opções ao qual ela pertence. Essa alteração afeta todas as instâncias de bancos de dados que usam o grupo de opções. Para ter mais informações, consulte Remover uma opção de um grupo de opções

  • Modifique a instância de banco de dados e especifique um grupo de opções diferente que não inclua o plugin. Essa alteração afeta uma única instância de banco de dados. Você pode especificar um grupo de opções padrão (vazio) ou criar um grupo de opções personalizado diferente. Para ter mais informações, consulte Modificar uma instância de banco de dados do Amazon RDS.