Configurar a extensão pgAudit - Amazon Aurora

Configurar a extensão pgAudit

Para configurar a extensão pgAudit em , seu cluster de banco de dados do Aurora PostgreSQL, primeiro adicione pgAudit às bibliotecas compartilhadas no grupo de parâmetros de cluster de banco de dados personalizado para seu cluster de banco de dados do Aurora PostgreSQL. Para obter informações sobre como criar um grupo de parâmetros de cluster de banco de dados, consulte Grupos de parâmetros para Amazon Aurora. Depois, instale a extensão pgAudit. Por fim, especifique os bancos de dados e os objetos que deseja auditar. Os procedimentos nesta seção mostram o procedimento. É possível usar o AWS Management Console ou a AWS CLI.

Você deve ter permissões como a função rds_superuser para realizar todas essas tarefas.

As etapas a seguir pressupõem que seu cluster de banco de dados do Aurora PostgreSQL esteja associado a um grupo de parâmetros de cluster de banco de dados.

Como configurar a extensão pgAudit
  1. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  2. No painel de navegação, selecione sua instância do gravador do cluster de banco de dados do Aurora PostgreSQL.

  3. Abra a guia Configuration (Configuração) para sua instância do gravador de cluster de banco de dados do Aurora PostgreSQL. Entre os detalhes da instância, encontre o link Parameter group (Grupo de parâmetros).

  4. Clique no link para abrir os parâmetros personalizados associados ao seu cluster de banco de dados do Aurora PostgreSQL.

  5. No campo Parameters (Parâmetros), digite shared_pre para encontrar o parâmetro shared_preload_libraries.

  6. Selecione Edit parameters (Editar parâmetros) para acessar os valores das propriedades.

  7. Adicione pgaudit à lista no campo Values (Valores). Use uma vírgula para separar itens na lista de valores.

    Imagem do parâmetro shared_preload_libaries com pgAudit adicionada.
  8. Reinicie a instância do gravador de seu cluster de banco de dados do Aurora PostgreSQL para que a alteração no parâmetro shared_preload_libraries tenha efeito.

  9. Quando a instância estiver disponível, verifique se a pgAudit foi inicializada. Use psql para se conectar à instância do gravador de seu cluster de banco de dados do Aurora PostgreSQL e depois execute o comando a seguir.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)
  10. Com a pgAudit inicializada, agora você pode criar a extensão. Você precisa criar a extensão depois de inicializar a biblioteca porque a extensão pgaudit instala acionadores de eventos para auditar declarações de linguagem de definição de dados (DDL).

    CREATE EXTENSION pgaudit;
  11. Feche a sessão psql.

    labdb=> \q
  12. Faça login no AWS Management Console e abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  13. Encontre o parâmetro pgaudit.log na lista e defina como o valor apropriado para o caso de uso. Por exemplo, definir o parâmetro pgaudit.log como write conforme mostrado na imagem a seguir captura inserções, atualizações, exclusões e alguns outros tipos de alterações no log.

    Imagem do parâmetro pgaudit.log com a configuração.

    Você também pode selecionar um dos valores a seguir para o parâmetro pgaudit.log.

    • none: esse é o valor padrão. Nenhuma alteração no banco de dados é registrada.

    • all: registra tudo (read, write, function, role, ddl, misc).

    • ddl: registra todas as instruções de linguagem de definição de dados (DDL) não incluídas na classe ROLE.

    • function: registra chamadas de função e blocos de DO.

    • misc: registra comandos diversos, como DISCARD, FETCH, CHECKPOINT, VACUUM e SET.

    • read: registra SELECT e COPY quando a fonte é uma relação (como uma tabela) ou uma consulta.

    • role: registra declarações relacionadas a funções e privilégios, como GRANT, REVOKE, CREATE ROLE, ALTER ROLE e DROP ROLE.

    • write: registra INSERT, UPDATE, DELETE, TRUNCATE e COPY quando o destino é uma relação (tabela).

  14. Escolha Salvar alterações.

  15. Abra o console do Amazon RDS em https://console.aws.amazon.com/rds/.

  16. Selecione a instância do gravador do cluster de banco de dados do Aurora PostgreSQL na lista Bancos de dados.

Como configurar a pgAudit

Para configurar a pgAudit usando a AWS CLI, chame a operação modify-db-parameter-group para modificar os parâmetros do log de auditoria em seu grupo de parâmetros personalizado, conforme mostrado no procedimento a seguir.

  1. Use o comando AWS CLI a seguir para adicionar pgaudit ao parâmetro shared_preload_libraries.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pgaudit,ApplyMethod=pending-reboot" \ --region aws-region
  2. Use o comando AWS CLI a seguir para reinicializar a instância do gravador de seu cluster de banco de dados do Aurora PostgreSQL para que a biblioteca da pgaudit seja inicializada.

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region
  3. Quando a instância estiver disponível, verifique se a pgaudit foi inicializada. Use psql para se conectar à instância do gravador de seu cluster de banco de dados do Aurora PostgreSQL e, depois, execute o comando a seguir.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)

    Com a pgAudit inicializada, agora você pode criar a extensão.

    CREATE EXTENSION pgaudit;
  4. Feche a sessão psql para que você possa usar a AWS CLI.

    labdb=> \q
  5. Use o comando AWS CLI a seguir para especificar as classes de declaração que devem ser registradas pelo registro em log de auditoria da sessão. O exemplo define o parâmetro pgaudit.log como write, que captura inserções, atualizações e exclusões no log.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=pgaudit.log,ParameterValue=write,ApplyMethod=pending-reboot" \ --region aws-region

    Você também pode selecionar um dos valores a seguir para o parâmetro pgaudit.log.

    • none: esse é o valor padrão. Nenhuma alteração no banco de dados é registrada.

    • all: registra tudo (read, write, function, role, ddl, misc).

    • ddl: registra todas as instruções de linguagem de definição de dados (DDL) não incluídas na classe ROLE.

    • function: registra chamadas de função e blocos de DO.

    • misc: registra comandos diversos, como DISCARD, FETCH, CHECKPOINT, VACUUM e SET.

    • read: registra SELECT e COPY quando a fonte é uma relação (como uma tabela) ou uma consulta.

    • role: registra declarações relacionadas a funções e privilégios, como GRANT, REVOKE, CREATE ROLE, ALTER ROLE e DROP ROLE.

    • write: registra INSERT, UPDATE, DELETE, TRUNCATE e COPY quando o destino é uma relação (tabela).

    Reinicie a instância do gravador de seu cluster de banco de dados do Aurora PostgreSQL usando o comando AWS CLI a seguir.

    aws rds reboot-db-instance \ --db-instance-identifier writer-instance \ --region aws-region