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.
Configuration de l’extension pgAudit
Pour configurer l’extension pgAudit sur votre instance de base de données RDS pour PostgreSQL , vous devez d’abord ajouter pgAudit aux bibliothèques partagées sur le groupe de paramètres de base de données personnalisé pour votre instance de base de données RDS pour PostgreSQL. Pour plus d'informations sur la création d'un groupe de paramètres de cluster de bases de données, consultez Groupes de paramètres pour Amazon RDS. Ensuite, vous installez l'extension pgAudit. Enfin, vous spécifiez les bases de données et les objets que vous souhaitez auditer. Les procédures de cette section vous guident. Pour ce faire, vous pouvez utiliser la AWS Management Console ou la AWS CLI.
Vous devez disposer d’autorisations en tant que rôle rds_superuser pour effectuer toutes ces tâches.
Les étapes suivantes supposent que votre instance de base de données RDS pour PostgreSQL est associé(e) à un groupe de paramètres de bases de données personnalisé.
Configurer l'extension pgAudit
Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/
. -
Dans le panneau de navigation, choisissez l’instance de base de données RDS pour PostgreSQL.
-
Ouvrez l’onglet Configuration de Instance de base de données RDS pour PostgreSQL. Parmi les détails de l’instance, trouvez le lien Groupe de paramètres.
-
Cliquez sur le lien pour ouvrir les paramètres personnalisés associés à votre Instance de base de données RDS pour PostgreSQL.
-
Dans le champ de recherche Parameters (Paramètres), tapez
shared_prepour trouver le paramètreshared_preload_libraries. -
Choisissez Edit parameters (Modifier les paramètres) pour accéder aux valeurs des propriétés.
-
Ajoutez
pgaudità la liste dans le champ Values (Valeurs). Utilisez une virgule pour séparer les éléments de la liste de valeurs.
Redémarrez l’instance de base de données RDS pour PostgreSQL afin que vos modifications du paramètre
shared_preload_librariesprennent effet.Lorsque l'instance est disponible, vérifiez que pgAudit a été initialisé. Utilisez
psqlpour vous connecter à l’instance de base de données RDS pour PostgreSQL, puis exécutez la commande suivante.SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)Une fois pgAudit initialisé, vous pouvez maintenant créer l’extension. Vous devez créer l'extension après avoir initialisé la bibliothèque, car l'extension
pgauditinstalle des déclencheurs d'événements pour auditer les instructions du langage de définition des données (DDL).CREATE EXTENSION pgaudit;Fermez la session
psql.labdb=>\qConnectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/
. Trouvez le paramètre
pgaudit.logdans la liste et définissez la valeur appropriée pour votre cas d'utilisation. Par exemple, la définition du paramètrepgaudit.logenwritecomme indiqué dans l'image suivante permet de capturer des insertions, des mises à jour, des suppressions et d'autres types de modifications dans le journal.
Vous pouvez également choisir l’une des valeurs suivantes pour le paramètre
pgaudit.log.none – La valeur par défaut. Aucune modification de base de données n’est journalisée.
all – Journalise tout (lecture, écriture, fonction, rôle, ddl, divers).
ddl – Journalise toutes les instructions en langage de définition de données (DDL) qui ne sont pas incluses dans la classe
ROLE.function – Journalise les appels de fonction et les blocs
DO.misc – Journalise diverses commandes, telles que
DISCARD,FETCH,CHECKPOINT,VACUUMetSET.read – Journalise
SELECTetCOPYlorsque la source est une relation (comme une table) ou une requête.role – Journalise les instructions relatives aux rôles et privilèges, telles que
GRANT,REVOKE,CREATE ROLE,ALTER ROLEetDROP ROLE.write – Journalise
INSERT,UPDATE,DELETE,TRUNCATEetCOPYlorsque la destination est une relation (table).
Sélectionnez Enregistrer les modifications.
Ouvrez la console Amazon RDS à l’adresse https://console.aws.amazon.com/rds/
. Choisissez l’instance de base de données RDS pour PostgreSQL dans la liste des bases de données.
Configurer pgAudit
Pour configurer pgAudit à l'aide de l'AWS CLI, vous devez appeler l'opération modify-db-parameter-group afin de modifier les paramètres du journal d'audit dans votre groupe de paramètres personnalisé, comme indiqué dans la procédure suivante.
Utilisez la commande AWS CLI suivante pour ajouter
pgauditau paramètreshared_preload_libraries.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region-
Utilisez la commande AWS CLI suivante pour redémarrer l’instance de base de données RDS pour PostgreSQL afin que la bibliothèque pgAudit soit initialisée.
aws rds reboot-db-instance \ --db-instance-identifieryour-instance\ --regionaws-region Lorsque l’instance est disponible, vous pouvez vérifier que
pgaudita été initialisé. Utilisezpsqlpour vous connecter à l’instance de base de données RDS pour PostgreSQL, puis exécutez la commande suivante.SHOW shared_preload_libraries;shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)Une fois pgAudit initialisé, vous pouvez maintenant créer l’extension.
CREATE EXTENSION pgaudit;Fermez la session
psqlafin de pouvoir utiliser l’AWS CLI.labdb=>\qUtilisez la commande AWS CLI suivante pour spécifier les classes d'instructions qui doivent être journalisées par journalisation des audits de session. L'exemple définit le paramètre
pgaudit.logsurwrite, qui capture les insertions, les mises à jour et les suppressions dans le journal.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=pgaudit.log,ParameterValue=write,ApplyMethod=pending-reboot" \ --regionaws-regionVous pouvez également choisir l’une des valeurs suivantes pour le paramètre
pgaudit.log.none – La valeur par défaut. Aucune modification de base de données n’est journalisée.
all – Journalise tout (lecture, écriture, fonction, rôle, ddl, divers).
ddl – Journalise toutes les instructions en langage de définition de données (DDL) qui ne sont pas incluses dans la classe
ROLE.function – Journalise les appels de fonction et les blocs
DO.misc – Journalise diverses commandes, telles que
DISCARD,FETCH,CHECKPOINT,VACUUMetSET.read – Journalise
SELECTetCOPYlorsque la source est une relation (comme une table) ou une requête.role – Journalise les instructions relatives aux rôles et privilèges, telles que
GRANT,REVOKE,CREATE ROLE,ALTER ROLEetDROP ROLE.write – Journalise
INSERT,UPDATE,DELETE,TRUNCATEetCOPYlorsque la destination est une relation (table).
Redémarrez l’instance de base de données RDS pour PostgreSQL, à l’aide de la commande AWS CLI suivante.
aws rds reboot-db-instance \ --db-instance-identifieryour-instance\ --regionaws-region