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 APEX in Oracle Cloud Infrastructure Identity and Access Management-Identitätsdomains integrieren
Einführung
Oracle Cloud Infrastructure Identity and Access Management (OCI IAM) stellt Identity and Access Management-Features wie Authentifizierung, Single Sign-On (SSO) und Identity Lifecycle Management für Oracle Cloud Infrastructure sowie für Oracle- und Nicht-Oracle-Anwendungen, ob SaaS, in der Cloud gehostet oder lokal, bereit.
Zielsetzung
- Konfigurieren Sie SSO in Oracle APEX-Anwendungen mit OCI IAM-Identitätsdomains als Identitätsprovider (IdP), der Sicherheitskontrollen wie Multifaktor-Authentifizierung (MFA), adaptive Sicherheit, Reporting usw. bereitstellt.
Voraussetzungen
-
OCI IAM-Administratorzugriff auf jede Identitätsdomain für das Setup der Partneranwendung.
-
Oracle APEX 18.1 und höher mit einer Anwendung für die Authentifizierung eingerichtet.
Aufgabe 1: Beispielanwendung in Oracle APEX installieren
-
Melden Sie sich bei Ihrem APEX-Workspace an, um eine Beispielanwendung zu erstellen, für die OCI IAM als IdP für SSO verwendet wird. Um eine Anwendung in Oracle APEX zu erstellen, klicken Sie auf App Builder.
-
Klicken Sie auf Anwendung erstellen.
-
Wählen Sie Aus einer Datei aus.
-
Klicken Sie auf Kopieren und einfügen, und wählen Sie Vertrieb aus, wie in den folgenden Bildern dargestellt.
Aufgabe 2: Vertrauliche Anwendung in OCI IAM registrieren
Wir registrieren eine vertrauliche Anwendung in der OCI-IAM-Domain. Für dieses Tutorial haben wir die Standarddomain verwendet.
-
Melden Sie sich bei der OCI-Konsole an, und navigieren Sie zu Identität und Sicherheit. Klicken Sie unter ID auf Domains und Anwendungen.
-
Wählen Sie Verträge aus, und klicken Sie auf Workflow starten.
-
Geben Sie einen Namen für die Anwendung ein, und klicken Sie auf Weiter.
-
Wählen Sie unter Zulässiger Berechtigungstyp die Option Autorisierungscode aus, und klicken Sie auf Weiter.
-
Geben Sie die Umleitungs-URL in folgendem Format ein:
https://guid-demodb.adb.region.oraclecloudapps.com/ords/apex_authentication.callback
. Beispiel:https://guid-demodb.adb.us-ashburn-1.oraclecloudapps.com/ords/apex_authentication.callback
. -
Geben Sie die Umleitungs-URL nach der Abmeldung in folgendem Format ein:
https://guid-demodb.adb.region.oraclecloudapps.com/ords/f?p=your_apex_number_here
. -
Lassen Sie die Abmelde-URL leer.
Hinweis: Notieren Sie sich diese URL. Sie muss genau übereinstimmen, wenn sie später in der URL nach der Abmeldung des Oracle APEX-Authentifizierungsschemas hinzugefügt wird.
-
Klicken Sie auf Beenden.
-
Klicken Sie auf Anwendung bearbeiten, und wählen Sie unter Authentifizierung und Autorisierung die Option Berechtigung als Autorisierung durchsetzen aus (wird später zur Kontrolle des Zugriffs auf die Oracle APEX-Anwendung verwendet).
-
Klicken Sie auf Anwendung aktivieren.
-
Kopieren Sie die Client-ID und das Client Secret, die in der Konfiguration auf Oracle APEX-Seite verwendet werden.
Aufgabe 3: Neue Webzugangsdaten in Ihrem Oracle APEX-Workspace erstellen
-
Öffnen Sie den Oracle APEX-Workspace. Klicken Sie in der in Aufgabe 1 erstellten Anwendung auf Gemeinsame Objekte.
-
Klicken Sie auf Anmeldedaten.
-
Klicken Sie auf Erstellen.
-
Geben Sie die folgenden Informationen ein, und klicken Sie auf Erstellen.
Hinweis: Verwenden Sie in Aufgabe 2 die Client-ID und das Client Secret aus der vertraulichen Anwendung.
-
Weisen Sie dieser Anwendung einen Benutzer zu.
Aufgabe 4: Neues Authentifizierungsschema in Oracle APEX für die Beispielanwendung erstellen
-
Öffnen Sie den Oracle APEX-Workspace, und klicken Sie auf Gemeinsam verwendete Objekte. Klicken Sie unter Sicherheit auf Authentifizierungsschemas und Erstellen.
-
Wählen Sie Basierend auf einem vordefinierten Schema in der Galerie aus, und klicken Sie auf Weiter.
-
Geben Sie die folgenden Informationen ein, und klicken Sie auf Erstellen. Die Discovery-URL lautet
https://[idcs-service-url]/.well-known/openid-configuration/
. -
Klicken Sie auf das erstellte Authentifizierungsschema - aktuell für Oracle Identity Cloud Service (IDCS).
-
Klicken Sie auf die Registerkarte URL nach der Abmeldung, und wählen Sie Gehe zu und URL aus. Fügen Sie unter URL die Oracle APEX-Anwendungs-URL aus Aufgabe 2.6 ein. Diese URL muss mit der IDCS-Umleitungs-URL nach der Abmeldung übereinstimmen.
-
Aktualisieren Sie unter Sicherheitsattribute die Informationen, und klicken Sie auf Änderungen anwenden.
-
(Optional) Geben Sie im Abschnitt Quelle den folgenden PL/SQL-Code ein.
Hinweis: Dies ist nur erforderlich, wenn Sie die Autorisierung kontrollieren möchten, wenn Sie die Features oder das Verhalten einer Anwendung basierend auf den Gruppen ändern möchten, zu denen ein Benutzer gehört. Weitere Informationen finden Sie im Abschnitt Autorisierung kontrollieren am Ende dieses Tutorials.
procedure load_dynamic_groups as l_group_names apex_t_varchar2; begin -- -- add all group names to l_group_names -- for i in 1 .. apex_json.get_count('groups') loop apex_string.push ( p_table => l_group_names, p_value => apex_json.get_varchar2 ( p_path => 'groups[%d].name', p0 => i )); end loop; -- -- save group names in session -- apex_authorization.enable_dynamic_groups ( p_group_names => l_group_names ); end;
-
(Optional für Schritt 7 verwendet) Geben Sie unter Anmeldeverarbeitung die folgenden Informationen ein, und speichern Sie.
Aufgabe 5: Anmeldung bei der Oracle APEX-Anwendung testen
-
Klicken Sie auf Seite "Ausführen".
-
Geben Sie die Zugangsdaten auf dem Anmeldebildschirm der Eingabeaufforderung ein. In diesem Tutorial wird der für die Authentifizierung verwendete Account aus dem lokalen aktiven Verzeichnis synchronisiert, und das Kennwort befindet sich im aktiven Verzeichnis. OCI IAM erfasst den Benutzernamen und das Kennwort und lässt sie anhand des aktiven Verzeichnisses validieren.
-
Klicken Sie auf Allow.
Die Anwendungslandeseite wird angezeigt.
Autorisierung steuern
Sie können die Autorisierung steuern, indem Sie Berechtigung als Autorisierung durchsetzen in der für SSO konfigurierten vertraulichen Anwendung aktivieren. Dadurch können nur Benutzer oder Gruppen, die dieser Anwendung zugewiesen sind, auf die Oracle APEX-Anwendung zugreifen. Dies wird in Aufgabe 2.9 gezeigt.
Die andere Möglichkeit, die Autorisierung zu steuern, besteht darin, eine PL/SQL-Prozedur innerhalb des Authentifizierungsschemas zu verwenden, wie in Aufgabe 4.7 und 4.8 gezeigt. Nach erfolgreicher Authentifizierung wird userinfo_endpoint
aufgerufen, und die Ergebnisse werden der Prozedur nach der Authentifizierung zur Verfügung gestellt. Die JSON-Ergebnisse werden in eine Gruppenliste konvertiert und in einer für die Gruppenverwaltung integrierten Oracle APEX-Session gespeichert, die später mit dem Autorisierungsschema unter gemeinsamen Komponenten verknüpft werden kann, um Zugriff auf die Anwendung basierend auf der Gruppenmitgliedschaft der Benutzer zu ermöglichen.
Verwandte Links
Danksagungen
- Autor - Aqib Javid Bhat (Senior Cloud Engineer)
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 APEX with Oracle Cloud Infrastructure Identity and Access Management Identity Domains
F78519-02
May 2024