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 Kerberos pour les instances de base de données 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
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 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 AWS 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
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, 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é 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 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' AWS 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 AWS 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 le répertoire).
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 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 AWS Directory Service de la section Quand créer une relation de confiance dans le Guide d'AWS Directory Service administration.
Étape 3 : configurer les autorisations IAM pour Amazon RDS
Pour appeler AWS 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' AWS 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:CreateRole
autorisation, 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 de plus amples informations, veuillez consulter 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.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "directoryservice.rds.amazonaws.com", "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:rds:
us-east-1
:123456789012
:db:mydbinstance
" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } ] }
Pour les régions optionnelles, vous devez également inclure un principal de service pour cette région sous la forme dedirectoryservice.rds.
. Par exemple, dans la région Afrique (Le Cap), appliquez la politique de confiance suivante :region_name
.amazonaws.com
{ "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "directoryservice.rds.amazonaws.com", "directoryservice.rds.af-south-1.amazonaws.com", "rds.amazonaws.com" ] }, "Action": "sts:AssumeRole", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:rds:
af-south-1
:123456789012
:db:mydbinstance
" }, "StringEquals": { "aws:SourceAccount": "123456789012
" } } } ] }
Le rôle doit également avoir la politique 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 à 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 AWS Directory Service annuaire, vous devez être connecté à une EC2 instance Amazon basée sur Windows qui est membre de l' AWS Directory Service annuaire. Parallèlement, vous devez être connecté en tant qu'utilisateur disposant de privilèges pour créer des utilisateurs. Pour de plus amples informations sur la création d'utilisateurs dans votre annuaire Microsoft Active Directory, veuillez consulter Gérer les utilisateurs et les groupes dans AWS Managed Microsoft AD dans le Guide d'administration AWS 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 AWS 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'AWS Directory Service administration.
-
Connectez-vous à la AWS Directory Service console à l'aide du compte de l'instance de base de données et assurez-vous que le domaine possède le
SHARED
statut requis avant de continuer. -
Lorsque vous êtes connecté à la AWS 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 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, consultez 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, consultez Modification d'une RDS instance de base de données Amazon.
-
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, consultez Restauration vers 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, consultez Restauration d'une instance de base de données à une heure spécifiée 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.
Dans Linux, macOS, ou Unix:
aws rds modify-db-instance \ --db-instance-identifier
mydbinstance
\ --domain d-ID
\ --domain-iam-role-namerole-name
Dans Windows:
aws rds modify-db-instance ^ --db-instance-identifier
mydbinstance
^ --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_USER
est 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 pour 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. Ainsi, vous pouvez configurer des connexions et des utilisateurs Oracle à partir des 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.COM
CREATE 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 AWS Directory Service via le port DNS 53 via TCP/UDP, les ports Kerberos (88 et 464 pour les ports gérés AWS 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-name
admin_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, veuillez consulter Document 1609359.1