Utilisation de Kerberos l'authentification pour RDS pour Db2 - 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 de Kerberos l'authentification pour RDS pour Db2

Vous pouvez utiliser l'Kerberosauthentification pour authentifier les utilisateurs lorsqu'ils se connectent à votre instance de base de données Amazon RDS pour DB2. Votre instance de base de données fonctionne avec AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) pour activer Kerberos l'authentification. Lorsque les utilisateurs s'authentifient auprès d'une instance de base de données RDS pour DB2 jointe au domaine de confiance, les demandes d'authentification sont transmises au répertoire avec lequel vous créez. AWS Directory Service Pour plus d'informations, consultez Qu'est-ce qu'AWS Directory Service ? dans le Guide de l'utilisateur AWS Directory Service.

Créez d'abord un AWS Managed Microsoft AD répertoire pour stocker les informations d'identification des utilisateurs. Ajoutez ensuite le domaine et les autres informations de votre AWS Managed Microsoft AD répertoire à votre instance de base de données RDS pour DB2. Lorsque les utilisateurs s'authentifient auprès de l'instance de base de données RDS pour DB2, les demandes d'authentification sont transmises à l'annuaire. AWS Managed Microsoft AD

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 disponibilité des versions et des régions de RDS pour DB2 avec Kerberos authentification, consultez. Authentification Kerberos

Note

Kerberosl'authentification n'est pas prise en charge pour les classes d'instances de base de données déconseillées pour RDS pour les instances de base de données DB2. Pour plus d'informations, consultez RDS pour les classes d'instance DB2.

Vue d'ensemble de l'Kerberosauthentification pour les instances de base de données RDS pour DB2

Pour configurer Kerberos l'authentification pour une instance de base de données RDS pour DB2, effectuez les étapes générales suivantes, décrites plus en détail ultérieurement :

  1. Utilisez AWS Managed Microsoft AD pour créer un annuaire AWS Managed Microsoft AD. Vous pouvez utiliser leAWS Management Console, le AWS Command Line Interface (AWS CLI) ou AWS Directory Service pour créer le répertoire. Pour plus d'informations, voir Création de votre AWS Managed Microsoft AD répertoire dans le Guide AWS Directory Service d'administration.

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

    Pour que le rôle IAM autorise l'accès, le point de terminaison AWS Security Token Service (AWS STS) doit être activé correctement Région AWS pour votreCompte AWS. AWS STSles points de terminaison sont actifs par défaut dans tous les casRégions AWS, et vous pouvez les utiliser sans autre action. Pour de plus amples informations, veuillez consulter Activation et désactivation d'AWS STS dans une Région AWS dans le Guide de l'utilisateur IAM.

  3. Créez ou modifiez une instance de base de données RDS pour DB2 à l'aide de l'AWS Management ConsoleAPI RDS ou de l'API RDS selon l'une des méthodes suivantes : AWS CLI

    Vous pouvez localiser l'instance de base de données dans le même Amazon Virtual Private Cloud (VPC) que le répertoire ou dans un autre VPC. Compte AWS Lorsque vous créez ou modifiez l'instance de base de données RDS pour DB2, effectuez les tâches suivantes :

    • Fournissez l'identifiant du domaine (identifiant d-*) qui a été généré lors de la création de votre annuaire.

    • Fournissez le nom du rôle IAM que vous avez créé.

    • Vérifiez que le groupe de sécurité de l'instance de base de données peut recevoir du trafic entrant en provenance du groupe de sécurité de l'annuaire.

  4. Configurez votre client DB2 et vérifiez que le trafic peut circuler entre l'hôte du client et AWS Directory Service pour les ports suivants :

    • Port TCP/UDP 53 — DNS

    • TCP 88 — authentification Kerberos

    • TCP 389 — LDAP

    • TCP 464 — authentification Kerberos

Configuration de Kerberos l'authentification pour RDS pour les instances de base de données DB2

Vous utilisez AWS Directory Service for Microsoft Active Directory (AWS Managed Microsoft AD) pour configurer l'Kerberosauthentification pour une instance de base de données RDS pour DB2. Pour configurer Kerberos l'authentification, procédez comme suit :

Étape 1 : Créer un annuaire à l'aide d AWS Managed Microsoft AD

AWS Directory Servicecrée un système entièrement géré Active Directory dans leAWS Cloud. Lorsque vous créez un annuaire AWS Managed Microsoft AD, AWS Directory Service crée deux contrôleurs de domaine et serveurs DNS pour vous. Les serveurs de répertoire sont créés dans des sous-réseaux différents d'un VPC. Cette redondance permet de s'assurer que votre répertoire reste accessible y compris en cas de défaillance.

Lorsque vous créez un annuaire AWS Managed Microsoft AD, AWS Directory Service effectue les tâches suivantes en votre nom :

  • Configure un Active Directory au sein de votre VPC.

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

    Important

    Veillez à enregistrer ce mot de passe. AWS Directory Service ne stocke pas ce mot de passe et il ne peut pas être récupéré ni réinitialisé.

  • Création d'un groupe de sécurité pour les contrôleurs de l'annuaire. Le groupe de sécurité doit autoriser la communication avec le RDS pour l'instance de base de données DB2.

Lorsque vous lancezAWS Directory Service for Microsoft Active Directory, AWS crée une unité organisationnelle (UO) contenant tous les objets de votre répertoire. Cette unité d'organisation, qui porte le nom NetBIOS que vous avez entré lorsque vous avez créé votre annuaire, est située dans la racine du domaine. La racine du domaine appartient à , qui la gèr AWS.

Le compte Admin qui a été créé avec votre annuaire AWS Managed Microsoft AD dispose des autorisations pour les activités d'administration les plus courantes pour votre unité d'organisation :

  • Créez, mettez à jour ou supprimez des utilisateurs.

  • Ajoutez des ressources à votre domaine, telles que des serveurs de fichiers ou d'impression, puis attribuez des autorisations pour ces ressources aux utilisateurs de votre unité d'organisation.

  • Créer des unités d'organisation et des conteneurs supplémentaires.

  • Déléguer des autorités.

  • Restaurez les objets supprimés de la Active Directory corbeille.

  • Exécutez Active Directory et les modules DNS (Domain Name Service) pour Windows PowerShell leAWS Directory Service.

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

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

  • Afficher les journaux d'événements DNS.

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

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

  2. Choisissez Configurer le répertoire.

  3. Choisissez AWS Managed Microsoft AD. AWS Managed Microsoft ADest la seule option actuellement prise en charge pour une utilisation avec Amazon RDS.

  4. Choisissez Suivant.

  5. Sur la page Enter directory information (Saisir les détails du répertoire), renseignez les informations suivantes :

    • Édition — Choisissez l'édition qui répond à vos besoins.

    • Nom DNS du répertoire : nom complet du répertoire, tel quecorp.example.com.

    • Nom NetBIOS du répertoire : nom abrégé facultatif pour le répertoire, tel que. CORP

    • Description du répertoire : description facultative du répertoire.

    • Mot de passe administrateur : mot de passe de l'administrateur du répertoire. Le processus de création du répertoire crée un compte 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 — Entrez à nouveau le mot de passe administrateur.

        Important

        Veillez à enregistrer ce mot de passe. AWS Directory Service ne stocke pas ce mot de passe et il ne peut pas être récupéré ni réinitialisé.

  6. Choisissez Suivant.

  7. Sur la page Choose VPC and subnets (Choisir un VPC et des sous-réseaux), indiquez les informations suivantes :

    • VPC — Choisissez le VPC pour le répertoire. Vous pouvez créer l'instance de base de données RDS pour Db2 dans ce même VPC ou dans un autre VPC.

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

  8. Choisissez Suivant.

  9. Vérifiez les informations du répertoire. Si vous devez apporter des modifications, choisissez Previous (Précédent) et entrez ces modifications. Lorsque les informations sont correctes, choisissez Create directory (Créer l'annuaire).

    
                        Passez en revue la page 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 répertoire, choisissez l'ID du répertoire sous ID du répertoire. Notez la valeur de Directory ID (ID du répertoire). Vous avez besoin de cette valeur lorsque vous créez ou modifiez votre instance de base de données RDS pour DB2.


                Page de détails du répertoire dans la AWS Directory Service console avec l'ID du répertoire.

Étape 2 : créer un rôle IAM auquel Amazon RDS pourra accéder AWS Directory Service

Pour qu'Amazon RDS puisse vous appelerAWS Directory Service, vous avez Compte AWS besoin d'un rôle IAM qui utilise la politique IAM gérée. AmazonRDSDirectoryServiceAccess Ce rôle permet à Amazon RDS de passer des appels àAWS Directory Service.

Lorsque vous créez une instance de base de données à l'aide de la AWS Management Console, et que le compte utilisateur de la console dispose de l'autorisation iam:CreateRole, la console crée automatiquement le rôle IAM nécessaire. Dans ce cas, le nom du rôle est rds-directoryservice-kerberos-access-role. Sinon, vous devez créer le rôle IAM manuellement. Lorsque vous créez ce rôle IAM, choisissez Directory Service et attachez-lui la stratégie gérée AWS AmazonRDSDirectoryServiceAccess.

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

Note

Le rôle IAM utilisé pour Windows l'authentification pour RDS pour ne Microsoft SQL Server peut pas être utilisé pour RDS pour DB2.

Vous pouvez également créer des stratégies avec les autorisations obligatoires au lieu d'utiliser la politique gérée AmazonRDSDirectoryServiceAccess. Dans ce cas, le rôle IAM doit respecter la politique de confiance IAM 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 rôle IAM 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 à l'aide de l'Active Directory Users and Computersoutil. C'est l'un Active Directory Domain Services des Active Directory Lightweight Directory Services outils. Pour plus d'informations, consultez la section Ajouter des utilisateurs et des ordinateurs au Active Directory domaine dans la Microsoft documentation. Dans ce cas, les utilisateurs sont des personnes ou d'autres entités, telles que leurs ordinateurs, qui font partie du domaine et dont l'identité est conservée dans l'annuaire.

Pour créer des utilisateurs dans un AWS Directory Service annuaire, vous devez être connecté à une instance Amazon EC2 Windows basée qui est membre de l'AWS Directory Serviceannuaire. Dans le même temps, vous devez être connecté en tant qu'utilisateur autorisé à créer des utilisateurs. Pour plus d'informations, consultez Créer un utilisateur dans le Guide d'administration AWS Directory Service.

Étape 4 : créer un groupe d'administrateurs RDS pour DB2 dans AWS Managed Microsoft AD

RDS pour Db2 ne prend pas en charge Kerberos l'authentification de l'utilisateur principal ou des deux utilisateurs réservés Amazon RDS et. rdsdb rdsadmin Au lieu de cela, vous devez créer un nouveau groupe appelé masterdba inAWS Managed Microsoft AD. Pour plus d'informations, voir Créer un compte de groupe Active Directory dans la Microsoft documentation. Tous les utilisateurs que vous ajoutez à ce groupe auront des privilèges d'utilisateur principal.

Une fois Kerberos l'authentification activée, l'utilisateur principal perd son masterdba rôle. Par conséquent, l'utilisateur principal ne pourra pas accéder à l'appartenance au groupe d'utilisateurs local de l'instance à moins que vous ne désactiviez Kerberos l'authentification. Pour continuer à utiliser l'utilisateur principal connecté par mot de passe, créez un utilisateur AWS Managed Microsoft AD portant le même nom que l'utilisateur principal. Ajoutez ensuite cet utilisateur au groupemasterdba.

Étape 5 : créer ou modifier une instance de base de données RDS pour DB2

Créez ou modifiez une instance de base de données RDS pour DB2 à utiliser avec votre annuaire. Vous pouvez utiliser l'API AWS Management ConsoleAWS CLI, le ou l'API RDS pour associer une instance de base de données à un annuaire. Vous pouvez effectuer cette opération de différentes manières :

Kerberosl'authentification n'est prise en charge que pour les instances de base de données RDS pour DB2 dans un VPC. L'instance de base de données peut être dans le même VPC que l'annuaire ou dans un VPC différent. L'instance de base de données doit utiliser un groupe de sécurité qui autorise l'entrée et la sortie au sein du VPC du répertoire afin que l'instance de base de données puisse communiquer avec l'annuaire.

Lorsque vous utilisez la console pour créer, modifier ou restaurer une instance de base de données, choisissez Mot de passe et Kerberos authentification dans la section Authentification de base de données. Ensuite, choisissez Browse Directory (Parcourir le répertoire). Sélectionnez le répertoire ou choisissez Create directory pour utiliser le Directory Service.


                        Choix Kerberos de l'authentification et identification du répertoire à utiliser.

Lorsque vous utilisez AWS CLI, les paramètres suivants sont obligatoires pour que l'instance de base de données puisse utiliser l'annuaire que vous avez créé :

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

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

L'exemple suivant modifie une instance de base de données pour utiliser un répertoire. Remplacez les espaces réservés suivants dans l'exemple par vos propres valeurs :

  • db_instance_name — Le nom de votre instance de base de données RDS pour DB2.

  • directory_id — L'ID du AWS Directory Service for Microsoft Active Directory répertoire que vous avez créé.

  • role_name — Le nom du rôle IAM que vous avez créé.

aws rds modify-db-instance --db-instance-identifier db_instance_name --domain d-directory_id --domain-iam-role-name role_name
Important

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

Étape 6 : Configuration d'un client DB2

Pour configurer un client DB2
  1. Créez un fichier /etc/krb5.conf (ou équivalent) pour pointer vers le domaine.

    Note

    Pour les systèmes d'exploitation Windows, créez un fichier C:\windows\krb5.ini.

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

    1. Vérifiez le trafic via DNS pour le port 53.

    2. Vérifiez le trafic sur TCP/UDP pour le port 53 et pourKerberos, y compris 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. Vous pouvez utiliser la commande db2 pour vous connecter et accéder à la base de données.

L'exemple suivant est le contenu du fichier /etc/krb5.conf 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

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

Vous pouvez utiliser l'API AWS Management ConsoleAWS CLI, la ou l'API RDS pour gérer votre instance de base de données et sa relation avec votreMicrosoft Active Directory. Par exemple, vous pouvez associer un Active Directory pour activer Kerberos l'authentification. Vous pouvez également supprimer l'association pour désactiver ou Active Directory désactiver Kerberos l'authentification. Vous pouvez également déplacer une instance de base de données pour qu'elle soit authentifiée de manière externe par l'une Microsoft Active Directory vers l'autre.

Par exemple, à l'aide de la commande modify-db-instanceCLI, vous pouvez effectuer les actions suivantes :

  • Réessayez Kerberos d'activer l'authentification en cas d'échec d'une adhésion en spécifiant l'ID de répertoire de l'adhésion actuelle pour l'--domainoption.

  • Désactivez Kerberos l'authentification sur une instance de base de données none en spécifiant l'--domainoption.

  • Déplacez une instance de base de données d'un domaine à un autre en spécifiant l'identifiant de domaine du nouveau domaine pour l'--domainoption.

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 dans la console ou en exécutant la describe-db-instancescommande. Le statut de l'instance de base de données peut avoir les valeurs suivantes :

  • kerberos-enabled— L'Kerberosauthentification est activée sur l'instance de base de données.

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

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

  • pending-maintenance-enable-kerberos— AWS tentera d'activer Kerberos l'authentification 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 Kerberos l'authentification est en attente sur cette instance de base de données.

  • pending-maintenance-disable-kerberos— AWS tentera de désactiver Kerberos l'authentification 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 AWS empêché l'activation de Kerberos l'authentification sur l'instance de base de données. Corrigez le problème de configuration avant de réémettre la commande pour modifier l'instance de base de données.

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

Une demande d'activation de Kerberos l'authentification peut échouer en raison d'un problème de connectivité réseau ou d'un rôle IAM incorrect. Dans certains cas, la tentative d'activation de Kerberos l'authentification peut échouer lorsque vous créez ou modifiez une instance de base de données. Dans ce cas, vérifiez que vous utilisez le rôle IAM approprié, puis modifiez l'instance de base de données pour rejoindre le domaine.

Connexion à RDS pour DB2 avec authentification Kerberos

Pour se connecter à RDS pour DB2 avec authentification Kerberos
  1. À partir d'une invite de commande, exécutez la commande suivante. Dans l'exemple suivant, remplacez username par votre nom Microsoft Active Directory d'utilisateur.

    kinit username
  2. Si l'instance de base de données RDS pour DB2 utilise un VPC accessible au public, ajoutez l'adresse IP du point de terminaison de votre instance de base de données à votre /etc/hosts fichier sur le client Amazon EC2. L'exemple suivant obtient l'adresse IP, puis l'ajoute au /etc/hosts fichier.

    % dig +short Db2-endpoint.AWS-Region.rds.amazonaws.com ;; Truncated, retrying in TCP mode. ec2-34-210-197-118.AWS-Region.compute.amazonaws.com. 34.210.197.118 % echo "34.210.197.118 Db2-endpoint.AWS-Region.rds.amazonaws.com" >> /etc/hosts
  3. Utilisez la commande suivante pour vous connecter à une instance de base de données RDS pour DB2 associée à. Active Directory Remplacez database_name par le nom de votre base de données RDS pour DB2.

    db2 connect to database_name