

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 des SSL/TLS certificats pour les connexions Aurora DSQL
<a name="configure-root-certificates"></a><a name="ssl-certificate-overview"></a>

Aurora DSQL exige que toutes les connexions utilisent le chiffrement par protocole TLS (Transport Layer Security). Pour établir des connexions sécurisées, votre système client doit faire confiance à Amazon Root CA 1 (Root Certificate Authority). Ce certificat est préinstallé sur de nombreux systèmes d’exploitation. Cette section fournit des instructions pour vérifier le certificat Amazon Root CA 1 préinstallé sur différents systèmes d’exploitation et vous guide tout au long du processus d’installation manuelle du certificat s’il n’est pas déjà présent. 

Nous vous recommandons d’utiliser la version 17 de PostgreSQL.

**Important**  
Pour les environnements de production, nous recommandons d’utiliser le mode SSL `verify-full` pour garantir le plus haut niveau de sécurité de connexion. Ce mode vérifie que le certificat du serveur est signé par une autorité de certification fiable et que le nom d’hôte du serveur correspond au certificat.

## Vérification des certificats préinstallés
<a name="verify-installed-certificates"></a>

Dans la plupart des systèmes d’exploitation, **Amazon Root CA 1** est déjà préinstallé. Pour le valider, suivez les étapes indiquées ci-dessous.

### Linux (RedHat/CentOS/Fedora)
<a name="verify-linux"></a>

Exécutez la commande suivante dans votre terminal :

```
trust list | grep "Amazon Root CA 1"
```

Si le certificat est installé, vous obtenez la sortie suivante :

```
label: Amazon Root CA 1
```

### macOS
<a name="verify-macos"></a>

1. Ouvrez Spotlight Search (**Command** \$1 **Espace**)

1. Recherchez **Keychain Access**

1. Sélectionnez **System Roots** sous **System Keychains**

1. Recherchez **Amazon Root CA 1** dans la liste des certificats

### Windows
<a name="verify-windows"></a>

**Note**  
En raison d’un problème connu avec le client Windows PSQL, l’utilisation de certificats racine du système (`sslrootcert=system`) peut renvoyer l’erreur suivante : `SSL error: unregistered scheme`. Vous pouvez suivre la méthode [Connexion depuis Windows](#connect-windows) comme méthode alternative pour vous connecter à votre cluster à l’aide du protocole SSL. 

Si **Amazon Root CA 1** n’est pas installé sur votre système d’exploitation, suivez les étapes ci-dessous. 

## Installation de certificats
<a name="install-certificates"></a>

 Si le certificat `Amazon Root CA 1` n’est pas préinstallé sur votre système d’exploitation, vous devrez l’installer manuellement afin d’établir des connexions sécurisées avec votre cluster Aurora DSQL. 

### Installation du certificat Linux
<a name="install-linux"></a>

Suivez ces étapes pour installer le certificat Amazon Root CA sur les systèmes Linux.

1. Téléchargez le certificat racine :

   ```
   wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

1. Ajoutez le certificat au Trust Store :

   ```
   sudo cp ./AmazonRootCA1.pem /etc/pki/ca-trust/source/anchors/
   ```

1. Mettez à jour le CA Trust Store :

   ```
   sudo update-ca-trust
   ```

1. Vérifier l’installation :

   ```
   trust list | grep "Amazon Root CA 1"
   ```

### Installation du certificat macOS
<a name="install-macos"></a>

Ces étapes d’installation du certificat sont facultatives. L’[Installation du certificat Linux](#install-linux) fonctionne également pour un macOS.

1. Téléchargez le certificat racine :

   ```
   wget https://www.amazontrust.com/repository/AmazonRootCA1.pem
   ```

1. Ajoutez le certificat au trousseau du système :

   ```
   sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain AmazonRootCA1.pem
   ```

1. Vérifier l’installation :

   ```
   security find-certificate -a -c "Amazon Root CA 1" -p /Library/Keychains/System.keychain
   ```

## Connexion avec SSL/TLS vérification
<a name="connect-using-certificates"></a>

 Avant de configurer SSL/TLS des certificats pour des connexions sécurisées à votre cluster Aurora DSQL, assurez-vous de remplir les conditions préalables suivantes. 
+ PostgreSQL version 17 installée
+ AWS CLI configuré avec les informations d'identification appropriées
+ Informations sur les points de terminaison du cluster Aurora DSQL

### Connexion depuis Linux
<a name="connect-linux"></a>

1. Générez et définissez le jeton d’authentification :

   ```
   export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token --region=your-cluster-region --hostname your-cluster-endpoint)
   ```

1. Connectez-vous à l’aide de certificats système (s’ils sont préinstallés) :

   ```
   PGSSLROOTCERT=system \
   PGSSLMODE=verify-full \
   psql --dbname postgres \
   --username admin \
   --host your-cluster-endpoint
   ```

1. Ou connectez-vous à l’aide d’un certificat téléchargé :

   ```
   PGSSLROOTCERT=/full/path/to/root.pem \
   PGSSLMODE=verify-full \
   psql --dbname postgres \
   --username admin \
   --host your-cluster-endpoint
   ```

**Note**  
 Pour en savoir plus sur les paramètres PGSSLMODE, consultez [sslmode](https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE) dans la documentation [Fonctions de contrôle de connexion à la base de données](https://www.postgresql.org/docs/current/libpq-connect.html) PostgreSQL 17. 

### Connexion depuis macOS
<a name="connect-macos"></a>

1. Générez et définissez le jeton d’authentification :

   ```
   export PGPASSWORD=$(aws dsql generate-db-connect-admin-auth-token --region=your-cluster-region --hostname your-cluster-endpoint)
   ```

1. Connectez-vous à l’aide de certificats système (s’ils sont préinstallés) :

   ```
   PGSSLROOTCERT=system \
   PGSSLMODE=verify-full \
   psql --dbname postgres \
   --username admin \
   --host your-cluster-endpoint
   ```

1. Vous pouvez également télécharger le certificat racine et l’enregistrer sous `root.pem` (si le certificat n’est pas préinstallé)

   ```
   PGSSLROOTCERT=/full/path/to/root.pem \
   PGSSLMODE=verify-full \
   psql —dbname postgres \
   --username admin \
   --host your_cluster_endpoint
   ```

1. Connexion à l’aide de psql :

   ```
   PGSSLROOTCERT=/full/path/to/root.pem \
   PGSSLMODE=verify-full \
   psql —dbname postgres \
   --username admin \
   --host your_cluster_endpoint
   ```

### Connexion depuis Windows
<a name="connect-windows"></a>

#### Utilisation d’une invite de commande
<a name="windows-command-prompt"></a>

1. Générez le jeton d’authentification :

   ```
   aws dsql generate-db-connect-admin-auth-token ^
   --region=your-cluster-region ^
   --expires-in=3600 ^
   --hostname=your-cluster-endpoint
   ```

1. Définissez la variable d’environnement mot de passe :

   ```
   set "PGPASSWORD=token-from-above"
   ```

1. Définissez la configuration SSL :

   ```
   set PGSSLROOTCERT=C:\full\path\to\root.pem
   set PGSSLMODE=verify-full
   ```

1. Établissez une connexion à la base de données :

   ```
   "C:\Program Files\PostgreSQL\17\bin\psql.exe" --dbname postgres ^
   --username admin ^
   --host your-cluster-endpoint
   ```

#### En utilisant PowerShell
<a name="windows-powershell"></a>

1. Générez et définissez le jeton d’authentification :

   ```
   $env:PGPASSWORD = (aws dsql generate-db-connect-admin-auth-token --region=your-cluster-region --expires-in=3600 --hostname=your-cluster-endpoint)
   ```

1. Définissez la configuration SSL :

   ```
   $env:PGSSLROOTCERT='C:\full\path\to\root.pem'
   $env:PGSSLMODE='verify-full'
   ```

1. Établissez une connexion à la base de données :

   ```
    "C:\Program Files\PostgreSQL\17\bin\psql.exe" --dbname postgres `
   --username admin `
   --host your-cluster-endpoint
   ```

## Ressources supplémentaires
<a name="additional-resources"></a>
+  [Documentation PostgreSQL SSL](https://www.postgresql.org/docs/current/libpq-ssl.html) 
+  [Amazon Trust Services](https://www.amazontrust.com/repository/) 