Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Atualizado em 2024-08-19 GMT+08:00

Despejo dos logs de auditoria do banco de dados

GaussDB(DWS) registra informações (logs de auditoria) sobre conexões e atividades do usuário em seu banco de dados. Com as informações, você pode monitorar o banco de dados para garantir a segurança e facilitar a solução de problemas de falhas e a localização de registros históricos de operação. Esses logs de auditoria são armazenados no banco de dados por padrão. Você também pode despejá-los no OBS para que os usuários responsáveis pelo monitoramento do banco de dados possam visualizar os logs de forma mais conveniente.

  • Esta função não pode ser usada se o OBS não estiver disponível.
  • Os dados podem ser alterados durante as especificações do cluster, adição ou exclusão de CN. É aconselhável desativar o despejo de log de auditoria durante essas operações.
  • Depois que o despejo de log de auditoria for ativado, os logs de auditoria serão descartados se o tamanho dos logs de auditoria salvos exceder 1 GB. Isso pode causar resultados de consulta anormais. Tenha cuidado ao realizar esta operação.
  • Se um nó CN estiver com defeito, os dados sobre o nó CN podem ser perdidos.
  • O suporte de versão para a partição de diretório de despejo de log de auditoria é o seguinte:
    • Para clusters de 8.1.3.x, apenas 8.1.3.322 e versões posteriores suportam esse recurso. Para clusters de 8.2.0.x, apenas 8.2.0.106 e versões posteriores suportam esse recurso. Por padrão, a partição de diretório de despejo de log de auditoria está ativada e não pode ser desativada.
    • Para usar esse recurso em versões anteriores, entre em contato com o suporte técnico para atualizar seu cluster primeiro. Habilite manualmente esse recurso após a atualização.

Pré-requisitos

Depois que um cluster do GaussDB(DWS) é criado, você pode habilitar o despejo de log para que ele despeje logs de auditoria para o OBS. Antes de ativar o despejo de log de auditoria, certifique-se de que as seguintes condições sejam atendidas:

  • Você criou um bucket do OBS para armazenar os logs de auditoria. Para obter detalhes, consulte "Gerenciamento de buckets > Criando um Bucket" no Guia de operação do console do Object Storage Service.

Ativar despejos de log de auditoria

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Na árvore de navegação à esquerda, clique em Clusters.
  3. Na lista de clusters, clique no nome do cluster para o qual você deseja habilitar o despejo de logs de auditoria. No painel de navegação, escolha Security.
  4. Na área Audit Settings, ative Audit Log Dump.

    indica que a função está ativada. indica que a função está desativada.

    Quando você habilita o despejo de log de auditoria para um projeto em uma região pela primeira vez, o sistema solicita que você crie uma agência denominada DWSAccessOBS. Depois que a agência é criada, GaussDB(DWS) pode despejar logs de auditoria para OBS.

    Por padrão, apenas contas da Huawei Cloud ou usuários com permissões Security Administrator podem consultar e criar agências. Os usuários do IAM em uma conta não têm permissão para consultar ou criar agências por padrão. Entre em contato com um usuário com essa permissão e conclua a autorização na página atual.

    Figura 1 Ativar despejos de log de auditoria

    • OBS Foreign Table: os logs de auditoria podem ser lidos usando tabelas estrangeiras do OBS durante o despejo. Os logs de auditoria são armazenados no formato CSV e compactados no formato GZ.
    • OBS Bucket: nome do bucket do OBS usado para armazenar os dados do tópico. Se nenhum bucket do OBS estiver disponível, clique em View OBS Bucket para acessar o console do OBS e criar um. Para obter detalhes, consulte Gerenciamento de buckets > Criação de um bucket no Guia de operação do console do Object Storage Service.
    • OBS Path: diretório definido pelo usuário no OBS para armazenar arquivos de auditoria. Diferentes níveis de diretório são separados por barras (/). O valor é uma cadeia de caracteres que contém de 1 a 50 caracteres, que não pode começar com uma barra (/). Se o caminho do OBS inserido não existir, o sistema criará um e despejará os dados nele.
    • Dump Interval (Minute): intervalo baseado no qual o GaussDB(DWS) periodicamente despeja dados no OBS. O intervalo de valores é de 5 a 43.200. A unidade é minuto.

  5. Clique em Apply.

    Se Configuration Status estiver Applying, o sistema salvará as configurações.

    Quando o status muda para Synchronized, as configurações são salvas e têm efeito.

Modificar configurações de despejo de log de auditoria

Depois que o despejo de log de auditoria estiver habilitado, você poderá modificar as configurações de despejo, por exemplo, modificando o bucket do OBS, o caminho e o intervalo de despejo.

O procedimento é o seguinte:

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Na árvore de navegação à esquerda, clique em Clusters.
  3. Na lista de clusters, clique no nome do cluster para o qual você deseja modificar as configurações de despejo de log de auditoria. No painel de navegação, escolha Security.
  4. Na área Audit Settings, modifique as configurações do Audit Log Dump.
  5. Clique em Apply.

    Se Configuration Status estiver Applying, o sistema salvará as configurações.

    Quando o status muda para Synchronized, as configurações são salvas e têm efeito.

Exibir despejos de log de auditoria

Depois que o despejo de log de auditoria estiver ativado, você poderá exibir os logs de auditoria despejados no OBS.

O procedimento é o seguinte:

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Na árvore de navegação à esquerda, clique em Clusters.
  3. Na lista de clusters, clique no nome do cluster de destino para o qual você deseja exibir o histórico de despejo de log. No painel de navegação, escolha Security.
  4. Na área Audit Settings, clique em View Dump Record.
  5. Na caixa de diálogo Audit Log Dump Records, clique em View OBS Bucket. A página de console do OBS é exibida.
  6. Selecione o bucket e a pasta do OBS onde os logs estão armazenados para exibir os arquivos de log.

    Você pode baixar e descompactar os arquivos para visualizar. Os campos dos arquivos de log de auditoria são descritos da seguinte forma:

    Tabela 1 Campos do arquivo de log

    Campo

    Tipo

    Descrição

    begintime

    timestamp with time zone

    Hora de início da operação

    endtime

    timestamp with time zone

    Hora de fim da operação

    operation_type

    text

    Tipo de operação. Para mais detalhes, consulte Tabela 2.

    audit_type

    text

    Tipo de auditoria. Para mais detalhes, consulte Tabela 3.

    result

    text

    Resultado da operação

    username

    text

    Nome do usuário que executa a operação

    database

    text

    Nome do banco de dados

    client_conninfo

    text

    Informações de conexão do cliente, ou seja, gsql, JDBC ou ODBC.

    object_name

    text

    Nome do objeto

    command_text

    text

    Comando usado para realizar a operação

    detail_info

    text

    Detalhes da operação

    transaction_xid

    text

    ID da transação

    query_id

    text

    ID da consulta

    node_name

    text

    Nome do nó

    thread_id

    text

    ID do thread

    local_port

    text

    Porta local

    remote_port

    text

    Porta remota

    Tabela 2 Tipos de operação

    Tipo de operação

    Descrição

    audit_switch

    Indica que as operações de ativação e desativação da função de log de auditoria são auditadas.

    login_logout

    Indica que as operações de logon e logoff do usuário são auditadas.

    system

    Indica que as operações de inicialização, desligamento e alternância de instância do sistema são auditadas.

    sql_parse

    Indica que as operações de análise da instrução SQL são auditadas.

    user_lock

    Indica que as operações de bloqueio e desbloqueio do usuário são auditadas.

    grant_revoke

    Indica que as operações de concessão e revogação de permissão do usuário são auditadas.

    violation

    Indica que as operações de violação de acesso do usuário são auditadas.

    ddl

    Indica que as operações DDL são auditadas. As operações DDL são controladas em uma granularidade fina com base em objetos de operação. Portanto, audit_system_object é usado para controlar os objetos cujas operações DDL devem ser auditadas. (A função de auditoria entra em vigor desde que audit_system_object esteja configurado, não importa se ddl está definido.)

    dml

    Indica que as operações DML são auditadas.

    select

    Indica que as operações SELECT são auditadas.

    internal_event

    Indica que as operações de incidentes internos são auditadas.

    user_func

    Indica que as operações relacionadas a funções definidas pelo usuário, procedimentos armazenados e blocos anônimos são auditadas.

    special_func

    Indica que operações de invocação de funções especiais são auditadas. As funções especiais incluem pg_terminate_backend e pg_cancel_backend.

    copy

    Indica que as operações COPY são auditadas.

    set

    Indica que as operações SET são auditadas.

    transaction

    Indica que as operações de transação são auditadas.

    vacuum

    Indica que as operações VACUUM são auditadas.

    analyze

    Indica que as operações ANALYZE são auditadas.

    cursor

    Indica que as operações de cursor são auditadas.

    anonymous_block

    Indica que as operações de blocos anônimos são auditadas.

    explain

    Indica que as operações EXPLAIN são auditadas.

    show

    Indica que as operações SHOW são auditadas.

    lock_table

    Indica que as operações de bloqueio de tabela são auditadas.

    comment

    Indica que as operações COMMENT são auditadas.

    preparestmt

    Indica que as operações PREPARE, EXECUTE e DEALLOCATE são auditadas.

    cluster

    Indica que as operações CLUSTER são auditadas.

    constraints

    Indica que as operações CONSTRAINTS são auditadas.

    checkpoint

    Indica que as operações CHECKPOINT são auditadas.

    barrier

    Indica que as operações BARRIER são auditadas.

    cleanconn

    Indica que as operações CLEAN CONNECTION são auditadas.

    seclabel

    Indica que as operações de rótulo de segurança são auditadas.

    notify

    Indica que as operações de notificação são auditadas.

    load

    Indica que as operações de carregamento são auditadas.

    Tabela 3 Parâmetros de audit_type

    Parâmetro

    Descrição

    audit_open/audit_close

    Indica que o tipo de auditoria é operações que ativam ou desativam logs de auditoria.

    user_login/user_logout

    Indica que o tipo de auditoria é operações e usuários com logon/logoff bem-sucedido.

    system_start/system_stop/system_recover/system_switch

    Indica que o tipo de auditoria é inicialização, desligamento e alternância de instância do sistema.

    sql_wait/sql_parse

    Indica que o tipo de auditoria é análise de instrução SQL.

    lock_user/unlock_user

    Indica que o tipo de auditoria é bloqueio e desbloqueio bem-sucedidos do usuário.

    grant_role/revoke__role

    Indica que o tipo de auditoria é permissão de usuário concedendo e revogando.

    user_violation

    Indica que o tipo de auditoria é operações de acesso de usuário não autorizado.

    ddl_database_object

    Indica que as operações DDL bem-sucedidas são auditadas. As operações DDL são controladas em uma granularidade fina com base em objetos de operação. Portanto, audit_system_object é usado para controlar os objetos cujas operações DDL devem ser auditadas. (A função de auditoria entra em vigor desde que audit_system_object esteja configurado, não importa se ddl está definido.)

    Por exemplo, ddl_sequence indica que o tipo de auditoria é operações relacionadas à sequência.

    dml_action_insert/dml_action_delete/dml_action_update/dml_action_merge/dml_action_select

    Indica que o tipo de auditoria é operações DML como INSERT, DELETE, UPDATE e MERGE.

    internal_event

    Indica que o tipo de auditoria é eventos internos.

    user_func

    Indica que o tipo de auditoria é funções definidas pelo usuário, procedimentos armazenados ou operações de bloco anônimas.

    special_func

    Indica que o tipo de auditoria é invocação de função especial. As funções especiais incluem pg_terminate_backend e pg_cancel_backend.

    copy_to/copy_from

    Indica que o tipo de auditoria é operações COPY.

    set_parameter

    Indica que o tipo de auditoria é operações SET.

    trans_begin/trans_commit/trans_prepare/trans_rollback_to/trans_release/trans_savepoint/trans_commit_prepare/trans_rollback_prepare/trans_rollback

    Indica que o tipo de auditoria é operações relacionadas à transação.

    vacuum/vacuum_full/vacuum_merge

    Indica que o tipo de auditoria é operações VACUUM.

    analyze/analyze_verify

    Indica que o tipo de auditoria é operações ANALYZE.

    cursor_declare/cursor_move/cursor_fetch/cursor_close

    Indica que o tipo de auditoria é operações relacionadas ao cursor.

    codeblock_execute

    Indica que o tipo de auditoria é de blocos anônimos.

    explain

    Indica que o tipo de auditoria é operações EXPLAIN.

    show

    Indica que o tipo de auditoria é operações SHOW.

    lock_table

    Indica que o tipo de auditoria é operações de bloqueio de tabela.

    comment

    Indica que o tipo de auditoria é operações COMMENT.

    prepare/execute/deallocate

    Indica que o tipo de auditoria é operações PREPARE, EXECUTE ou DEALLOCATE.

    cluster

    Indica que o tipo de auditoria é operações CLUSTER.

    constraints

    Indica que o tipo de auditoria é operações CONSTRAINTS.

    checkpoint

    Indica que o tipo de auditoria é operações CHECKPOINT.

    barrier

    Indica que o tipo de auditoria é operações BARRIER.

    cleanconn

    Indica que o tipo de auditoria é operações CLEAN CONNECTION.

    seclabel

    Indica que o tipo de auditoria é operações de rótulo de segurança.

    notify

    Indica que o tipo de auditoria é operações de notificação.

    load

    Indica que o tipo de auditoria está carregando operações.

Desativar despejos de log de auditoria

Você pode desativar despejos de log de auditoria se você não quiser despejar logs de auditoria para OBS.

O procedimento é o seguinte:

  1. Faça logon no console de gerenciamento do GaussDB(DWS).
  2. Na árvore de navegação à esquerda, clique em Clusters.
  3. Na lista de clusters, clique no nome do cluster para o qual você deseja desativar despejo de log de auditoria. No painel de navegação, escolha Security.
  4. Na área Audit Settings, desabilite o despejo de log de auditoria.

    indica que a função está desativada.

  5. Clique em Apply.

    Se Configuration Status estiver Applying, o sistema salvará as configurações.

    Quando o status muda para Synchronized, as configurações são salvas e têm efeito.