Para monitorar a atividade do banco de dados e ajudar a atender aos requisitos de conformidade governamentais, financeiros e ISO, é possível visualizar e consultar os registros de auditoria de acesso a dados gerados pelo pgAudit para o AlloyDB para PostgreSQL no Cloud Logging. Também é possível inspecionar o formato de entrada de registro do pgAudit e monitorar o status do pipeline de geração de registros de auditoria no Cloud Monitoring. Para mais informações sobre o pgAudit, consulte Sobre o pgAudit.
Antes de começar
Para ver os registros de auditoria, faça o seguinte:
Ative os registros de auditoria de acesso a dados no projeto do AlloyDB.
Peça ao administrador para conceder a você o papel de Visualizador de registros particulares (
roles/logging.privateLogViewer).
Acessar registros de auditoria
Os registros pgAudit gerados para uma determinada instância são enviados para o Cloud Logging como registros de auditoria de acesso a dados.
É possível visualizar os registros pgAudit gerados usando o aplicativo Análise de registros.
Para visualizar os registros do pgAudit, selecione o filtro de registro cloudaudit.googleapis.com/data_access
no aplicativo Análise de registros.
Para ver todos os registros do pgAudit de um projeto do AlloyDB, execute a seguinte consulta usando a interface Filtro avançado:
resource.type="alloydb.googleapis.com/Instance" logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access" protoPayload.request.@type="type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"
Substitua PROJECT_ID pelo ID do projeto do
AlloyDB.
Formato de registro de pgAudit
Cada entrada de registro do pgAudit nos registros de auditoria de acesso a dados contém campos que representam as informações coletadas para uma consulta. Para mais informações sobre esses campos de entrada de registro, consulte a documentação do pgAudit.
Exemplo de entrada de registro do pgAudit:
{
protoPayload: {
@type: "type.googleapis.com/google.cloud.audit.AuditLog"
methodName: "alloydb.instances.query"
request: {
@type: "type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"
auditClass: "READ"
auditType: "SESSION"
chunkCount: "1"
chunkIndex: "1"
command: "SELECT"
database: "finance"
databaseSessionId: 2209692
parameter: "[not logged]"
statement: "SELECT * FROM revenue"
statementId: 2
substatementId: 1
user: "alice"
}
}
}
Veja a seguir as descrições dos campos nos registros de auditoria de acesso a dados:
- auditClass. O tipo da instrução que é registrada. Os valores possíveis são READ, WRITE, FUNCTION, ROLE, DDL, MISC e MISC_SET.
- auditType. SESSION ou OBJECT.
- chunkCount. A divisão em blocos pode ocorrer nos dados fornecidos nos campos
parameterestatement. O campochunkCountindica o número total de blocos. Consulte também a descrição do campochunkIndex. - chunkIndex. Especifica o número do índice dos blocos de dados nos campos
parameterestatementno contêinerrequestatual. O número inicial é1. Consulte também a descrição do campochunkCount. - . Por exemplo, ALTER TABLE ou SELECT.
- . O campo
chunkIndexpode determinar o conteúdo desse campo. Consulte a descrição do campochunkIndex. Se o valor da flagpgaudit.log_parameterestiver definido, o campoparameterpoderá conter os parâmetros da instrução como dados CSV entre aspas. Se não houver parâmetros, este campo conterá[none]. Caso contrário, este campo conterá[not logged]. - instrução. Instrução executada no back-end.
O campo
chunkIndexpode determinar o conteúdo do campostatement. Consulte a descrição do campochunkIndex. - statementId. ID de instrução exclusivo para esta sessão. Cada ID de instrução representa uma chamada de back-end. Os IDs de instrução são sequenciais, mesmo que algumas instruções não sejam registradas.
- substatementId. ID sequencial de cada subdeclaração na declaração principal.
Monitorar o status do pipeline de registro de auditoria
O AlloyDB processa os registros de auditoria gerados pelo usuário de forma assíncrona antes de encaminhá-los com segurança para o Cloud Logging. É possível monitorar o status, a capacidade de processamento e o backlog do pipeline de geração de registros de auditoria para suas instâncias e nós usando o Cloud Monitoring.
As seguintes métricas estão disponíveis no recurso monitorado alloydb.googleapis.com/InstanceNode no Metrics Explorer:
| Nome da métrica | Nome de exibição | Tipo de métrica / Tipo de valor | Unidade | Descrição |
|---|---|---|---|---|
alloydb.googleapis.com/node/database/logging/audit/backlog_bytes_count |
Tamanho do backlog do registro de auditoria | GAUGE / INT64 | Bytes (By) |
O tamanho, em bytes, do backlog do registro de auditoria no nó que aguarda o processamento e o upload para o Cloud Logging. Um valor alto ou crescente indica contrapressão no pipeline de encaminhamento de registro de auditoria. |
alloydb.googleapis.com/node/database/logging/audit/processed_bytes_count |
Bytes de registro de auditoria processados | DELTA / INT64 | Bytes (By) |
O número total de bytes de dados de registro de auditoria processados e encaminhados para o Cloud Logging pelo nó. |
alloydb.googleapis.com/node/database/logging/audit/processed_entries_count |
Entradas de registro de auditoria processadas | DELTA / INT64 | Contagem (1) |
O número total de entradas de registro de auditoria processadas e encaminhadas para o Cloud Logging pelo nó. |
Para mais informações, consulte a referência de métricas do System Insights.