Utilisation Kerberos authentification pour Amazon RDS pour Microsoft SQL Server - 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.

Utilisation Kerberos authentification pour Amazon RDS pour Microsoft SQL Server

Vous pouvez utiliser l'authentification Kerberos pour authentifier les utilisateurs lorsqu'ils se connectent à votre instance My SQL DB. L'instance de base de données fonctionne avec AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) pour activer l'authentification Kerberos. Lorsque les utilisateurs s'authentifient auprès d'une instance My SQL DB jointe au domaine de confiance, les demandes d'authentification sont transmises. Les demandes transférées sont redirigées vers le répertoire de domaines que vous avez créé AWS Directory Service.

Vous pouvez gagner du temps et de l'argent en conservant toutes les informations d'identification dans le même annuaire. Cette approche vous permet d'avoir un endroit centralisé de stockage et de gestion des informations d'identification pour plusieurs instances de base de données. L'utilisation d'un annuaire peut également améliorer votre profil de sécurité global.

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 version et la disponibilité par région d'Amazon RDS avec l'authentification Kerberos, consultez. Régions et moteurs de base de données pris en charge pour l'authentification Kerberos sur Amazon RDS

Présentation de la configuration de l'authentification Kerberos pour les instances My DB SQL

Pour configurer l'authentification Kerberos pour une instance My SQL DB, suivez les étapes générales suivantes, décrites plus en détail ultérieurement :

  1. AWS Managed Microsoft AD À utiliser pour créer un AWS Managed Microsoft AD répertoire. Vous pouvez utiliser le AWS Management Console AWS CLI, le ou le AWS Directory Service pour créer le répertoire. Pour plus de détails à ce sujet, consultez la section Créer votre AWS Managed Microsoft AD répertoire dans le Guide d'AWS Directory Service administration.

  2. Créez un rôle AWS Identity and Access Management (IAM) qui utilise la IAM politique géréeAmazonRDSDirectoryServiceAccess. Le rôle permet RDS à Amazon de passer des appels vers votre annuaire.

    Pour que le rôle autorise l'accès, le point de terminaison AWS Security Token Service (AWS STS) doit être activé dans le Région AWS AWS compte. AWS STS les points de terminaison sont actifs par défaut dans tous les cas Régions AWS, et vous pouvez les utiliser sans autre action. Pour plus d'informations, voir Activation et désactivation AWS STS dans et dans le guide de l'IAMutilisateur. Région AWS

  3. Créez et configurez des utilisateurs dans l' AWS Managed Microsoft AD annuaire à l'aide des outils Microsoft Active Directory. Pour plus d'informations sur la création d'utilisateurs dans votre Active Directory, voir Gérer les utilisateurs et les groupes dans Microsoft AD AWS géré dans le Guide d'AWS Directory Service administration.

  4. Créez ou modifiez une instance My SQL DB. Si vous utilisez le CLI ou RDS API dans la demande de création, spécifiez un identifiant de domaine avec le Domain paramètre. Utilisez l'identificateur d-* généré lors de la création de votre annuaire et le nom du rôle que vous avez créé.

    Si vous modifiez une instance My SQL DB existante pour utiliser l'authentification Kerberos, définissez les paramètres de domaine et de IAM rôle pour l'instance de base de données. Localisez l'instance de base de données dans le même répertoire VPC que le répertoire de domaines.

  5. Utilisez les informations d'identification de l'utilisateur RDS principal Amazon pour vous connecter à l'instance My SQL DB. Créez l'utilisateur dans My à SQL l'aide de la CREATE USER clauseIDENTIFIED WITH 'auth_pam'. Les utilisateurs que vous créez de cette manière peuvent se connecter à l'instance My SQL DB à l'aide de l'authentification Kerberos.

Configuration de l'authentification Kerberos pour les instances My DB SQL

Vous l'utilisez AWS Managed Microsoft AD pour configurer l'authentification Kerberos pour une instance My SQL DB. Pour configurer l'authentification Kerberos, procédez comme suit :

Étape 1 : créer un répertoire à l'aide de AWS Managed Microsoft AD

AWS Directory Service crée un Active Directory entièrement géré dans le AWS cloud. Lorsque vous créez un AWS Managed Microsoft AD annuaire, il AWS Directory Service crée deux contrôleurs de domaine et deux serveurs Domain Name System (DNS) en votre nom. Les serveurs d'annuaire sont créés dans différents sous-réseaux d'unVPC. Cette redondance permet de s'assurer que votre annuaire reste accessible, y compris en cas de défaillance.

Lorsque vous créez un AWS Managed Microsoft AD répertoire, il AWS Directory Service exécute les tâches suivantes en votre nom :

  • Configure un Active Directory dans leVPC.

  • Création d'un compte d'administrateur d'annuaire avec le nom d'utilisateur Admin et le mot de passe spécifié. Ce compte est utilisé pour gérer votre annuaire.

    Note

    N'oubliez pas d'enregistrer ce mot de passe. AWS Directory Service ne le stocke pas. Vous pouvez le réinitialiser, mais vous ne pouvez pas le récupérer.

  • Création d'un groupe de sécurité pour les contrôleurs de l'annuaire.

Lorsque vous lancez un AWS Managed Microsoft AD, AWS crée une unité organisationnelle (UO) qui contient tous les objets de votre répertoire. Cette unité d'organisation porte le BIOS nom réseau que vous avez saisi lors de la création de votre répertoire et se trouve dans la racine du domaine. La racine du domaine est détenue et gérée par AWS.

Le compte administrateur créé avec votre AWS Managed Microsoft AD annuaire dispose d'autorisations pour les activités administratives les plus courantes de votre unité d'organisation :

  • Création, mise à jour et suppression des utilisateurs

  • Ajouter des ressources à votre domaine, comme des serveurs de fichiers ou d'impression, puis attribuer des autorisations pour ces ressources aux utilisateurs dans votre unité d'organisation

  • Créez des conteneurs OUs et des conteneurs supplémentaires

  • Déléguer des autorités

  • Restaurer des objets supprimés de la corbeille Active Directory

  • Exécuter les PowerShell modules AD et DNS Windows sur le service Web Active Directory

Le compte Admin dispose également de droits pour exécuter les activités suivantes au niveau du domaine :

  • Gérer les DNS configurations (ajouter, supprimer ou mettre à jour des enregistrements, des zones et des redirecteurs)

  • Afficher les journaux DNS d'événements

  • Afficher les journaux d'évènements de sécurité

Pour créer un répertoire avec AWS Managed Microsoft AD
  1. Connectez-vous à la AWS Directory Service console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/directoryservicev2/.

  2. Dans le panneau de navigation, choisissez Directories (Répertoires), puis Set up Directory (Configurer un répertoire).

  3. Choisissez AWS Managed Microsoft AD. AWS Managed Microsoft AD est la seule option que vous pouvez utiliser actuellement avec AmazonRDS.

  4. Entrez les informations suivantes :

    DNSNom du répertoire

    Nom complet de l'annuaire, par exemple corp.example.com.

    BIOSNom du réseau du répertoire

    Nom court de l'annuaire, par exemple CORP.

    Description de l'annuaire

    (Facultatif) Une description de l'annuaire.

    Mot de passe administrateur

    Mot de passe de l'administrateur de l'annuaire. Le processus de création d'un annuaire crée un compte d'administrateur avec le nom d'utilisateur Admin et ce mot de passe.

    Le mot de passe de l'administrateur de l'annuaire ne peut pas contenir le terme « admin ». Le mot de passe est sensible à la casse et doit comporter entre 8 et 64 caractères. Il doit également contenir au moins un caractère de trois des quatre catégories suivantes :

    • Lettres minuscules (a–z)

    • Lettres majuscules (A–Z)

    • Chiffres (0–9)

    • Caractères non alphanumériques (~!@#$%^&*_-+=`|\(){}[]:;"'<>,.?/)

    Confirmer le mot de passe

    Saisissez à nouveau le mot de passe de l'administrateur.

  5. Choisissez Suivant.

  6. Entrez les informations suivantes dans la section Networking (Réseaux), puis choisissez Suivant (Next) :

    VPC

    Le VPC pour le répertoire. Créez l'instance My SQL DB dans cette même instanceVPC.

    Sous-réseaux

    Sous-réseaux pour les serveurs d'annuaires. Les deux sous-réseaux doivent être dans des zones de disponibilité différentes.

  7. Vérifiez les informations concernant l'annuaire et effectuez les modifications nécessaires. Lorsque les informations sont correctes, choisissez Create directory (Créer le répertoire).

    La fenêtre Réviser et créer lors de la création du répertoire dans la AWS Directory Service console.

La création de l'annuaire prend plusieurs minutes. Lorsqu'il est créé, la valeur du champ Status (Statut) devient Active (Actif).

Pour consulter les informations relatives à votre annuaire, choisissez le nom de l'annuaire dans la liste. Notez la valeur de l'ID de répertoire, car vous en avez besoin lorsque vous créez ou modifiez votre instance My SQL DB.

La section Détails du répertoire avec l'ID du répertoire dans la AWS Directory Service console.

Étape 2 : créer le IAM rôle à utiliser par Amazon RDS

Pour RDS qu'Amazon puisse vous appeler AWS Directory Service , un IAM rôle utilisant la IAM politique gérée AmazonRDSDirectoryServiceAccess est requis. Ce rôle permet RDS à Amazon de passer des appels au AWS Directory Service.

Lorsqu'une instance de base de données est créée à l'aide de AWS Management Console et que l'utilisateur de la console dispose de l'iam:CreateRoleautorisation, la console crée automatiquement ce rôle. Dans ce cas, le nom du rôle est rds-directoryservice-kerberos-access-role. Dans le cas contraire, vous devez créer le IAM rôle manuellement. Lorsque vous créez ce IAM rôleDirectory Service, choisissez et associez la politique AWS gérée AmazonRDSDirectoryServiceAccess à celui-ci.

Pour plus d'informations sur la création de IAM rôles pour un service, consultez la section Création d'un rôle pour déléguer des autorisations à un AWS service dans le Guide de IAM l'utilisateur.

Note

Le IAM rôle utilisé pour Windows Authentication RDS for for SQL Server ne peut pas être utilisé RDS pour MySQL.

Vous pouvez éventuellement créer des politiques avec les autorisations requises au lieu d'utiliser la IAM politique géréeAmazonRDSDirectoryServiceAccess. Dans ce cas, le IAM rôle doit respecter la politique de IAM confiance suivante.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "directoryservice.rds.amazonaws.com", "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Le rôle doit également respecter la politique de IAM rôle suivante.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ds:DescribeDirectories", "ds:AuthorizeApplication", "ds:UnauthorizeApplication", "ds:GetAuthorizedApplicationDetails" ], "Effect": "Allow", "Resource": "*" } ] }

Étape 3 : Créer et configurer des utilisateurs

Vous pouvez créer des utilisateurs avec l'outil Active Directory Users and Computers (Utilisateurs et ordinateurs Active Directory). Cet outil fait partie des outils Active Directory Domain Services et Active Directory Lightweight Directory Services (Services de domaine Active Directory et Services d'annuaire légers Active Directory). Les utilisateurs représentent des individus ou des entités individuelles qui ont accès à votre annuaire.

Pour créer des utilisateurs dans un AWS Directory Service annuaire, vous devez être connecté à une EC2 instance Amazon basée sur Microsoft Windows. Cette instance doit être membre de l' AWS Directory Service annuaire et être connectée en tant qu'utilisateur autorisé à créer des utilisateurs. Pour de plus amples informations, veuillez consulter Gérer des utilisateurs et des groupes dans AWS Managed Microsoft AD dans le Guide d'administration d'AWS Directory Service.

Étape 4 : créer ou modifier une instance My SQL DB

Créez ou modifiez une instance My SQL DB à utiliser avec votre annuaire. Vous pouvez utiliser la console ou associer une instance RDS API de base de données à un répertoire. CLI Vous pouvez effectuer cette opération de différentes manières :

L'authentification Kerberos n'est prise en charge que pour les instances My SQL DB dans un. VPC L'instance de base de données peut se trouver dans VPC le même répertoire ou dans un autreVPC. L'instance de base de données doit utiliser un groupe de sécurité qui autorise la sortie dans le répertoire VPC afin que l'instance de base de données puisse communiquer avec le répertoire.

Lorsque vous utilisez la console pour créer, modifier ou restaurer une instance de bases de données, choisissez Password and Kerberos authentication (Mot de passe et authentification Kerberos) dans la section Database authentication (Authentification de base de données). Choisissez Browse Directory (Parcourir les répertoires), puis sélectionnez le répertoire, ou choisissez Create a new directory (Créer un nouveau répertoire).

La section Authentification de base de données avec mot de passe et authentification Kerberos sélectionnée dans la console AmazonRDS.

Lorsque vous utilisez le AWS CLI ou RDSAPI, associez une instance de base de données à un répertoire. Les paramètres suivants sont nécessaires pour que l'instance de base de données utilise l'annuaire du domaine que vous avez créé :

  • Pour le paramètre --domain, vous devez indiquer l'identifiant du domaine (identifiant « d-* ») généré lors de la création de l'annuaire.

  • Pour le --domain-iam-role-name paramètre, utilisez le rôle que vous avez créé qui utilise la IAM politique géréeAmazonRDSDirectoryServiceAccess.

Par exemple, la CLI commande suivante modifie une instance de base de données pour utiliser un répertoire.

Dans Linux, macOS, ou Unix:

aws rds modify-db-instance \ --db-instance-identifier mydbinstance \ --domain d-ID \ --domain-iam-role-name role-name

Dans Windows:

aws rds modify-db-instance ^ --db-instance-identifier mydbinstance ^ --domain d-ID ^ --domain-iam-role-name role-name
Important

Si vous modifiez une instance de base de données de façon à activer l'authentification Kerberos, redémarrez l'instance de base de données après avoir effectué la modification.

Étape 5 : Création de l'authentification Kerberos Mes identifiants SQL

Utilisez les informations d'identification de l'utilisateur RDS principal Amazon pour vous connecter à l'instance My SQL DB comme vous le feriez pour toute autre instance de base de données. L'instance de base de données est jointe au AWS Managed Microsoft AD domaine. Ainsi, vous pouvez configurer Mes SQL identifiants et utilisateurs à partir des utilisateurs Active Directory de votre domaine. Les autorisations de base de données sont gérées par le biais de la norme Mes SQL autorisations qui sont accordées et révoquées pour ces connexions.

Vous pouvez autoriser un utilisateur d'Active Directory à s'authentifier auprès de MySQL. Pour ce faire, utilisez d'abord les informations d'identification de l'utilisateur RDS principal Amazon pour vous connecter à l'instance My SQL DB comme à toute autre instance de base de données. Une fois connecté, créez un utilisateur authentifié en externe avec PAM (modules d'authentification enfichables) dans My en SQL exécutant la commande suivante. Remplacez testuser par le nom de l'utilisateur.

CREATE USER 'testuser'@'%' IDENTIFIED WITH 'auth_pam';

Les utilisateurs (personnes et applications) de votre domaine peuvent désormais se connecter à l'instance de base de données à partir d'un ordinateur client joint au domaine à l'aide de l'authentification Kerberos.

Important

Nous recommandons vivement aux clients d'utiliserSSL/TLSconnections lorsqu'ils utilisent l'PAMauthentification. S'ils n'utilisent pas TLS les connexionsSSL/, le mot de passe peut être envoyé en texte clair dans certains cas. Pour exiger une connexion TLS chiffréeSSL/pour votre utilisateur AD, exécutez la commande suivante et remplacez-la testuser par le nom d'utilisateur :

ALTER USER 'testuser'@'%' REQUIRE SSL;

Pour de plus amples informations, veuillez consulter SSL/TLSsupport pour les instances My SQL DB sur Amazon RDS.

Gestion d'une instance de base de données dans un domaine

Vous pouvez utiliser le CLI ou le RDS API pour gérer votre instance de base de données et sa relation avec votre Active Directory géré. Par exemple, vous pouvez associer un annuaire Active Directory pour l'authentification Kerberos et dissocier un annuaire Active Directory pour désactiver l'authentification Kerberos. Vous pouvez également transférer une instance de base de données vers une autre afin qu'elle soit authentifiée en externe par un annuaire Active Directory.

Par exemple, à l'aide d'Amazon RDSAPI, vous pouvez effectuer les opérations suivantes :

  • Pour réessayer d'activer l'authentification Kerberos en cas d'échec d'une adhésion, utilisez l'ModifyDBInstanceAPIopération et spécifiez l'ID de répertoire de l'adhésion actuelle.

  • Pour mettre à jour le nom du IAM rôle pour l'adhésion, utilisez l'ModifyDBInstanceAPIopération et spécifiez l'ID de répertoire du membre actuel et le nouveau IAM rôle.

  • Pour désactiver l'authentification Kerberos sur une instance de base de données, utilisez l'ModifyDBInstanceAPIopération et spécifiez-la none comme paramètre de domaine.

  • Pour déplacer une instance de base de données d'un domaine à un autre, utilisez l'ModifyDBInstanceAPIopération et spécifiez l'identifiant de domaine du nouveau domaine comme paramètre de domaine.

  • Pour répertorier les membres de chaque instance de base de données, utilisez l'DescribeDBInstancesAPIopération.

Présentation de l'appartenance au domaine

Après la création ou la modification de votre instance de base de données, elle devient un membre du domaine. Vous pouvez consulter l'état de l'appartenance au domaine pour l'instance de base de données en exécutant la describe-db-instancesCLIcommande. Le statut de l'instance de base de données peut avoir les valeurs suivantes :

  • kerberos-enabled – L'instance de base de données a l'authentification Kerberos activée.

  • enabling-kerberos— AWS est en train d'activer l'authentification Kerberos sur cette instance de base de données.

  • pending-enable-kerberos – L'activation de l'authentification Kerberos est en attente sur cette instance de base de données.

  • pending-maintenance-enable-kerberos— AWS tentera d'activer l'authentification Kerberos sur l'instance de base de données lors de la prochaine fenêtre de maintenance planifiée.

  • pending-disable-kerberos – La désactivation de l'authentification Kerberos est en attente sur cette instance de base de données.

  • pending-maintenance-disable-kerberos— AWS tentera de désactiver l'authentification Kerberos sur l'instance de base de données lors de la prochaine fenêtre de maintenance planifiée.

  • enable-kerberos-failed – Un problème de configuration a empêché AWS d'activer l'authentification Kerberos sur l'instance de base de données. Vérifiez et corrigez votre configuration avant d'émettre à nouveau la commande de modification de l'instance de base de données.

  • disabling-kerberos— AWS est en train de désactiver l'authentification Kerberos sur cette instance de base de données.

Une demande d'activation de l'authentification Kerberos peut échouer en raison d'un problème de connectivité réseau ou d'un rôle incorrectIAM. Par exemple, supposons que vous créez une instance de base de données ou modifiez une instance de base de données et que la tentative d'activation de l'authentification Kerberos échoue. Si cela se produit, réémettez la commande modify ou modifiez l'instance de base de données nouvellement créée pour joindre le domaine.

Connexion à My SQL avec l'authentification Kerberos

Pour vous connecter à My SQL avec l'authentification Kerberos, vous devez vous connecter à l'aide du type d'authentification Kerberos.

Pour créer un utilisateur de base de données auquel vous pouvez vous connecter à l'aide de l'authentification Kerberos, utilisez une clause IDENTIFIED WITH avec l'instruction CREATE USER. Pour obtenir des instructions, consultez Étape 5 : Création de l'authentification Kerberos Mes identifiants SQL.

Pour éviter les erreurs, utilisez le client mysql MariaDB. Vous pouvez télécharger le logiciel MariaDB à l'adresse https://downloads.mariadb.org/.

À l'invite de commande, connectez-vous à l'un des points de terminaison associés à votre instance My SQL DB. Suivez les procédures générales décrites dans Connexion à une instance de base de données exécutant le moteur My SQL database. Lorsque vous êtes invité à entrer le mot de passe, entrez le mot de passe Kerberos associé à ce nom d'utilisateur.

Restaurer une instance My SQL DB et l'ajouter à un domaine

Vous pouvez restaurer un instantané de base de données ou terminer une point-in-time restauration pour une instance My SQL DB, puis l'ajouter à un domaine. Une fois que l'instance de base de données est restaurée, modifiez l'instance de base de données à l'aide du processus expliqué dans Étape 4 : créer ou modifier une instance My SQL DB afin d'ajouter l'instance de base de données à un domaine.

Authentification Kerberos Mes limites SQL

Les limites suivantes s'appliquent à l'authentification Kerberos pour My : SQL

  • Seul un AWS Managed Microsoft AD est pris en charge. Toutefois, vous pouvez joindre RDS des instances My SQL DB à des domaines Microsoft AD gérés partagés appartenant à différents comptes au sein d'une même instance Région AWS.

  • Vous devez redémarrer l'instance de base de données après avoir activé la fonctionnalité.

  • La longueur du nom de domaine ne peut pas dépasser 61 caractères.

  • Vous ne pouvez pas activer l'authentification Kerberos et IAM l'authentification en même temps. Choisissez l'une ou l'autre méthode d'authentification pour votre instance My SQL DB.

  • Ne modifiez pas le port d'instance de base de données après avoir activé la fonctionnalité.

  • N'utilisez pas l'authentification Kerberos avec les réplicas en lecture.

  • Si la mise à niveau automatique des versions mineures est activée pour une instance My SQL DB qui utilise l'authentification Kerberos, vous devez désactiver l'authentification Kerberos, puis la réactiver après une mise à niveau automatique. Pour plus d'informations sur les mises à niveau automatiques des versions mineures, consultez Mises à niveau automatiques des versions mineures pour RDS for My SQL.

  • Pour supprimer une instance de base de données pour laquelle cette fonctionnalité est activée, désactivez d'abord la fonctionnalité. Pour ce faire, utilisez la modify-db-instance CLI commande pour l'instance de base de données et spécifiez none le --domain paramètre.

    Si vous utilisez le CLI ou RDS API pour supprimer une instance de base de données avec cette fonctionnalité activée, attendez-vous à un délai.

  • RDSfor My SQL ne prend pas en charge l'authentification Kerberos dans le cadre d'une confiance forestière entre votre AD sur site ou auto-hébergé et le. AWS Managed Microsoft AD