

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
<a name="Appendix.PostgreSQL.CommonDBATasks.pgaudit.basic-setup"></a>

Pour configurer l’extension pgAudit sur votre cluster de bases de données Aurora PostgreSQL, vous devez d’abord ajouter pgAudit aux bibliothèques partagées sur le groupe de paramètres de cluster de bases de données personnalisé pour votre cluster de bases de données Aurora 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 Aurora](USER_WorkingWithParamGroups.md).  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 cluster de bases de données Aurora PostgreSQL est associé(e) à un groupe de paramètres de cluster de bases de données personnalisé. 

## Console
<a name="Appendix.PostgreSQL.CommonDBATasks.pgaudit.basic-setup.CON"></a>

**Configurer l’extension pgAudit**

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Dans le panneau de navigation, choisissez l’instance d’enregistreur de votre cluster de bases de données Aurora PostgreSQL .

1. Ouvrez l’onglet **Configuration** de l’instance d’enregistreur de votre cluster de bases de données Aurora PostgreSQL. Parmi les détails de l’instance, trouvez le lien **Groupe de paramètres**. 

1. Cliquez sur le lien pour ouvrir les paramètres personnalisés associés à votre cluster de bases de données Aurora PostgreSQL. 

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

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

1. 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 paramètre shared_preload_libaries avec pgAudit ajouté.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/images/apg_rpg_shared_preload_pgaudit.png)

1. Redémarrez l’instance d’enregistreur de votre cluster de bases de données Aurora PostgreSQL afin que vos modifications du paramètre `shared_preload_libraries` prennent effet. 

1. Lorsque l’instance est disponible, vérifiez que pgAudit a été initialisé. Utilisez `psql` pour vous connecter à l’instance d’enregistreur de votre cluster de bases de données Aurora PostgreSQL, puis exécutez la commande suivante.

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

1. 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 `pgaudit` installe des déclencheurs d’événements pour auditer les instructions du langage de définition des données (DDL). 

   ```
   CREATE EXTENSION pgaudit;
   ```

1. Fermez la session `psql`.

   ```
   labdb=> \q
   ```

1. Connectez-vous à la AWS Management Console et ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. 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.\]](http://docs.aws.amazon.com/fr_fr/AmazonRDS/latest/AuroraUserGuide/images/rpg_set_pgaudit-log-level.png)

   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`, `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).

1. Sélectionnez **Enregistrer les modifications**.

1. Ouvrez la console Amazon RDS à l’adresse [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Choisissez l’instance d’enregistreur de votre cluster de bases de données Aurora PostgreSQL dans la liste des bases de données.

## AWS CLI
<a name="Appendix.PostgreSQL.CommonDBATasks.pgaudit.basic-setup.CLI"></a>

**Configurer pgAudit**

Pour configurer pgAudit à l’aide de l’AWS CLI, vous devez appeler l’opération [modify-db-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-parameter-group.html) afin de modifier les paramètres du journal d’audit dans votre groupe de paramètres personnalisé, comme indiqué dans la procédure suivante.

1. Utilisez la commande AWS CLI suivante pour ajouter `pgaudit` au paramètre `shared_preload_libraries`.

   ```
   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
   ```

1. Utilisez la commande AWS CLI suivante pour redémarrer l’instance d’enregistreur de votre cluster de bases de données Aurora PostgreSQL afin que la bibliothèque pgAudit soit initialisée.

   ```
   aws rds reboot-db-instance \
       --db-instance-identifier writer-instance \
       --region aws-region
   ```

1. Lorsque l’instance est disponible, vous pouvez vérifier que `pgaudit` a été initialisé. Utilisez `psql` pour vous connecter à l’instance d’enregistreur de votre cluster de bases de données Aurora 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;
   ```

1. Fermez la session `psql` afin de pouvoir utiliser l’AWS CLI.

   ```
   labdb=> \q
   ```

1. Utilisez 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.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 – 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`, `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’instance d’enregistreur de votre cluster de bases de données Aurora PostgreSQL, à l’aide de la commande AWS CLI suivante.

   ```
   aws rds reboot-db-instance \
       --db-instance-identifier writer-instance \
       --region aws-region
   ```