Authentification de base de données IAM pour MariaDB, MySQL et PostgreSQL
Vous pouvez vous authentifier auprès de votre instance 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 au d'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 au moyen d'AWS Signature Version 4. Chaque jeton a une durée de vie de 15 minutes. Il n'est pas nécessaire de stocker des informations d'identification utilisateur 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 Utilisation de SSL/TLS pour chiffrer une connexion à une instance de base de données.
-
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 ou 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 AWS JDBC pour MySQL prend en charge l'authentification de la base de données IAM. Pour obtenir plus d'informations, consultez la section AWS IAM Database Authentication
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
- 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 Authentification de base de données IAM.
Support CLI et kit SDK
L'authentification de la base de données IAM est disponible pour AWS CLI et pour les kit SDK AWS spécifiques aux langues suivantes :
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 :
-
Le nombre maximal de connexions par seconde à votre d'instances de base de données peut être limité en fonction de sa classe d'instance de base de données et de votre charge de travail.
-
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 globale 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.
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 comme mécanisme pour l'accès personnel temporaire aux bases de données.
-
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 au de 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.
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.