Configuration de l'authentification Kerberos pour les clusters Aurora My DB SQL - Amazon Aurora

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.

Configuration de l'authentification Kerberos pour les clusters Aurora My DB SQL

AWS Managed Microsoft AD À utiliser pour configurer l'authentification Kerberos pour un cluster Aurora 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, 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

    Assurez-vous 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. Il se trouve dans la racine du domaine, qui est détenue et gérée par AWS.

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

  • 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 le cluster Aurora My SQL DB dans ce même clusterVPC.

    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).

    Page de détails de l'annuaire lors de la création

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 cluster Aurora My SQL DB.

ID de l'annuaire sur la page Détails de l'annuaire

Étape 2 : (Facultatif) Créer une approbation pour un annuaire Active Directory sur site

Si vous ne prévoyez pas d'utiliser votre propre Microsoft Active Directory sur site, passez à Étape 3 : créer un IAM rôle à utiliser par Amazon Aurora.

Pour utiliser l'authentification Kerberos avec votre Active Directory local, vous devez créer une relation de domaine de confiance en utilisant une approbation forestière entre votre Microsoft Active Directory local et l' AWS Managed Microsoft AD annuaire (créé dans). Étape 1 : créer un répertoire à l'aide de AWS Managed Microsoft AD L'approbation peut être unidirectionnelle. Dans ce cas, l'annuaire AWS Managed Microsoft AD approuve Microsoft Active Directory sur site. L'approbation peut également être bidirectionnelle. Dans ce cas, les deux Active Directory s'approuvent mutuellement. Pour plus d'informations sur la configuration des approbations à l'aide AWS Directory Service de la section Quand créer une relation de confiance dans le Guide d'AWS Directory Service administration.

Note

Si vous utilisez un annuaire Microsoft Active Directory sur site :

  • Les clients Windows ne peuvent pas se connecter à l'aide de points de terminaison Aurora personnalisés. Pour en savoir plus, consultez Connexions aux terminaux Amazon Aurora.

  • Pour les bases de données globales :

    • Les clients Windows peuvent se connecter à l'aide de points de terminaison d'instance ou de points de terminaison de cluster dans la Région AWS principale de la base de données globale.

    • Les clients Windows ne peuvent pas se connecter à l'aide des points de terminaison du cluster dans le secondaire Régions AWS.

Assurez-vous que votre nom de domaine Microsoft Active Directory local inclut un routage de DNS suffixes correspondant à la relation de confiance nouvellement créée. La capture d'écran suivante présente un exemple.

DNSle routage correspond à la confiance créée

Étape 3 : créer un IAM rôle à utiliser par Amazon Aurora

Pour qu'Amazon Aurora fasse appel AWS Directory Service à vous, vous avez besoin d'un rôle AWS Identity and Access Management (IAM) qui utilise la IAM politique géréeAmazonRDSDirectoryServiceAccess. Ce rôle permet à Aurora d'effectuer des appels vers AWS Directory Service.

Lorsque vous créez un cluster de base de données à l'aide de AWS Management Console, et que vous en avez 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.

Vous pouvez également créer des stratégies avec les autorisations obligatoires au lieu d'utiliser la stratégie gérée IAM AmazonRDSDirectoryServiceAccess. 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 avoir la stratégie de rôle IAM suivante.

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

Étape 4 : 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 utilisez une EC2 instance locale ou Amazon basée sur Microsoft Windows qui est jointe à votre AWS Directory Service annuaire. Vous devez être connecté à l'instance en tant qu'utilisateur disposant de privilèges pour 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 5 : créer ou modifier un cluster Aurora My SQL DB

Créez ou modifiez un cluster Aurora My SQL DB à utiliser avec votre annuaire. Vous pouvez utiliser la console ou associer un cluster RDS API de base de données à un annuaire. AWS CLI Vous pouvez effectuer cette tâche de différentes manières :

L'authentification Kerberos n'est prise en charge que pour les clusters Aurora My SQL DB dans un. VPC Le cluster de base de données peut se trouver dans VPC le même répertoire ou dans un autreVPC. Le cluster de base de données VPC doit disposer d'un groupe VPC de sécurité qui autorise les communications sortantes vers votre annuaire.

Lorsque vous utilisez la console pour créer, modifier ou restaurer un cluster de base de données, choisissez Kerberos authentication (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).

Paramètre d'authentification Kerberos lors de la création d'un cluster de bases de données

Lorsque vous utilisez le AWS CLI ou RDSAPI, associez un cluster de base de données à un répertoire. Les paramètres suivants sont nécessaires pour que le cluster de bases 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 un cluster de base de données pour utiliser un annuaire.

Dans Linux, macOS, ou Unix:

aws rds modify-db-cluster \ --db-cluster-identifier mydbcluster \ --domain d-ID \ --domain-iam-role-name role-name

Dans Windows:

aws rds modify-db-cluster ^ --db-cluster-identifier mydbcluster ^ --domain d-ID ^ --domain-iam-role-name role-name
Important

Si vous modifiez un cluster de bases de données pour activer l'authentification Kerberos, redémarrez les instances de base de données de lecteur après avoir effectué la modification.

Étape 6 : créer des SQL utilisateurs Aurora My qui utilisent l'authentification Kerberos

Le cluster de base de données est joint au AWS Managed Microsoft AD domaine. Ainsi, vous pouvez créer des SQL utilisateurs Aurora My à partir des utilisateurs Active Directory de votre domaine. Les autorisations de base de données sont gérées par le biais SQL des autorisations Aurora My standard qui sont accordées à ces utilisateurs et révoquées.

Vous pouvez autoriser un utilisateur Active Directory à s'authentifier auprès d'Aurora MySQL. Pour ce faire, utilisez d'abord les informations d'identification de l'utilisateur RDS principal Amazon pour vous connecter au cluster Aurora My SQL DB comme à tout autre cluster de base de données. Une fois connecté, créez un utilisateur authentifié en externe avec l'authentification Kerberos dans Aurora My, SQL comme indiqué ici :

CREATE USER user_name@'host_name' IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';
  • Remplacez user_name par le nom de l'utilisateur. Les utilisateurs (personnes et applications) de votre domaine peuvent désormais se connecter au cluster de bases de données à partir d'un ordinateur client joint au domaine à l'aide de l'authentification Kerberos.

  • Remplacez host_name par le nom d'hôte. Vous pouvez utiliser % comme un caractère générique. Vous pouvez également utiliser des adresses IP spécifiques pour le nom d'hôte.

  • Remplacez realm_name par le nom de domaine du répertoire du domaine. Le nom de domaine est généralement le même que le nom de DNS domaine en majuscules, tel queCORP.EXAMPLE.COM. Un domaine est un groupe de systèmes qui utilise le même centre de distribution de clés Kerberos.

L'exemple suivant crée un utilisateur de base de données dont le nom Admin s'authentifie auprès de l'annuaire Active Directory à l'aide du nom de domaine MYSQL.LOCAL.

CREATE USER Admin@'%' IDENTIFIED WITH 'authentication_kerberos' BY 'MYSQL.LOCAL';

Modifier un SQL identifiant Aurora My existant

Vous pouvez également modifier un SQL identifiant Aurora My existant pour utiliser l'authentification Kerberos en utilisant la syntaxe suivante :

ALTER USER user_name IDENTIFIED WITH 'authentication_kerberos' BY 'realm_name';

Étape 7 : Configuration d'un SQL client My

Pour configurer un SQL client My, procédez comme suit :

  1. Créez un fichier krb5.conf (ou équivalent) pointant vers le domaine.

  2. Vérifiez que le trafic peut circuler entre l'hôte client et AWS Directory Service. Utilisez un utilitaire réseau tel que Netcat pour les opérations suivantes :

    • Vérifiez que le trafic est dépassé DNS pour le port 53.

    • Vérifiez le trafic surTCP/UDPpour le port 53 et pour Kerberos, qui inclut les ports 88 et 464 pour. AWS Directory Service

  3. Vérifiez que le trafic peut circuler entre l'hôte du client et l'instance de base de données via le port de la base de données. Par exemple, utilisez mysql pour vous connecter à la base de données et y accéder.

Voici un exemple de krb5.conf contenu pour AWS Managed Microsoft AD.

[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM

Vous trouverez ci-après un exemple de contenu krb5.conf pour un annuaire Microsoft Active Directory sur site.

[libdefaults] default_realm = EXAMPLE.COM [realms] EXAMPLE.COM = { kdc = example.com admin_server = example.com } ONPREM.COM = { kdc = onprem.com admin_server = onprem.com } [domain_realm] .example.com = EXAMPLE.COM example.com = EXAMPLE.COM .onprem.com = ONPREM.COM onprem.com = ONPREM.COM .rds.amazonaws.com = EXAMPLE.COM .amazonaws.com.rproxy.goskope.com.cn = EXAMPLE.COM .amazon.com = EXAMPLE.COM

Étape 8 : (Facultatif) Configurer la comparaison des noms d'utilisateur sans distinction de casse

Par défaut, la majuscule du nom d'utilisateur SQL de My database doit correspondre à celle du login Active Directory. Cependant, vous pouvez désormais utiliser la comparaison des noms d'utilisateur sans distinction de casse avec le plug-in authentication_kerberos. Pour ce faire, vous devez définir le paramètre authentication_kerberos_caseins_cmp de cluster de bases de données sur true.

Pour utiliser la comparaison des noms d'utilisateur sans distinction de casse
  1. Créez un groupe personnalisé de paramètres de cluster de bases de données. Suivez la procédure fournie dans Création d'un groupe de paramètres de cluster de base de données dans Amazon Aurora.

  2. Modifiez le nouveau groupe de paramètres pour définir la valeur de authentication_kerberos_caseins_cmp sur true. Suivez la procédure fournie dans Modification des paramètres d'un groupe de paramètres de cluster de base de données dans Amazon Aurora.

  3. Associez le groupe de paramètres du cluster de base de données à votre cluster Aurora My SQL DB. Suivez la procédure fournie dans Associer un groupe de paramètres de cluster de base de données à un cluster de base de données dans Amazon Aurora.

  4. Redémarrez le cluster de bases de données.