Remarques :

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

Prérequis

Tâche 1 : inscription d'Oracle Autonomous Database à l'inscription de l'application Microsoft Azure

  1. Connectez-vous au portail Microsoft Azure en tant qu'administrateur d'application cloud au moins.

    Portail Microsoft Azure

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

    Portail Microsoft Azure

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

      Portail Microsoft Azure

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

      Portail Microsoft Azure

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

      Portail Microsoft Azure

      Portail Microsoft Azure

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

      Portail Microsoft Azure

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

      Portail Microsoft Azure

  8. Accédez à Accueil, Applications d'entreprise, ADB-DB, Affecter des utilisateurs et des groupes.

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

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

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

      Portail Microsoft Azure

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

    Portail Microsoft Azure

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

    Portail Microsoft Azure

Tâche 3 : Connexion à la base de données SQL

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

    Portail Microsoft Azure

    SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
    

    Portail OCI

    Remarque : identity_provider_type est actuellement défini sur NONE.

  2. 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;
    

    Portail OCI

  3. 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';
    

    Portail OCI

    Remarque : identity_provider_type passe maintenant à Azure AD.

  4. Créez des utilisateurs : allusers, hrapp et 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';
    
  5. Accordez Créer une session à - allusers et hrapp.

    GRANT CREATE SESSION TO allusers;
    
    GRANT CREATE SESSION TO hrapp;
    
    GRANT pdb_dba TO dba_azure;
    

    Portail OCI

Tâche 4 : accéder au portail Azure

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

    Portail Microsoft Azure

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

    Portail Microsoft Azure

Tâche 5 : obtenir un jeton d'accès Microsoft à l'aide de la bibliothèque MSAL Python

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

  2. Remplacez Client_id, Tenant_id et Scope dans le script obtenu dans la tâche 4.

    Modifier le script Python

Tâche 6 : exécution du script Python

  1. Ouvrez PowerShell. Vérifiez la version Python et la version pip.

    python --version
    
    pip --version
    
  2. 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
    

    Windows Powershell

  3. Une fois l'authentification terminée, vous serez redirigé vers PowerShell et le jeton d'accès sera généré.

    Azure

  4. Enregistrez le jeton d'accès sur votre ordinateur local, indiquez le nom token et enregistrez-le sous le type de fichier All Types.

    Windows Powershell

  5. 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.ora dans 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.

    Connexion de base de données

  6. Exécutez les requêtes SQL suivantes une par une et observez le résultat pour valider l'utilisateur et les rôles.

    sqlplus /nolog
    
    SELECT SYS_CONTEXT ('USERENV','CURRENT_USER') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','AUTHENTICATED_IDENTITY') FROM DUAL;
    
    SELECT SYS_CONTEXT ('USERENV','ENTERPRISE_IDENTITY') FROM DUAL;
    

    Vérifier les utilisateurs

    SELECT * FROM SESSION_ROLES;
    
    exit
    

    Vérifier le rôle

    Vous avez testé la connexion à Autonomous Database à l'aide du jeton d'accès ME-ID OAuth.

Remerciements

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.