Remarques :
- Ce tutoriel nécessite un accès à Oracle Cloud. Pour vous inscrire à un compte gratuit, reportez-vous à Introduction au niveau gratuit d'Oracle Cloud Infrastructure.
- Il utilise des exemples de valeur pour les informations d'identification, la location et les compartiments Oracle Cloud Infrastructure. A la fin de l'exercice, remplacez ces valeurs par des valeurs propres à votre environnement cloud.
Intégration d'Oracle Autonomous Database avec Microsoft Entra ID
Introduction
Oracle Autonomous Database peut être intégré à Microsoft Entra ID (ME-ID - anciennement connu sous le nom d'Azure Active Directory (Azure AD)). Les utilisateurs et les applications ME-ID peuvent se connecter avec les informations d'identification SSO ME-ID pour obtenir un jeton d'accès OAuth2 ME-ID et accéder à la base de données.
Cette opération est effectuée avec un jeton d'accès ME-ID OAuth2 que l'utilisateur ou l'application demande d'abord à ME-ID. Ce jeton d'accès OAuth2 contient l'identité de l'utilisateur et les informations d'accès à la base de données, puis il est envoyé à la base de données.
Public visé
Professionnels et administrateurs IAM.
Objectifs
- Configurez Autonomous Database pour utiliser le jeton d'accès OAuth2 de l'ID Entra Microsoft et permettre aux utilisateurs d'accéder à une instance Autonomous Database avec des informations d'identification SSO ME-ID.
Prérequis
-
Intégration d'Oracle Autonomous Database avec Microsoft Entra ID
-
Autonomous Database provisionné dans OCI.
-
Location de domaines d'identité OCI IAM avec privilège d'administrateur.
-
Tout outil Oracle Database permettant de tester la connexion Autonomous Database. Reportez-vous à Connexion à Autonomous Database à l'aide des outils Oracle Database. Dans ce tutoriel, nous utilisons l'interface de ligne de commande SQL*Plus sur le système Windows New Oracle Client Installation.
-
Compte Microsoft Azure existant doté du privilège Administrateur.
Tâche 1 : inscription d'Oracle Autonomous Database à l'inscription de l'application Microsoft Azure
-
Connectez-vous au portail Microsoft Azure en tant qu'administrateur d'application cloud au moins.

-
Accédez à Accueil, à Azure Active Directory, à Inscriptions d'application et à Inscription d'une application. Entrez le nom
ADB-DB, puis cliquez sur Inscrire. L'application a été créée.
-
Cliquez sur URI d'ID d'application : Ajouter, Modifier l'URI d'ID d'application et remplacez api : par le nom de domaine de location tel que mentionné, puis cliquez sur Enregistrer.
-
URI d'ID d'application :
<tenancy_domain_name>/appid
-
-
Cliquez sur Ajouter une portée et entrez les détails suivants, puis cliquez sur Ajouter une portée.
-
Nom d'étendue :
session:scope:connect -
Qui peut accepter ? :
Admins and users -
Nom d'affichage du consentement administrateur :
connect to database -
Description du consentement administrateur :
connect to database -
Nom d'affichage du contenu utilisateur :
connect to database -
Description du contenu utilisateur :
connect to database -
Etat :
Enabled
-
-
Cliquez sur Présentation, Rôles d'application, Créer un rôle d'application, entrez les détails suivants, puis cliquez sur Appliquer.
-
Nom d'affichage :
pdb.users -
Types de membre autorisés :
Users/Groups -
Valeur :
pdb.users -
Description :
all user access -
Voulez-vous activer ce rôle d'application ? :
Enabled

-
-
Cliquez sur Rôles d'application, Créer un rôle d'application, entrez les détails suivants, puis cliquez sur Appliquer.
-
Nom d'affichage :
dba.role -
Types de membre autorisés :
Users/Groups -
Valeur :
dba.role -
Description :
dba global role -
Voulez-vous activer ce rôle d'application ? :
Enabled
-
-
Cliquez sur Rôles d'application, Créer un rôle d'application, entrez les détails suivants, puis cliquez sur Appliquer.
-
Nom d'affichage :
hr.app -
Types de membre autorisés :
Applications -
Valeur :
hr.app -
Description :
application -
Voulez-vous activer ce rôle d'application ? :
Enabled
-
-
Accédez à Accueil, Applications d'entreprise, ADB-DB, Affecter des utilisateurs et des groupes.
-
Sous Ajouter une affectation, sélectionnez Utilisateurs et votre utilisateur. Lors de la génération du jeton d'accès, cet utilisateur affecté sera utilisé dans l'accès avec connexion unique.
-
Sous Sélectionner un rôle, sélectionnez pdb.users.
-
Cliquez sur Sélectionner.
-
Cliquez sur Affecter.
-
-
Sous Ajouter une affectation, sélectionnez Utilisateurs et votre utilisateur. Lors de la génération du jeton d'accès, cet utilisateur affecté sera utilisé dans l'accès avec connexion unique.
-
Sous Sélectionner un rôle, sélectionnez dba.role.
-
Cliquez sur Sélectionner.
-
Cliquez sur Affecter.
-
Tâche 2 : créer une inscription d'application client
-
Accédez à Accueil, Inscriptions d'application, Inscrire une application, entrez les détails suivants, puis cliquez sur Inscrire.
-
Nom :
ADB-Client. -
Types de compte pris en charge :
Accounts in this organizational directory only. -
URI de réacheminement :
Public client/native - http://localhost.
-
-
Accédez à API Permissions et cliquez sur Add a permission. Sous Demander des droits d'accès à l'API, sélectionnez API utilisées par mon organisation, ADB-DB, Droits d'accès délégués et droit d'accès en tant que
session:scope:connect, puis cliquez sur Ajouter des droits d'accès.
-
Cliquez sur Exposer une API, URI d'ID d'application : Ajouter, Modifier l'URI d'ID d'application et remplacez api : par le nom de domaine de location.

Tâche 3 : Connexion à la base de données SQL
-
Accédez à Oracle Autonomous Database, cliquez sur la liste déroulante Actions de base de données, sélectionnez SQL et entrez les requêtes suivantes.

SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
Remarque :
identity_provider_typeest actuellement défini surNONE. -
Exécutez la procédure de base de données pour définir le fournisseur d'identités sur Azure AD.
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type =>'AZURE_AD', params => JSON_OBJECT('tenant_id' VALUE '<tenant_id>', 'application_id' VALUE '<application_id>', 'application_id_uri' VALUE '<application_id_uri>'), force => TRUE ); END;
-
Exécutez à nouveau la requête SQL pour vérifier le fournisseur d'identités.
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
Remarque :
identity_provider_typepasse maintenant àAzure AD. -
Créez des utilisateurs :
allusers,hrappet rôle -dba_azure.CREATE USER allusers IDENTIFIED GLOBALLY AS 'AZURE_ROLE=pdb.users'; CREATE USER hrapp IDENTIFIED GLOBALLY AS 'AZURE_ROLE=hr.app'; CREATE ROLE dba_azure IDENTIFIED GLOBALLY AS 'AZURE_ROLE=dba.role'; -
Accordez Créer une session à -
allusersethrapp.GRANT CREATE SESSION TO allusers;GRANT CREATE SESSION TO hrapp;GRANT pdb_dba TO dba_azure;
Tâche 4 : accéder au portail Azure
-
Ouvrez le portail Azure et accédez à Accueil, à Inscriptions d'application et à ADB-Client. Copiez l'ID d'application (client) et l'ID de répertoire (tenant).

-
Ouvrez le portail Azure et accédez à Accueil, à Inscriptions d'application et à ADB-DB. Copiez l'Scope.

Tâche 5 : obtenir un jeton d'accès Microsoft à l'aide de la bibliothèque MSAL Python
-
Reportez-vous au script Python pour obtenir le jeton d'accès à l'aide du flux AuthZ. Reportez-vous à Obtention des jetons d'ID Entra Microsoft à l'aide de la bibliothèque MSAL Python.
-
Remplacez
Client_id,Tenant_idetScopedans le script obtenu dans la tâche 4.
Tâche 6 : exécution du script Python
-
Ouvrez PowerShell. Vérifiez la version Python et la version
pip.python --versionpip --version -
Exécutez le script Python à l'aide de la commande suivante. Vous serez redirigé vers Microsoft Azure Portal, où vous devrez vous authentifier.
python ./get-token-for-user.py
-
Une fois l'authentification terminée, vous serez redirigé vers PowerShell et le jeton d'accès sera généré.

-
Enregistrez le jeton d'accès sur votre ordinateur local, indiquez le nom token et enregistrez-le sous le type de fichier
All Types.
-
Connectez-vous à l'aide de la chaîne de connexion en fonction de votre environnement. Remplacez hostname et access-token-path conformément à votre
TNS.oradans le portefeuille.conn /@(description= (retry_count-20) (retry_delay=3) (address= (protocol=tcps) (port=1522) (host-adb. us-ashburn-1.oraclecloud. com)) (connect_data=(<hostname>))(security-(ss1_server_dn_match-yes)(TOKEN_AUTH-OAUTH)(TOKEN_LOCATION-"<access-token-path>")))Vous êtes maintenant connecté à la base de données.

-
Exécutez les requêtes SQL suivantes une par une et observez le résultat pour valider l'utilisateur et les rôles.
sqlplus /nologSELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
SELECT * FROM SESSION_ROLES;exit
Vous avez testé la connexion à Autonomous Database à l'aide du jeton d'accès ME-ID OAuth.
Liens connexes
Remerciements
- Auteurs - Indiradarshni Balasundaram, Alex Kovuru, Anuj Tripathi
Ressources de formation supplémentaires
Parcourez d'autres ateliers sur docs.oracle.com/learn ou accédez à davantage de contenus de formation gratuits sur le canal Oracle Learning YouTube. De plus, rendez-vous sur education.oracle.com/learning-explorer pour devenir un explorateur Oracle Learning.
Pour obtenir de la documentation sur le produit, visitez Oracle Help Center.
Integrate Oracle Autonomous Database with Microsoft Entra ID
F90208-01
December 2023
Copyright © 2023, Oracle and/or its affiliates.