Configuration de l' pgAudit extension - Amazon Relational Database Service

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' pgAudit extension

Pour configurer l' pgAudit extension sur votre , vous devez d'abord l'ajouter pgAudit aux bibliothèques partagées sur le groupe de paramètres de base de données personnalisé RDS pour votre instance de base de données Postgre SQL. 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' pgAudit extension. Enfin, vous spécifiez les bases de données et les objets que vous souhaitez auditer. Les procédures de cette section vous guident. Vous pouvez utiliser le plugin AWS Management Console ou le 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 pour SQL instance de base de données Postgre est associé à un groupe de paramètres de base de données de de base de données personnalisé.

Pour configurer l' pgAudit extension
  1. Connectez-vous au AWS Management Console et ouvrez la RDS console Amazon à l'adresse https://console.aws.amazon.com/rds/.

  2. Dans le volet de navigation, choisissez l' de SQL base de données Postgre.

  3. Ouvrez l'onglet Configuration de votre . RDSpour une SQL instance de base de données Postgre. Parmi les détails de l'instance, trouvez le lien Groupe de paramètres.

  4. Cliquez sur le lien pour ouvrir les paramètres personnalisés associés à votre . RDSpour une SQL instance de base de données Postgre.

  5. Dans le champ de recherche Parameters (Paramètres), tapez shared_pre pour trouver le paramètre shared_preload_libraries.

  6. Choisissez Edit parameters (Modifier les paramètres) pour accéder aux valeurs des propriétés.

  7. Ajoutez pgaudit à la liste dans le champ Values (Valeurs). Utilisez une virgule pour séparer les éléments de la liste de valeurs.

    Image du shared_preload_libaries paramètre pgAudit ajouté.
  8. Redémarrez l' pour l'SQLinstance de base de données Postgre afin que votre modification du shared_preload_libraries paramètre prenne effet.

  9. Lorsque l'instance est disponible, vérifiez qu'pgAuditelle a été initialisée. Utilisez-le psql pour vous connecter à l' pour l'SQLinstance de base de données Postgre, puis exécutez la commande suivante.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)
  10. Une pgAudit fois initialisé, vous pouvez désormais créer l'extension. Vous devez créer l'extension après avoir initialisé la bibliothèque, car l'pgauditextension installe des déclencheurs d'événements pour auditer les instructions du langage de définition des données (DDL).

    CREATE EXTENSION pgaudit;
  11. Fermez la session psql.

    labdb=> \q
  12. Connectez-vous au AWS Management Console et ouvrez la RDS console Amazon à l'adresse https://console.aws.amazon.com/rds/.

  13. Trouvez le paramètre pgaudit.log dans la liste et définissez la valeur appropriée pour votre cas d'utilisation. Par exemple, la définition du paramètre pgaudit.log en write comme indiqué dans l'image suivante permet de capturer des insertions, des mises à jour, des suppressions et d'autres types de modifications dans le journal.

    Image du paramètre pgaudit.log avec la définition.

    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 — Enregistre toutes les instructions du langage de définition de données (DDL) qui ne sont pas incluses dans la ROLE classe.

    • function – Journalise les appels de fonction et les blocs DO.

    • misc – Journalise diverses commandes, telles que DISCARD, FETCH, CHECKPOINT, VACUUM et SET.

    • read – Journalise SELECT et COPY lorsque 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 ROLE et DROP ROLE.

    • write – Journalise INSERT, UPDATE, DELETE, TRUNCATE et COPY lorsque la destination est une relation (table).

  14. Sélectionnez Enregistrer les modifications.

  15. Ouvrez la RDS console Amazon à l'adresse https://console.aws.amazon.com/rds/.

  16. Choisissez l'instance d' de SQL base de données Postgre dans la liste des bases de données.

Pour configurer pgAudit

Pour effectuer une configuration pgAudit à l'aide du AWS CLI, vous appelez l'modify-db-parameter-groupopération pour modifier les paramètres du journal d'audit dans votre groupe de paramètres personnalisé, comme indiqué dans la procédure suivante.

  1. Utilisez ce qui suit AWS CLI commande à ajouter pgaudit au shared_preload_libraries paramètre.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pgaudit,ApplyMethod=pending-reboot" \ --region aws-region
  2. Utilisez ce qui suit AWS CLI commande pour redémarrer l' pour SQL instance de base de données Postgre afin que la bibliothèque pgaudit soit initialisée.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  3. Lorsque l'instance est disponible, vous pouvez vérifier que pgaudit a été initialisé. Utilisez-le psql pour vous connecter à l' pour l'SQLinstance de base de données Postgre, puis exécutez la commande suivante.

    SHOW shared_preload_libraries; shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)

    Une pgAudit fois initialisé, vous pouvez désormais créer l'extension.

    CREATE EXTENSION pgaudit;
  4. Fermez la psql session afin de pouvoir utiliser le AWS CLI.

    labdb=> \q
  5. Utilisez ce qui suit AWS CLI commande pour spécifier les classes d'instructions qui doivent être enregistrées par journalisation d'audit de session. L'exemple définit le paramètre pgaudit.log sur write, qui capture les insertions, les mises à jour et les suppressions dans le journal.

    aws rds modify-db-parameter-group \ --db-parameter-group-name custom-param-group-name \ --parameters "ParameterName=pgaudit.log,ParameterValue=write,ApplyMethod=pending-reboot" \ --region aws-region

    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 — Enregistre toutes les instructions du langage de définition de données (DDL) qui ne sont pas incluses dans la ROLE classe.

    • function – Journalise les appels de fonction et les blocs DO.

    • misc – Journalise diverses commandes, telles que DISCARD, FETCH, CHECKPOINT, VACUUM et SET.

    • read – Journalise SELECT et COPY lorsque 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 ROLE et DROP ROLE.

    • write – Journalise INSERT, UPDATE, DELETE, TRUNCATE et COPY lorsque la destination est une relation (table).

    Redémarrez l' pour SQL instance de base de données Postgre en procédant comme suit AWS CLI commande.

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region