Cette page explique comment afficher les journaux d'audit générés par pgAudit. Cette fonctionnalité vous aide à configurer les journaux fréquemment requis pour être en conformité avec les exigences de certifications gouvernementales, financières et ISO. Cette page décrit également le format de journalisation de pgAudit. Pour en savoir plus sur pgAudit, consultez la section À propos de pgAudit.
Avant de commencer
Pour afficher les journaux d'audit, procédez comme suit:
Activez les journaux d'audit des accès aux données pour votre projet AlloyDB.
Assurez-vous de disposer du rôle Lecteur des journaux privés (
roles/logging.privateLogViewer
).
Consulter les journaux d'audit
Les journaux pgAudit générés pour une instance donnée sont envoyés à Cloud Logging en tant que journaux d'audit pour l'accès aux données.
Vous pouvez afficher les journaux pgAudit générés à l'aide de l'application Explorateur de journaux.
Pour afficher les journaux pgAudit, sélectionnez le filtre de journal cloudaudit.googleapis.com/data_access
dans l'application Explorateur de journaux.
Pour afficher tous les journaux pgAudit d'un projet AlloyDB, exécutez la requête suivante à l'aide de l'interface Filtre avancé:
resource.type="alloydb.googleapis.com/Instance" logName="projects/your-project-name/logs/cloudaudit.googleapis.com%2Fdata_access" protoPayload.request.@type="type.googleapis.com/google.cloud.alloydb.audit.v1.PgAuditEntry"
Format des journaux pour pgAudit
Chaque entrée de journal pgAudit dans les journaux d'audit pour l'accès aux données contient des champs représentant les informations collectées pour une requête. Pour en savoir plus sur ces champs d'entrée de journal, consultez la documentation de pgAudit.
Exemple d'entrée de journal 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" } } }
Vous trouverez ci-dessous la description des champs disponibles dans les journaux d'audit pour l'accès aux données :
- auditClass. Type d'instruction consigné. Les valeurs possibles sont READ, WRITE, FUNCTION, ROLE, DDL, MISC et MISC_SET.
- auditType. SESSION ou OBJECT.
- chunkCount Les données fournies dans les champs
parameter
etstatement
peuvent être fragmentées. Le champchunkCount
indique le nombre total de fragments. Consultez également la description du champchunkIndex
. - chunkIndex. Indique le numéro d'index des fragments de données dans les champs
parameter
etstatement
du conteneurrequest
actuel. Le nombre initial est1
. Reportez-vous également à la description du champchunkCount
. - command. Par exemple, ALTER TABLE ou SELECT.
- paramètre. Le champ
chunkIndex
peut déterminer le contenu de ce champ. Reportez-vous à la description du champchunkIndex
. Si la valeur de "pgaudit.log_parameter" est définie, le champparameter
peut contenir les paramètres d'instruction sous la forme de données CSV entre guillemets.[none]
si aucun paramètre n'est défini. Dans le cas contraire, ce champ contient la valeur[not logged]
(non consigné). - instruction. Instruction exécutée sur le backend.
Le champ
chunkIndex
peut déterminer le contenu du champstatement
. Reportez-vous à la description du champchunkIndex
. - statementId Identifiant d'instruction unique pour cette session. Chaque ID d'instruction représente un appel de backend. Les ID d'instruction sont séquentiels, même si certaines instructions ne sont pas consignées.
- substatementId. ID séquentiel pour chaque sous-instruction de l'instruction principale.