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 pgAudit configuré sur votre pour l'SQLinstance de base de données Postgre et configuré selon vos besoins, des informations plus détaillées sont capturées dans le journal SQL Postgre. Par exemple, alors que la configuration de SQL journalisation Postgre par défaut identifie la date et l'heure auxquelles une modification a été apportée dans une table de base de données, avec l'pgAuditextension, 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 façon 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' pgAudit extension.
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-le
psql
pour vous connecter à l'. RDSpour une SQL instance de base de données Postgre.psql --host=
your-instance-name
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres
postgres --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 ROLE
labdb=>
Fermez la session
psql
.labdb=>
\q
Au cours des prochaines étapes, utilisez AWS CLI pour modifier les paramètres du journal d'audit dans votre groupe de paramètres personnalisé.
-
Utilisez ce qui suit AWS CLI commande pour définir le
pgaudit.role
paramètre surrds_pgaudit
. Par défaut, ce paramètre est vide etrds_pgaudit
est la seule valeur autorisée.aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=pgaudit.role,ParameterValue=rds_pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region
-
Utilisez ce qui suit AWS CLI commande pour redémarrer l' pour SQL instance de base de données Postgre afin que les modifications apportées aux paramètres prennent effet.
aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region
Exécutez la commande suivante pour confirmer que
pgaudit.role
est défini surrds_pgaudit
.SHOW pgaudit.role;
pgaudit.role ------------------ rds_pgaudit
Pour tester la pgAudit journalisation, 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 RDSAmazon.
Pour en savoir plus sur l' pgAudit extension, reportez-vous à pgAudit