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.
Authentification de base de données IAM pour MariaDB, MySQL et PostgreSQL
Vous pouvez vous authentifier auprès de votre d'instances de base de données à l'aide de l'authentification de base de données AWS Identity and Access Management (IAM). L'authentification de base de données IAM fonctionne avec MariaDB, MySQL et PostgreSQL. Grâce à cette méthode d'authentification, vous n'avez plus besoin de mot de passe pour vous connecter à une instance de base de données. En revanche, un jeton d'authentification est nécessaire.
Un jeton d'authentification est une chaîne de caractères unique générée par Amazon RDS sur demande. Les jetons d'authentification sont générés à l'aide de AWS la version 4 de Signature. Chaque jeton a une durée de vie de 15 minutes. Il n'est pas nécessaire de stocker les informations d'identification des utilisateurs dans la base de données, car l'authentification est gérée de manière externe avec IAM. Vous pouvez aussi toujours utiliser l'authentification de base de données standard. Le jeton est uniquement utilisé pour l'authentification et n'affecte pas la session une fois qu'il est établi.
L'authentification de base de données IAM offre les avantages suivants :
-
Le trafic réseau à destination et en provenance de la base de données est chiffré à l'aide de Secure Socket Layer (SSL) ou de Transport Layer Security (TLS). Pour plus d'informations sur l'utilisation de SSL/TLS avec Amazon RDS, veuillez consulter .
-
Vous pouvez utiliser IAM pour gérer de façon centralisée l'accès à vos ressources de base de données, au lieu de gérer l'accès de manière individuelle sur chaque instance de bases de données.
-
Pour les applications exécutées sur Amazon EC2, vous pouvez utiliser des informations d'identification spécifiques à votre instance EC2 pou accéder à la base de données, ce qui garantit une meilleure sécurité qu'un mot de passe.
En règle générale, envisagez d'utiliser l'authentification de base de données IAM lorsque vos applications créent moins de 200 connexions par seconde, et que vous ne souhaitez pas gérer les noms d'utilisateur et les mots de passe directement dans le code de votre application.
Le pilote JDBC Amazon Web Services (AWS) prend en charge l'authentification de base de données IAM. Pour plus d'informations, consultez la section Plug-in d'authentification AWS IAM
Le pilote Python Amazon Web Services (AWS) prend en charge l'authentification de base de données IAM. Pour plus d'informations, consultez la section Plug-in d'authentification AWS IAM
Rubriques
- Disponibilité des régions et des versions
- Support CLI et kit SDK
- Limites de l'authentification de base de données IAM
- Recommandations pour l'authentification de base de données IAM
- Clés contextuelles de condition AWS globale non prises en charge
- Activation et désactivation de l'authentification de base de données IAM
- Création et utilisation d'une politique IAM pour l'accès à une base de données IAM
- Création d'un compte de base de données à l'aide de l'authentification IAM
- Connexion à votre instance de base de données à l'aide de l'authentification IAM.
Disponibilité des régions et des versions
La disponibilité et la prise en charge des fonctionnalités varient selon les versions spécifiques de chaque moteur de base de données, et selon les Régions AWS. Pour obtenir plus d'informations sur la disponibilité des versions et des régions avec Amazon RDS et l'authentification de la base de données IAM, consultez Régions et moteurs de base de données pris en charge pour l'authentification des IAM bases de données sur Amazon RDS.
Support CLI et kit SDK
L'authentification de base de données IAM est disponible pour AWS CLIet pour les SDK spécifiques aux langues AWS suivants :
Limites de l'authentification de base de données IAM
Les limitations suivantes s'appliquent lors de l'utilisation de l'authentification de base de données IAM :
-
L'authentification de base de données IAM limite les connexions dans les scénarios suivants :
-
Vous dépassez les 20 connexions par seconde en utilisant des jetons d'authentification signés chacun par une identité IAM différente.
-
Vous dépassez les 200 connexions par seconde en utilisant différents jetons d'authentification.
Les connexions qui utilisent le même jeton d'authentification ne sont pas limitées. Nous vous recommandons de réutiliser les jetons d'authentification dans la mesure du possible.
-
-
Actuellement, l'authentification de base de données IAM ne prend pas en charge toutes les clés de contexte de condition globale.
Pour plus d'informations sur les clés de contexte de condition globale, veuillez consulter Clés de contexte de condition globales AWS dans le Guide de l'utilisateur IAM.
-
Pour PostgreSQL, si le rôle IAM (
rds_iam
) est ajouté à un utilisateur (y compris à l'utilisateur principal RDS), l'authentification IAM a priorité sur l'authentification par mot de passe, de sorte que l'utilisateur doit se connecter en tant qu'utilisateur IAM. -
Pour PostgreSQL, Amazon RDS ne prend pas en charge l'activation simultanée des méthodes d'authentification IAM et Kerberos.
-
Pour PostgreSQL, vous ne pouvez pas utiliser l'authentification IAM pour établir une connexion de réplication.
-
Vous ne pouvez pas utiliser un enregistrement DNS Route 53 personnalisé à la place du point de terminaison de l'instance de base de données pour générer le jeton d'authentification.
-
CloudWatch et CloudTrail n'enregistrez pas l'authentification IAM. Ces services ne suivent pas les appels
generate-db-auth-token
d'API qui autorisent le rôle IAM à activer la connexion à la base de données.
Recommandations pour l'authentification de base de données IAM
Nous recommandons les pratiques suivantes lors de l'utilisation de l'authentification de base de données IAM :
-
Utilisez l'authentification de base de données IAM si votre application exige moins de 200 nouvelles connexions d'authentification de base de données IAM par seconde.
Les moteurs de base de données qui fonctionnent avec Amazon RDS n'imposent pas de limites de tentatives d'authentification par seconde. Néanmoins, lorsque vous utilisez l'authentification de base de données IAM, votre application doit générer un jeton d'authentification. Votre application emploie ensuite ce jeton pour la connexion à l'instance de base de données. Si vous dépassez la limite maximale de nouvelles connexions par seconde, le traitement supplémentaire d'authentification de base de données IAM peut entraîner une limitation de la connexion.
Envisagez d'utiliser le regroupement de connexions dans vos applications pour limiter la création constante de connexions. Cela peut réduire les frais généraux liés à l'authentification de base de données IAM et permettre à vos applications de réutiliser les connexions existantes. Vous pouvez également envisager d'utiliser le proxy RDS pour ces cas d'utilisation. Le proxy RDS entraîne des coûts supplémentaires. Consultez Tarification de Proxy Amazon RDS
. La taille d'un jeton d'authentification de base de données IAM dépend de nombreux facteurs, notamment du nombre de balises IAM, des politiques de service IAM, de la longueur des ARN, ainsi que d'autres propriétés IAM et de base de données. La taille minimale de ce jeton est généralement d'environ 1 Ko, mais elle peut être plus grande. Ce jeton étant utilisé comme mot de passe dans la chaîne de connexion à la base de données à l'aide de l'authentification IAM, vous devez vous assurer que votre pilote de base de données (par exemple ODBC) et/ou les outils ne limitent ni ne tronquent ce jeton en raison de sa taille. Un jeton tronqué provoquera l'échec de la validation d'authentification effectuée par la base de données et IAM.
-
Si vous utilisez des informations d'identification temporaires lors de la création d'un jeton d'authentification d'une base de données IAM, les informations d'identification temporaires doivent toujours être valides lorsque vous utilisez le jeton d'authentification d'une base de données IAM pour effectuer une demande de connexion.
Clés contextuelles de condition AWS globale non prises en charge
L'authentification de base de données IAM ne prend pas en charge le sous-ensemble suivant de clés AWS contextuelles de conditions globales.
-
aws:Referer
-
aws:SourceIp
-
aws:SourceVpc
-
aws:SourceVpce
-
aws:UserAgent
-
aws:VpcSourceIp
Pour plus d'informations, consultez Clés de contexte de condition globales AWS dans le Guide de l'utilisateur IAM.