

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.

# Connexion à une base de données via RDS Proxy
<a name="rds-proxy-connecting"></a>

Votre connexion à un cluster ou à un cluster de base de données Aurora qui utilise Aurora Serverless v2 via un proxy est généralement identique à une connexion directe à la base de données. La principale différence est que vous indiquez le point de terminaison du proxy et non celui du cluster. Par défaut, toutes les connexions proxy sont read/write fonctionnelles et utilisent l'instance Writer. Si vous utilisez généralement le point de terminaison du lecteur pour les connexions en lecture seule, vous pouvez créer un point de terminaison supplémentaire en lecture seule pour le proxy. Vous pouvez utiliser ce point de terminaison de la même manière. Pour de plus amples informations, veuillez consulter [Présentation des points de terminaison proxy](rds-proxy-endpoints.md#rds-proxy-endpoints-overview). 

**Topics**
+ [Connexion à une base de données à l'aide des informations d'identification](#rds-proxy-connecting-native)
+ [Connexion à une base de données à l'aide de l'authentification IAM](#rds-proxy-connecting-iam)
+ [Considérations relatives à la connexion à PostgreSQL](#rds-proxy-connecting-postgresql)

## Connexion à une base de données à l'aide des informations d'identification
<a name="rds-proxy-connecting-native"></a>

 Procédez comme suit pour vous connecter à un proxy à l'aide des informations d'identification de base de données : 

1.  Recherchez le point de terminaison du proxy. Dans le AWS Management Console, vous pouvez trouver le point de terminaison sur la page de détails du proxy correspondant. Avec le AWS CLI, vous pouvez utiliser la [describe-db-proxies](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-proxies.html)commande. L’exemple suivant montre comment procéder. 

   ```
   # Add --output text to get output as a simple tab-separated list.
   $ aws rds describe-db-proxies --query '*[*].{DBProxyName:DBProxyName,Endpoint:Endpoint}'
   [
       [
           {
               "Endpoint": "the-proxy.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy"
           },
           {
               "Endpoint": "the-proxy-other-secret.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-other-secret"
           },
           {
               "Endpoint": "the-proxy-rds-secret.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-rds-secret"
           },
           {
               "Endpoint": "the-proxy-t3.proxy-demo.us-east-1.rds.amazonaws.com",
               "DBProxyName": "the-proxy-t3"
           }
       ]
   ]
   ```

1.  Spécifier le point de terminaison comme paramètre hôte dans la chaîne de connexion de votre application cliente. Par exemple, spécifiez le point de terminaison du proxy comme valeur pour l’option `mysql -h` ou `psql -h`. 

1.  Fournissez le nom d’utilisateur et le mot de passe de base de données que vous utilisez habituellement. 

## Connexion à une base de données à l'aide de l'authentification IAM
<a name="rds-proxy-connecting-iam"></a>

 Lorsque vous utilisez l'authentification IAM avec RDS Proxy, vous disposez de deux options d'authentification entre votre client et votre proxy :
+ Configurez les utilisateurs de votre base de données pour qu'ils s'authentifient à l'aide de noms d'utilisateur et de mots de passe habituels. RDS Proxy récupère le nom d'utilisateur et les informations d'identification du mot de passe auprès de Secrets Manager. La connexion depuis RDS Proxy à la base de données sous-jacente ne passe pas par IAM.
+ Vous pouvez également utiliser l'authentification end-to-end IAM, qui se connecte à votre base de données via le proxy à l'aide d'IAM sans avoir besoin d'informations d'identification de base de données.

 Pour vous connecter à RDS Proxy à l’aide de l’authentification IAM, suivez la même procédure de connexion générale que pour vous connecter avec une authentification IAM à un cluster de bases de données Aurora. Pour obtenir des informations générales sur l’utilisation d’IAM, consultez [Sécurité dans )](UsingWithRDS.md). Si vous utilisez l'authentification end-to-end IAM, fournissez le plug-in d'authentification IAM à votre utilisateur de base de données. Consultez [Création d’un compte de base de données à l’aide de l’authentification IAM](UsingWithRDS.IAMDBAuth.DBAccounts.md).

 Les principales différences dans l’utilisation d’IAM pour RDS Proxy sont les suivantes : 
+ Avec l'authentification IAM standard, les utilisateurs de la base de données disposent d'informations d'identification régulières dans la base de données. Vous configurez des secrets Secrets Manager contenant ces noms et mots de passe d’utilisateur, et autorisez RDS Proxy à récupérer les informations d’identification à partir d’Secrets Manager. L’authentification IAM s’applique à la connexion entre votre programme client et le proxy. Le proxy s’authentifie ensuite à la base de données à l’aide des informations d’identification (nom d’utilisateur et mot de passe) extraites via Secrets Manager.
+ Avec l'authentification end-to-end IAM, vous n'avez pas besoin de configurer les secrets de Secrets Manager pour les informations d'identification de base de données. L'authentification IAM s'applique à la connexion entre le client et le proxy et la base de données.
+ Spécifiez le point de terminaison du proxy plutôt que celui de l’instance, du cluster ou du lecteur. Pour plus d’informations sur le point de terminaison du proxy, consultez [Connexion à votre cluster de base de données à l'aide de l'authentification IAM.](UsingWithRDS.IAMDBAuth.Connecting.md).
+ Veillez à utiliser le protocole TLS (Transport Layer Security)/SSL (Secure Sockets Layer) lorsque vous vous connectez à un proxy avec l’authentification IAM.

Vous pouvez accorder l’accès au proxy à un utilisateur spécifique en modifiant la politique IAM. Un exemple suit.

```
"Resource": "arn:aws:rds-db:us-east-2:1234567890:dbuser:prx-ABCDEFGHIJKL01234/db_user"
```

**Astuce**  
Lorsque vous configurez l'authentification IAM pour les connexions au proxy RDS, suivez ces directives importantes pour éviter les problèmes de connexion :  
N'accordez pas le `rds_iam` rôle tout en conservant l'authentification générale par mot de passe pour le même utilisateur ou le même rôle de base de données.
N'oubliez pas que lorsque les clients se connectent au proxy RDS à l'aide de l'authentification IAM, le proxy RDS se connecte toujours à la base de données à l'aide de l'authentification par mot de passe via Secrets Manager.
Si vous rencontrez fréquemment des interruptions et des reconnexions de connexion, supprimez toutes les autorisations existantes `rds_iam` accordées à l'utilisateur ou au rôle et utilisez uniquement l'authentification par mot de passe.
Assurez-vous que votre politique de mot de passe répond aux exigences du protocole SCRAM-SHA-256 en matière de caractères sûrs.
La combinaison de méthodes d'authentification IAM et par mot de passe pour le même utilisateur de base de données peut entraîner une instabilité de connexion.

## Considérations relatives à la connexion à PostgreSQL
<a name="rds-proxy-connecting-postgresql"></a>

Si vous créez un nouvel utilisateur de base de données PostgreSQL pour vous connecter au proxy RDS, veillez à lui accorder `CONNECT` sur la base de données. À défaut de ce privilège, l’utilisateur ne sera pas en mesure de se connecter. Pour plus d’informations, consultez [Ajout d’un nouvel utilisateur de base de données à une base de données PostgreSQL lors de l’utilisation du proxy RDS](rds-proxy-new-db-user.md#rds-proxy-new-db-user-pg).

Lorsqu’un client démarre une connexion à une base de données PostgreSQL, il envoie un message de démarrage. Ce message inclut des paires de chaînes de noms de paramètres et de valeurs. Pour plus de détails, consultez `StartupMessage` dans la section relative aux [formats de message PostgreSQL](https://www.postgresql.org/docs/current/protocol-message-formats.html) de la documentation PostgreSQL. 

Lors de la connexion via un proxy RDS, le message de démarrage peut inclure les paramètres actuellement reconnus suivants : 
+  `user` 
+  `database`

 Le message de démarrage peut également inclure les paramètres d’exécution supplémentaires suivants : 
+ `[application\$1name](https://www.postgresql.org/docs/current/runtime-config-logging.html#GUC-APPLICATION-NAME) `
+ `[client\$1encoding](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-CLIENT-ENCODING) `
+ `[DateStyle](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-DATESTYLE) `
+ `[TimeZone](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-TIMEZONE) `
+  `[extra\$1float\$1digits](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-EXTRA-FLOAT-DIGITS) `
+  `[ search\$1path ](https://www.postgresql.org/docs/current/runtime-config-client.html#GUC-SEARCH-PATH)` 

 Pour plus d’informations sur la messagerie PostgreSQL, consultez [protocole frontend/backend](https://www.postgresql.org/docs/current/protocol.html) dans la documentation PostgreSQL.

 Pour PostgreSQL, si vous utilisez JDBC, nous vous recommandons ce qui suit pour éviter l’épinglage :
+ Définissez le paramètre de connexion JDBC `assumeMinServerVersion` sur `9.0` au minimum afin d’éviter l’épinglage. Cela empêche le pilote JDBC d’effectuer un aller-retour supplémentaire au démarrage de la connexion lorsqu’il exécute `SET extra_float_digits = 3`. 
+ Définissez le paramètre de connexion JDBC `ApplicationName` sur `any/your-application-name` afin d’éviter l’épinglage. Cela empêche le pilote JDBC d’effectuer un aller-retour supplémentaire au démarrage de la connexion lorsqu’il exécute `SET application_name = "PostgreSQL JDBC Driver"`. Notez que le paramètre JDBC est `ApplicationName`, mais que le paramètre PostgreSQL `StartupMessage` est `application_name`.

Pour plus d’informations, consultez [Contournement de l’épinglage d’un proxy RDS](rds-proxy-pinning.md). Pour plus d’informations sur la connexion à l’aide de JDBC, consultez [Connexion à la base de données](https://jdbc.postgresql.org/documentation/setup/) dans la documentation PostgreSQL.