IAMauthentification de base de données pour MariaDB, SQL My et Postgre SQL - Amazon Relational Database Service

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.

IAMauthentification de base de données pour MariaDB, SQL My et Postgre SQL

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). IAMl'authentification de base de données fonctionne avec MariaDB Aurora My Aurora Postgre. SQL 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 qu'RDSAmazon génère 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 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.

IAMl'authentification de base de données 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 deSSL/TLSavec RDSAmazon , consultez.

  • Vous pouvez l'utiliser IAM pour gérer de manière centralisée l'accès aux ressources de votre base de données, au lieu de gérer l'accès individuellement sur chaque d'instances de base de données.

  • Pour les applications exécutées sur AmazonEC2, vous pouvez utiliser les informations d'identification de profil spécifiques à votre EC2 instance pour accéder à votre base de données au lieu d'un mot de passe, afin de renforcer la sécurité.

En général, envisagez d'utiliser l'authentification par IAM base de données 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 JDBC pilote Amazon Web Services (AWS) prend en charge l'authentification IAM de base de données. Pour plus d'informations, consultez la section Plug-in AWS IAM d'authentification dans le GitHub référentiel de JDBC pilotes Amazon Web Services (AWS).

Le pilote Python Amazon Web Services (AWS) prend en charge l'authentification des IAM bases de données. Pour plus d'informations, consultez la section AWS IAMAuthentication Plugin dans le GitHubréférentiel de pilotes Python Amazon Web Services (AWS).

Parcourez les rubriques suivantes pour découvrir le processus à définir IAM pour l'authentification de base de données :

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 plus d'informations sur la disponibilité des versions et des régions avec Amazon RDS et sur l'authentification des IAM bases de données, consultezRégions et moteurs de base de données pris en charge pour l'authentification des IAM bases de données sur Amazon RDS.

CLIet SDK support

IAMl'authentification de base de données est disponible pour AWS CLIet pour les langues AWS SDKs spécifiques suivantes :

Limitations de l'authentification IAM de base de données

Lorsque vous utilisez l'authentification IAM de base de données, les limites suivantes s'appliquent :

  • IAMl'authentification de base de données limite les connexions à 200 connexions par seconde.

    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 IAM de base de données 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, consultez la section clés de contexte de condition AWS globale dans le guide de IAM l'utilisateur.

  • Pour PostgreSQL, si le IAM rôle (rds_iam) est ajouté à un utilisateur (y compris l'utilisateur RDS principal), l'authentification a priorité sur IAM l'authentification par mot de passe. L'utilisateur doit donc se connecter en tant IAM qu'utilisateur.

  • Pour PostgreSQL, Amazon RDS ne prend pas en charge l'activation simultanée IAM des deux méthodes d'authentification et de Kerberos.

  • Pour Postgre SQL , vous ne pouvez pas utiliser l'IAMauthentification pour établir une connexion de réplication.

  • Vous ne pouvez pas utiliser un DNS enregistrement Route 53 personnalisé au lieu du point de terminaison du d'instances de base de données pour générer le jeton d'authentification.

  • CloudWatch et CloudTrail ne consignez pas IAM l'authentification. Ces services ne suivent pas les generate-db-auth-token API appels qui autorisent le IAM rôle à activer la connexion à la base de données.

  • IAML'autorisation de base de données nécessite des ressources de calcul sur le d'instances de base de données. Vous devez disposer d'au moins 300 Mo de mémoire supplémentaire sur votre base de données pour garantir une connectivité fiable.

  • RDSPour My SQL , vous ne pouvez pas utiliser l'authentification par mot de passe pour un utilisateur de base de données que vous configurez avec IAM l'authentification.

Recommandations pour l'authentification des IAM bases de données

Nous recommandons ce qui suit lors de l'utilisation de l'authentification IAM de base de données :

  • Utilisez l'authentification IAM de base de données lorsque votre application nécessite moins de 200 nouvelles connexions d'authentification IAM de base de données par seconde.

    Les moteurs de base de données qui fonctionnent avec RDSAmazon n'imposent aucune limite aux tentatives d'authentification par seconde. Toutefois, lorsque vous utilisez l'authentification IAM de base de données, 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, la surcharge liée à l'authentification de la IAM base de données peut entraîner une limitation des connexions.

    Envisagez d'utiliser le regroupement de connexions dans vos applications pour limiter la création constante de connexions. Cela peut réduire la charge liée à l'authentification IAM de base de données et permettre à vos applications de réutiliser les connexions existantes. Vous pouvez également envisager d'utiliser RDS un proxy pour ces cas d'utilisation. RDS Le proxy entraîne des coûts supplémentaires. Consultez la section Tarification RDS par procuration.

  • La taille d'un jeton d'authentification de IAM base de données dépend de nombreux facteurs, notamment du nombre de IAM balises, des politiques de IAM service, de la ARN longueur, ainsi que d'autres propriétés IAM et propriétés de la base de données. La taille minimale de ce jeton est généralement d'environ 1 Ko, mais elle peut être plus grande. Étant donné que ce jeton est utilisé comme mot de passe dans la chaîne de connexion à la base de données à l'aide de l'IAMauthentification, 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é entraînera l'échec de la validation de l'authentification effectuée par la base IAM de données.

  • Si vous utilisez des informations d'identification temporaires lors de la création d'un jeton d'authentification de IAM base de données, les informations d'identification temporaires doivent toujours être valides lorsque vous utilisez le jeton d'authentification de IAM base de données pour effectuer une demande de connexion.

Clés contextuelles de condition AWS globale non prises en charge

IAMl'authentification de base de données ne prend pas en charge le sous-ensemble suivant de clés contextuelles de condition AWS globale.

  • aws:Referer

  • aws:SourceIp

  • aws:SourceVpc

  • aws:SourceVpce

  • aws:UserAgent

  • aws:VpcSourceIp

Pour plus d'informations, consultez la section Clés contextuelles des conditions AWS globales dans le Guide de IAM l'utilisateur.