Hinweis:

Oracle Autonomous Database mit Microsoft Entra ID integrieren

Einführung

Oracle Autonomous Database kann mit Microsoft Entra ID (ME-ID - früher als Azure Active Directory (Azure AD) bekannt) integriert werden. ME-ID-Benutzer und -Anwendungen können sich mit ME-ID-Single Sign-On-(SSO-)Zugangsdaten anmelden, um ein ME-ID OAuth2-Zugriffstoken abzurufen und auf die Datenbank zuzugreifen.

Dies erfolgt mit einem ME-ID-Zugriffstoken OAuth2, das der Benutzer oder die Anwendung zuerst von der ME-ID anfordert. Dieses OAuth2-Zugriffstoken enthält die Benutzeridentitäts- und Datenbankzugriffsinformationen und wird dann an die Datenbank gesendet.

Zielgruppe

IAM-Experten und -Administratoren.

Ziele

Voraussetzungen

Aufgabe 1: Oracle Autonomous Database bei der Microsoft Azure-Anwendungsregistrierung registrieren

  1. Melden Sie sich beim Microsoft Azure-Portal als Cloud-Anwendungsadministrator an.

    Microsoft Azure-Portal

  2. Navigieren Sie zu Home, Azure Active Directory, App-Registrierungen und Anwendung registrieren. Geben Sie Name als ADB-DB ein, und klicken Sie auf Registrieren. Die Anwendung wurde erstellt.

    Microsoft Azure-Portal

  3. Klicken Sie auf Anwendungs-ID-URI: Hinzufügen, Anwendungs-ID-URI bearbeiten, und ersetzen Sie api: durch den Mandantendomainnamen wie erwähnt. Klicken Sie dann auf Speichern.

    • Anwendungs-ID-URI: <tenancy_domain_name>/appid

      Microsoft Azure-Portal

  4. Klicken Sie auf Geltungsbereich hinzufügen, und geben Sie die folgenden Details ein. Klicken Sie dann auf Geltungsbereich hinzufügen.

    • Scope name: session:scope:connect

    • Wer kann zustimmen?: Admins and users

    • Anzeigename der Admin-Zustimmung: connect to database

    • Admin-Einwilligungsbeschreibung: connect to database

    • Anzeigename für Benutzerinhalt: connect to database

    • Benutzerinhaltsbeschreibung: connect to database

    • Status: Enabled

      Microsoft Azure-Portal

  5. Klicken Sie auf Überblick, Anwendungsrollen, Anwendungsrolle erstellen, geben Sie die folgenden Details ein, und klicken Sie auf Anwenden.

    • Displayname: pdb.users

    • Zulässige Elementtypen: Users/Groups

    • Wert: pdb.users

    • Beschreibung: all user access

    • Möchten Sie diese App-Rolle aktivieren?: Enabled

      Microsoft Azure-Portal

      Microsoft Azure-Portal

  6. Klicken Sie auf Anwendungsrollen, Anwendungsrolle erstellen, geben Sie die folgenden Details ein, und klicken Sie auf Anwenden.

    • Displayname: dba.role

    • Zulässige Elementtypen: Users/Groups

    • Wert: dba.role

    • Beschreibung: dba global role

    • Möchten Sie diese App-Rolle aktivieren?: Enabled

      Microsoft Azure-Portal

  7. Klicken Sie auf Anwendungsrollen, Anwendungsrolle erstellen, geben Sie die folgenden Details ein, und klicken Sie auf Anwenden.

    • Displayname: hr.app

    • Zulässige Elementtypen: Applications

    • Wert: hr.app

    • Beschreibung: application

    • Möchten Sie diese App-Rolle aktivieren?: Enabled

      Microsoft Azure-Portal

  8. Navigieren Sie zu Home, Unternehmensanwendungen, ADB-DB, Benutzer und Gruppen zuweisen.

  9. Wählen Sie unter Zuweisung hinzufügen die Option Benutzer aus, und wählen Sie Ihren Benutzer aus. Beim Generieren des Zugriffstokens wird dieser zugewiesene Benutzer bei Single Sign-On verwendet.

    • Wählen Sie unter Rolle auswählen die Option pdb.users aus.

    • Klicken Sie auf Select.

    • Klicken Sie auf Assign.

  10. Wählen Sie unter Zuweisung hinzufügen die Option Benutzer aus, und wählen Sie Ihren Benutzer aus. Beim Generieren des Zugriffstokens wird dieser zugewiesene Benutzer bei Single Sign-On verwendet.

    • Wählen Sie unter Rolle auswählen die Option dba.role aus.

    • Klicken Sie auf Select.

    • Klicken Sie auf Assign.

Aufgabe 2: Clientanwendungsregistrierung erstellen

  1. Navigieren Sie zu Home, App-Registrierungen, Anwendung registrieren, geben Sie die folgenden Details ein, und klicken Sie auf Registrieren.

    • Name: ADB-Client.

    • Unterstützte Kontotypen: Accounts in this organizational directory only.

    • Umleitungs-URI: Public client/native - http://localhost.

      Microsoft Azure-Portal

  2. Navigieren Sie zu API-Berechtigungen, und klicken Sie auf Berechtigung hinzufügen. Wählen Sie unter API-Berechtigungen anfordern APIs, die meine Organisation verwendet, ADB-DB, Delegierte Berechtigungen und Berechtigung als session:scope:connect aus. Klicken Sie dann auf Berechtigungen hinzufügen.

    Microsoft Azure-Portal

  3. Klicken Sie auf API bereitstellen, Anwendungs-ID-URI: Hinzufügen, Anwendungs-ID-URI bearbeiten, und ersetzen Sie api: durch den Mandantendomainnamen.

    Microsoft Azure-Portal

Aufgabe 3: Verbindung zur SQL-Datenbank herstellen

  1. Navigieren Sie zu Oracle Autonomous Database, und klicken Sie auf die Dropdown-Liste Datenbankaktionen. Wählen Sie SQL aus, und geben Sie die folgenden Abfragen ein.

    Microsoft Azure-Portal

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

    OCI-Portal

    Hinweis: identity_provider_type ist derzeit auf NONE gesetzt.

  2. Führen Sie die Datenbankprozedur aus, um den Identitätsprovider auf Azure AD festzulegen.

    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;
    

    OCI-Portal

  3. Führen Sie die SQL-Abfrage erneut aus, um den Identitätsprovider zu prüfen.

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

    OCI-Portal

    Hinweis: identity_provider_type soll jetzt Azure AD lauten.

  4. Erstellen Sie Benutzer: allusers, hrapp und Rolle: 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. Erteilen Sie Session erstellen für allusers und hrapp.

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

    OCI-Portal

Aufgabe 4: Zum Azure-Portal navigieren

  1. Öffnen Sie das Azure-Portal, und navigieren Sie zu Home, App-Registrierungen und ADB-Client. Kopieren Sie die Anwendungs-ID (Client-ID) und die Verzeichnis-ID.

    Microsoft Azure-Portal

  2. Öffnen Sie das Azure-Portal, und navigieren Sie zu Home, App-Registrierungen und ADB-DB. Kopieren Sie den Geltungsbereich.

    Microsoft Azure-Portal

Aufgabe 5: Microsoft-Zugriffstoken mit der MSAL-Python-Library abrufen

  1. Informationen zum Abrufen des Zugriffstokens mit dem Ablauf AuthZ finden Sie im Python-Skript unter Microsoft Entra-ID-Token mit der MSAL-Python-Library abrufen.

  2. Ersetzen Sie Client_id, Tenant_id und Scope in dem in Aufgabe 4 abgerufenen Skript.

    Python-Skript ändern

Aufgabe 6: Python-Skript ausführen

  1. Öffnen Sie PowerShell. Prüfen Sie die Python-Version und die pip-Version.

    python --version
    
    pip --version
    
  2. Führen Sie das Python-Skript mit dem folgenden Befehl aus. Sie werden zum Microsoft Azure Portal weitergeleitet, wo Sie sich authentifizieren müssen.

    python ./get-token-for-user.py
    

    Windows PowerShell

  3. Sobald die Authentifizierung abgeschlossen ist, werden Sie zu PowerShell umgeleitet und das Zugriffstoken wird generiert.

    Azure

  4. Speichern Sie das Zugriffstoken auf Ihrem lokalen Rechner, geben Sie den Namen token an, und speichern Sie ihn als Dateityp All Types.

    Windows PowerShell

  5. Stellen Sie eine Verbindung über eine Verbindungszeichenfolge gemäß Ihrer Umgebung her. Ersetzen Sie hostname und access-token-path gemäß TNS.ora im Wallet.

    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>")))
    

    Sie haben sich jetzt erfolgreich bei der Datenbank angemeldet.

    Datenbankverbindung

  6. Führen Sie die folgenden SQL-Abfragen einzeln aus, und beobachten Sie die Ausgabe, um den Benutzer und die Rollen zu validieren.

    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;
    

    Benutzer prüfen

    SELECT * FROM SESSION_ROLES;
    
    exit
    

    Rolle bestätigen

    Sie haben die Verbindung zu Autonomous Database erfolgreich mit dem ME-ID-Zugriffstoken OAuth getestet.

Danksagungen

Weitere Lernressourcen

Lernen Sie andere Übungen auf docs.oracle.com/learn kennen, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube Channel zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Produktdokumentation finden Sie im Oracle Help Center.