Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Registrieren eines kostenlosen Accounts finden Sie unter Erste Schritte mit Oracle Cloud Infrastructure Free Tier.
- Es verwendet Beispielwerte für Oracle Cloud Infrastructure-Zugangsdaten, -Mandanten und -Compartments. Wenn Sie Ihre Übung abgeschlossen haben, ersetzen Sie diese Werte durch spezifische Werte für Ihre Cloud-Umgebung.
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
- Konfigurieren Sie Autonomous Database so, dass das Zugriffstoken der Microsoft Entra-ID OAuth2 verwendet wird, und ermöglichen Sie Benutzern den Zugriff auf eine Autonomous Database mit ME-ID-SSO-Zugangsdaten.
Voraussetzungen
-
Integration von Oracle Autonomous Database mit Microsoft Entra ID
-
Autonomous Database in OCI bereitgestellt.
-
OCI IAM-Identitätsdomains-Mandant mit Administratorberechtigung.
-
Alle Oracle Database-Tools zum Testen der Autonomous Database-Verbindung finden Sie unter Verbindung zu Autonomous Database mit Oracle Database-Tools herstellen. In diesem Tutorial verwenden wir die SQL*Plus-Befehlszeilenschnittstelle auf dem Windows-System Neue Oracle-Clientinstallation.
-
Ein vorhandener Microsoft Azure-Account mit Administratorberechtigung.
Aufgabe 1: Oracle Autonomous Database bei der Microsoft Azure-Anwendungsregistrierung registrieren
-
Melden Sie sich beim Microsoft Azure-Portal als Cloud-Anwendungsadministrator an.
-
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. -
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
-
-
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
-
-
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
-
-
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
-
-
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
-
-
Navigieren Sie zu Home, Unternehmensanwendungen, ADB-DB, Benutzer und Gruppen zuweisen.
-
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.
-
-
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
-
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
.
-
-
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. -
Klicken Sie auf API bereitstellen, Anwendungs-ID-URI: Hinzufügen, Anwendungs-ID-URI bearbeiten, und ersetzen Sie api: durch den Mandantendomainnamen.
Aufgabe 3: Verbindung zur SQL-Datenbank herstellen
-
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.
SELECT NAME, VALUE FROM V$PARAMETER WHERE NAME='identity_provider_type';
Hinweis:
identity_provider_type
ist derzeit aufNONE
gesetzt. -
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;
-
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';
Hinweis:
identity_provider_type
soll jetztAzure AD
lauten. -
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';
-
Erteilen Sie Session erstellen für
allusers
undhrapp
.GRANT CREATE SESSION TO allusers;
GRANT CREATE SESSION TO hrapp;
GRANT pdb_dba TO dba_azure;
Aufgabe 4: Zum Azure-Portal navigieren
-
Ö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.
-
Öffnen Sie das Azure-Portal, und navigieren Sie zu Home, App-Registrierungen und ADB-DB. Kopieren Sie den Geltungsbereich.
Aufgabe 5: Microsoft-Zugriffstoken mit der MSAL-Python-Library abrufen
-
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.
-
Ersetzen Sie
Client_id
,Tenant_id
undScope
in dem in Aufgabe 4 abgerufenen Skript.
Aufgabe 6: Python-Skript ausführen
-
Öffnen Sie PowerShell. Prüfen Sie die Python-Version und die
pip
-Version.python --version
pip --version
-
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
-
Sobald die Authentifizierung abgeschlossen ist, werden Sie zu PowerShell umgeleitet und das Zugriffstoken wird generiert.
-
Speichern Sie das Zugriffstoken auf Ihrem lokalen Rechner, geben Sie den Namen token an, und speichern Sie ihn als Dateityp
All Types
. -
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.
-
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;
SELECT * FROM SESSION_ROLES;
exit
Sie haben die Verbindung zu Autonomous Database erfolgreich mit dem ME-ID-Zugriffstoken OAuth getestet.
Verwandte Links
Danksagungen
- Autoren - Indiradarshni Balasundaram, Alex Kovuru, Anuj Tripathi
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.
Integrate Oracle Autonomous Database with Microsoft Entra ID
F90208-01
December 2023
Copyright © 2023, Oracle and/or its affiliates.