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 des instances de base de données Kerberos pour Oracle
Utilisé AWS Directory Service for Microsoft Active Directory, également appelé AWS Managed Microsoft AD, pour configurer l'authentification Kerberos pour une instance de base de données Oracle. Pour configurer l'authentification Kerberos, procédez comme suit :
Note
Au cours de la configuration, RDS crée un utilisateur de base de données Oracle nommé managed_service_user @ example.com avec le CREATE SESSION privilège « Où example.com est votre nom de domaine ». Cet utilisateur correspond à l'utilisateur créé par Directory Service dans votre annuaire Active Directory géré. Régulièrement, RDS utilise les informations d'identification fournies par Directory Service pour se connecter à votre base de données Oracle. Par la suite, RDS détruit immédiatement les tickets mis en cache.
Étape 1 : créer un répertoire à l'aide du AWS Managed Microsoft AD
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 Directory Service crée deux contrôleurs de domaine et des serveurs DNS (Domain Name System) en votre nom. 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 annuaire reste accessible, y compris en cas de défaillance.
Lorsque vous créez un AWS Managed Microsoft AD répertoire, il Directory Service exécute les tâches suivantes en votre nom :
-
Configuration d'un annuaire Active Directory dans le 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.
Note
N'oubliez pas de sauvegarder ce mot de passe. 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é organisationnelle, qui porte le nom NetBIOS que vous avez saisi lorsque vous avez créé votre annuaire, est située 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é organisationnelle
-
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 Windows AD et DNS 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 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 le répertoire, utilisez l'API AWS Management Console AWS CLI, le ou l' Directory Service API. Veillez à ouvrir les ports sortants appropriés sur le groupe de sécurité afin que l'annuaire puisse communiquer avec l'instance de base de données Oracle.
Pour créer un répertoire avec AWS Managed Microsoft AD
Connectez-vous à la Directory Service console AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/directoryservicev2/
. -
Dans le panneau de navigation, choisissez Directories (Répertoires), puis Set up Directory (Configurer un répertoire).
-
Choisissez AWS Managed Microsoft AD. AWS Managed Microsoft AD est la seule option que vous pouvez actuellement utiliser avec Amazon RDS.
-
Entrez les informations suivantes :
- Nom de DNS de l’annuaire
-
Nom complet de l’annuaire, par exemple
corp.example.com. - Nom NetBIOS de l’annuaire
-
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.
-
Choisissez Suivant.
-
Entrez les informations suivantes dans la section Networking (Réseaux), puis choisissez Suivant (Next) :
- VPC
-
VPC de l'annuaire. Créez l'instance de base de données Oracle dans ce même VPC.
- 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.
-
Vérifiez les informations concernant l’annuaire et effectuez les modifications nécessaires. Lorsque les informations sont correctes, choisissez Create directory (Créer l’annuaire).
La création de l'annuaire prend plusieurs minutes. Lorsqu’il est créé, la valeur du champ Statut devient Actif.
Pour consulter les informations relatives à votre annuaire, choisissez le nom de l'annuaire dans la liste. Notez la valeur ID de l'annuaire, car vous avez besoin de cette valeur lorsque vous créez ou modifiez votre instance de base de données Oracle.
Étape 2 : Créer une approbation
Si vous prévoyez d'utiliser AWS Managed Microsoft AD uniquement, passez àÉtape 3 : configurer les autorisations IAM pour Amazon RDS.
Pour activer l'authentification Kerberos à l'aide de votre Active Directory autogéré, vous devez créer une relation d'approbation forestière entre votre Active Directory autogéré et celui AWS Managed Microsoft AD créé à l'étape précédente. La confiance peut être unidirectionnelle, c'est-à-dire qu'elle AWS Managed Microsoft AD fait confiance à Active Directory autogéré. 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 forestières à l'aide Directory Service de la section Quand créer une relation de confiance dans le Guide d'Directory Service administration.
Étape 3 : configurer les autorisations IAM pour Amazon RDS
Pour appeler Directory Service pour vous, Amazon RDS a besoin d'un rôle IAM qui utilise la politique IAM gérée. AmazonRDSDirectoryServiceAccess Ce rôle permet à Amazon RDS d’appeler l’ Directory Service.
Note
Pour que le rôle autorise l'accès, le point de terminaison AWS Security Token Service (AWS STS) doit être activé correctement Région AWS pour votre Compte AWS. 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, consultez la section Activation et désactivation AWS STS dans et Région AWS dans le guide de l'utilisateur IAM.
Création d’un rôle IAM
Lorsque vous créez une instance de base de données à l'aide de AWS Management Console, et que l'utilisateur de la console a l'iam:CreateRoleautorisation, la console rds-directoryservice-kerberos-access-role se crée automatiquement. Sinon, vous devez créer le rôle IAM manuellement. Lorsque vous créez un rôle IAM manuellementDirectory Service, choisissez et associez la politique AWS gérée AmazonRDSDirectoryServiceAccess à celui-ci.
Pour plus d'informations sur la création de rôles IAM 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 l'utilisateur IAM.
Note
Le rôle IAM utilisé pour l'authentification Windows pour RDS for Microsoft SQL Server ne peut pas être utilisé pour RDS for Oracle.
Création manuelle d'une politique de confiance IAM
Vous pouvez également créer des politiques de ressources avec les autorisations obligatoires au lieu d'utiliser la politique IAM gérée AmazonRDSDirectoryServiceAccess. Spécifiez directoryservice.rds.amazonaws.com et rds.amazonaws.com comme principaux.
Afin de limiter les autorisations octroyées par Amazon RDS à un autre service pour une ressource spécifique, nous vous recommandons d'utiliser les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount dans les politiques de ressources. Le moyen le plus efficace de se protéger contre le problème de député confus consiste à utiliser la clé de contexte de condition globale aws:SourceArn avec l'ARN complet d'une ressource Amazon RDS. Pour plus d’informations, consultez Prévention des problèmes d'adjoint confus entre services.
L'exemple suivant montre comment utiliser les clés de contexte de condition globale aws:SourceArn et aws:SourceAccount pour dans Amazon RDS afin d'éviter le problème de l'adjoint confus.
Pour les régions d’adhésion, vous devez également inclure un principal de service pour cette région dans le formulaire de directoryservice.rds.. Dans la région Afrique (Le Cap), par exemple, utilisez la politique de confiance suivante :region_name.amazonaws.com
Le rôle doit également avoir la politique IAM suivante.
Étape 4 : Créer et configurer des utilisateurs
Vous pouvez créer des utilisateurs à l’aide de l’outil Active Directory Users and Computers, qui fait partie des outils Active Directory Domain Services et Active Directory Lightweight Directory Services. Dans ce cas, les utilisateurs sont des personnes ou des entités qui ont accès à votre annuaire.
Pour créer des utilisateurs dans un Directory Service annuaire, vous devez être connecté à une EC2 instance Amazon basée sur Windows qui est membre de l' Directory Service annuaire. Parallèlement, vous devez être connecté en tant qu'utilisateur disposant de privilèges pour créer des utilisateurs. Pour plus d’informations sur la création d’utilisateurs dans votre annuaire Microsoft Active Directory, consultez Gérer les utilisateurs et les groupes dans AWS Managed Microsoft AD dans le Guide d’administration Directory Service .
Étape 5 : Activer le trafic entre VPC entre le répertoire et l'instance de base de données
Si vous avez l'intention de rechercher l'annuaire et l'instance de base de données dans le même VPC, ignorez cette étape et passez à Étape 6 : Créer ou modifier une instance de base de données Oracle.
Si vous prévoyez de localiser le répertoire et l'instance de base de données dans différents AWS comptes ou VPCs de configurer le trafic inter-VPC à l'aide du peering VPC ou de Transit Gateway.AWS La procédure suivante active le trafic entre les utilisateurs de VPCs l'appairage VPC. Suivez les instructions de Qu’est-ce que l’appairage de VPC ? dans le Guide de l’appairage Amazon Virtual Private Cloud.
Pour activer le trafic entre VPC à l’aide de l’appairage de VPC
-
Configurez les règles de routage de VPC appropriées afin de veiller à ce que le trafic réseau puisse être acheminé dans les deux sens.
-
Assurez-vous que le groupe de sécurité de l'instance de base de données puisse recevoir le trafic entrant depuis le groupe de sécurité de cet annuaire. Pour plus d'informations, consultez Meilleures pratiques pour AWS Managed Microsoft AD dans le Guide d'administration Directory Service .
-
Assurez-vous qu'il n'existe aucune règle de liste de contrôle d'accès (ACL) pour bloquer le trafic.
Si le répertoire appartient à un autre AWS compte, vous devez le partager.
Pour partager le répertoire entre AWS comptes
-
Commencez à partager le répertoire avec le AWS compte dans lequel l'instance de base de données sera créée en suivant les instructions du Tutoriel : Partage de votre AWS Managed Microsoft AD répertoire pour une connexion de EC2 domaine fluide dans le Guide d'Directory Service administration.
-
Connectez-vous à la Directory Service console à l'aide du compte de l'instance de base de données et assurez-vous que le domaine possède le
SHAREDstatut requis avant de continuer. -
Lorsque vous êtes connecté à la Directory Service console à l'aide du compte de l'instance de base de données, notez la valeur de l'ID du répertoire. Vous utilisez cet ID d’annuaire pour joindre l’instance de base de données au domaine.
Étape 6 : Créer ou modifier une instance de base de données Oracle
Créez ou modifiez une instance de base de données Oracle en vue de son utilisation avec votre annuaire. Vous pouvez utiliser la console, la CLI 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 :
-
Créez une nouvelle instance de base de données Oracle à l'aide de la console, de la commande create-db-instanceCLI ou de l'opération Create DBInstance RDS API.
Pour obtenir des instructions, veuillez consulter Création d'une instance de base de données Amazon RDS.
-
Modifiez une instance de base de données Oracle existante à l'aide de la console, de la commande modify-db-instanceCLI ou de l'opération DBInstanceModify RDS API.
Pour obtenir des instructions, veuillez consulter Modification d'une instance de base de données Amazon RDS.
-
Restaurez une instance de base de données Oracle à partir d'un instantané de base de données à l'aide de la console, de la commande CLI restore-db-instance-from-db-snapshot ou de l'opération DBInstance Restore DBSnapshot From RDS API.
Pour obtenir des instructions, veuillez consulter Restauration d’une instance de base de données.
-
Restaurez une instance de base de données Oracle à point-in-time l'aide de la console, de la commande restore-db-instance-to- point-in-time CLI ou de l'opération Restore DBInstance ToPointInTime RDS API.
Pour obtenir des instructions, veuillez consulter Restauration d’une instance de base de données à un instant précis pour Amazon RDS.
L'authentification Kerberos est uniquement prise en charge pour les instances de base de données Oracle 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. Lors de la création ou de la modification de l'instance de base de données, procédez comme suit :
-
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éé.
-
Veillez à ce que le groupe de sécurité de l'instance de base de données puisse recevoir le trafic entrant depuis le groupe de sécurité de l'annuaire et envoyer le trafic sortant vers l'annuaire.
Lorsque vous utilisez la console pour créer une instance de base de données, choisissez Mot de passe et authentification Kerberos dans la section 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).
Lorsque vous utilisez la console pour modifier ou restaurer une instance de base de données, choisissez le répertoire dans la section Kerberos authentication (Authentification Kerberos) ou choisissez Create a new directory (Créer un nouveau répertoire).
Lorsque vous utilisez le AWS CLI, les paramètres suivants sont requis pour que l'instance de base de données puisse utiliser le répertoire 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 paramètre
--domain-iam-role-name, utilisez le rôle que vous avez créé qui utilise la politique IAM géréeAmazonRDSDirectoryServiceAccess.
Par exemple, la commande de CLI suivante modifie une instance de base de données de façon à utiliser un annuaire.
Pour Linux, macOS ou Unix :
aws rds modify-db-instance \ --db-instance-identifiermydbinstance\ --domain d-ID\ --domain-iam-role-namerole-name
Pour Windows :
aws rds modify-db-instance ^ --db-instance-identifiermydbinstance^ --domain d-ID^ --domain-iam-role-namerole-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.
Note
MANAGED_SERVICE_USERest un compte de service dont le nom est généré aléatoirement par Directory Service for RDS. Lors de la configuration de l’authentification Kerberos, RDS for Oracle crée un utilisateur portant le même nom et lui attribue le privilège CREATE
SESSION. L'utilisateur de la base de données Oracle est identifié de manière externe comme MANAGED_SERVICE_USER@EXAMPLE.COM suit : où se EXAMPLE.COM trouve le nom de votre domaine. Régulièrement, RDS utilise les informations d'identification fournies par Directory Service pour se connecter à votre base de données Oracle. Par la suite, RDS détruit immédiatement les tickets mis en cache.
Étape 7 : Créer les connexions Oracle d'authentification Kerberos
Utilisez les informations d'identification de l'utilisateur principal Amazon RDS for vous connecter à l'instance de base de données Oracle comme vous le faites pour n'importe quelle instance de base de données. L'instance de base de données est jointe au AWS Managed Microsoft AD domaine. Vous pouvez ainsi mettre en service les connexions et utilisateurs Oracle depuis les utilisateurs Microsoft Active Directory de votre domaine. Pour gérer les autorisations de base de données, vous pouvez octroyer et annuler les autorisations Oracle standard pour ces connexions.
Pour autoriser un utilisateur Microsoft Active Directory à s'authentifier avec Oracle
-
Connectez l'instance de base de données Oracle à l'aide de vos informations d'identification de l'utilisateur principal Amazon RDS.
-
Créez un utilisateur authentifié en externe dans la base de données Oracle.
Dans l'exemple suivant, remplacez
par le nom d'utilisateur et le nom de domaine.KRBUSER@CORP.EXAMPLE.COMCREATE USER "KRBUSER@CORP.EXAMPLE.COM" IDENTIFIED EXTERNALLY; GRANT CREATE SESSION TO "KRBUSER@CORP.EXAMPLE.COM";Les utilisateurs (personnes et applications) de votre domaine peuvent désormais se connecter à l'instance de base de données Oracle à partir d'un ordinateur client joint au domaine à l'aide de l'authentification Kerberos.
Étape 8 : Configurer un client Oracle
Pour configurer un client Oracle, vous devez vous conformer aux exigences suivantes :
-
Créez un fichier de configuration nommé krb5.conf (Linux) ou krb5.ini (Windows) pour pointer vers le domaine. Configurez le client Oracle pour qu'il utilise ce fichier de configuration.
-
Vérifiez que le trafic peut circuler entre l'hôte du client et Directory Service via le port DNS 53 via TCP/UDP, les ports Kerberos (88 et 464 pour les ports gérés Directory Service) via TCP et le port LDAP 389 sur TCP.
-
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 trouverez ci-dessous un exemple de 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 = CORP.EXAMPLE.COM example.com = CORP.EXAMPLE.COM
Vous trouverez ci-dessous un exemple de contenu pour Microsoft AD sur site. Dans votre fichier krb5.conf ou krb5.ini, remplacez par on-prem-ad-server-name le nom de votre serveur AD local.
[libdefaults] default_realm = ONPREM.COM [realms] AWSAD.COM = { kdc = awsad.com admin_server = awsad.com } ONPREM.COM = { kdc =on-prem-ad-server-nameadmin_server =on-prem-ad-server-name} [domain_realm] .awsad.com = AWSAD.COM awsad.com= AWSAD.COM .onprem.com = ONPREM.COM onprem.com= ONPREM.COM
Note
Après avoir configuré votre fichier krb5.ini ou krb5.conf, nous vous recommandons de redémarrer le serveur.
Vous trouverez ci-après un exemple de contenu sqlnet.ora pour une configuration SQL*Plus :
SQLNET.AUTHENTICATION_SERVICES=(KERBEROS5PRE,KERBEROS5) SQLNET.KERBEROS5_CONF=path_to_krb5.conf_file
Pour obtenir un exemple de configuration SQL Developer, consultez Document 1609359.1