Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Audit d'objets de base de données
Une fois que pgAudit est défini sur votre instance de base de données RDS for PostgreSQL et qu'il est configuré en fonction de vos besoins, des informations plus détaillées sont capturées dans le journal PostgreSQL. Par exemple, alors que la configuration de journalisation PostgreSQL par défaut identifie la date et l'heure auxquelles une modification a été apportée à une table de base de données, avec l'extension pgAudit, l'entrée du journal peut inclure le schéma, l'utilisateur qui a effectué la modification et d'autres détails en fonction de la manière dont les paramètres de l'extension sont configurés. Vous pouvez configurer l'audit pour suivre les modifications de différentes manières.
Pour chaque session, par utilisateur. Au niveau de la session, vous pouvez capturer le texte de commande complet.
Pour chaque objet, par utilisateur et par base de données.
La fonctionnalité d'audit des objets est activée lorsque vous créez le rôle rds_pgaudit sur votre système, puis que vous ajoutez ce rôle au paramètre pgaudit.role dans votre groupe de paramètres personnalisé. Par défaut, le paramètre pgaudit.role n'est pas défini et la seule valeur autorisée est rds_pgaudit. Les étapes suivantes supposent que pgaudit a été initialisé et que vous avez créé l'extension pgaudit en suivant la procédure décrite dans Configuration de l’extension pgAudit.
Comme le montre cet exemple, la ligne « LOG: AUDIT: SESSION » fournit des informations sur la table et son schéma, entre autres détails.
Configurer l'audit d'objets
Utilisez
psqlpour vous connecter à l'instance de base de données RDS for PostgreSQL..psql --host=your-instance-name.aws-region.rds.amazonaws.com --port=5432 --username=postgrespostgres --password --dbname=labdb-
Créez un rôle de base de données appelé
rds_pgaudità l'aide de la commande suivante.labdb=>CREATE ROLE rds_pgaudit;CREATE ROLElabdb=> Fermez la session
psql.labdb=>\qDans les étapes suivantes, utilisez l'AWS CLI pour modifier les paramètres du journal d'audit dans votre groupe de paramètres personnalisé.
-
Utilisez la commande AWS CLI suivante pour définir le paramètre
pgaudit.roleàrds_pgaudit. Par défaut, ce paramètre est vide etrds_pgauditest la seule valeur autorisée.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=pgaudit.role,ParameterValue=rds_pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region -
Utilisez la commande AWS CLI suivante pour redémarrer l'instance de base de données RDS for PostgreSQL afin que les modifications apportées aux paramètres prennent effet.
aws rds reboot-db-instance \ --db-instance-identifieryour-instance\ --regionaws-region Exécutez la commande suivante pour confirmer que
pgaudit.roleest défini surrds_pgaudit.SHOW pgaudit.role;pgaudit.role ------------------ rds_pgaudit
Pour tester la journalisation pgAudit, vous pouvez exécuter plusieurs exemples de commandes que vous souhaitez auditer. Par exemple, vous pouvez exécuter les commandes suivantes.
CREATE TABLE t1 (id int); GRANT SELECT ON t1 TO rds_pgaudit; SELECT * FROM t1;id ---- (0 rows)
Les journaux de base de données doivent contenir une entrée similaire à ce qui suit.
...
2017-06-12 19:09:49 UTC:...:rds_test@postgres:[11701]:LOG: AUDIT:
OBJECT,1,1,READ,SELECT,TABLE,public.t1,select * from t1;
...Pour obtenir des informations sur l'affichage des journaux, veuillez consulter Surveillance des fichiers journaux Amazon RDS.
Pour en savoir plus sur l'extension pgAudit, veuillez consulter pgAudit