Hinweis:
- Dieses Tutorial erfordert Zugriff auf Oracle Cloud. Informationen zum Anmelden für einen kostenlosen Account 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 die Werte, die für Ihre Cloud-Umgebung spezifisch sind.
Just-in-Time Provisioning für SAML-basierten IDP in IDCS/Identitätsdomains konfigurieren
Einführung
Mit dem SAML-basierten Just-in-Time-(JIT-)Provisioning wird die Benutzererstellung von Identitäten in Identity Cloud Service für neue Benutzer automatisiert. Die Benutzeraccounts werden erstellt, wenn der Benutzer versucht, über SSO auf die Zielanwendung zuzugreifen. Neben der Benutzererstellung kann JIT auch Gruppenmitgliedschaften im Rahmen des Provisionings erteilen und entziehen. Mit JIT können die bereitgestellten Benutzer auch aktualisiert werden, indem die Quellattribute (Serviceprovider - SP) dem Identitätsprovider - IDP zugeordnet werden.
Indem Sie das JIT-Provisioning für Ihren Identitätsprovider mit IDCS aktivieren, können Sie Benutzer effizienter verwalten. Dadurch können Sie die Administrationskosten für die manuelle Synchronisierung der Benutzer senken.
JIT-Provisioning - Vorteile
-
Für Consumer-Benutzer, bei denen Sie nicht alle Benutzer anfänglich in Identity Management Cloud Service (IDCS) laden möchten, sie aber beim Versuch der Benutzeranmeldung dynamisch erstellen möchten.
-
Reduzierung der Verwaltungskosten, da Benutzer nicht manuell in IDP erstellt werden müssen.
Zielsetzung
Just-in-Time Provisioning für SAML-basierten IDP in IDCS/Identitätsdomains über REST-APIs konfigurieren.
Hinweis: Wenn Ihr Mandant bereits zu Identitätsdomains migriert ist und Sie dieses Setup über die Konsole ausführen möchten, finden Sie den folgenden Link: Just-in-Time-SAML IdP hinzufügen.
Voraussetzungen
-
IDCS muss über eine Standardlizenzstufe für die Verwendung des JIT-Provisioning-Features verfügen. JIT ist in allen Domaintypen verfügbar, wenn Identitätsdomains verwendet werden, die Objektlimits für jede Tier unterliegen. Weitere Informationen finden Sie unter Identitätsdomaintypen.
-
JIT Provisioning-Feature in IDCS ist standardmäßig deaktiviert und muss über Oracle-Serviceanfrage aktiviert werden.
-
IDP muss mit IDCS/Identitätsdomain für Single Sign-On mit SAML konfiguriert werden. Weitere Informationen finden Sie unter Identitätsprovider hinzufügen.
-
Ein IDCS-/Identitätsdomainbenutzeraccount mit Sicherheitsadministratorberechtigungen.
-
Richten Sie Postman zur Verwendung von REST-Endpunkten für Oracle Identity Cloud Service/Identitätsdomains ein. Weitere Informationen finden Sie unter Oracle Identity Cloud Service-REST-APIs mit Postman verwenden.
Aufgabe 1: Liste der Identitätsprovider abrufen, die in Ihrem IDCS-/Identitätsdomainmandanten konfiguriert sind
-
Verwenden Sie den folgenden REST-Endpunkt: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders (GET-Vorgang), und suchen Sie die ID des IDP, für den Sie das JIT-Provisioning aktivieren möchten.
Beispielausgabe:
Aufgabe 2: Details des konfigurierten SAML-IDP abrufen
Rufen Sie die Details des konfigurierten SAML-IDP ab, für den Sie das JIT-Provisioning mit der gefundenen Provider-ID aus Aufgabe 1 aktivieren möchten.
-
Verwenden Sie den folgenden REST-Endpunkt: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders/{IDP-Provider-ID} (GET-Vorgang).
Beispielausgabe:
Aufgabe 3: IDP-Providereinstellungen aktualisieren, um JIT-Provisioning zu aktivieren
Aktualisieren Sie die IDP-Providereinstellungen, um das JIT-Provisioning für Ihren SAML-IDP mit einem PATCH-Vorgang zu aktivieren.
- Verwenden Sie den folgenden REST-Endpunkt: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders/{IDP-Provider-ID} (PATCH-Vorgang).
Hinweis:
- Das folgende Beispielcode-Snippet dient nur als Referenz. Es wird empfohlen, in der Oracle-Dokumentation weitere Details zu jedem Attribut anzuzeigen, bevor es aktiviert wird.
- Die Gruppen müssen in IDCS vorab erstellt werden, wenn Sie Gruppenmitgliedschaften hinzufügen möchten.
Beispieltext:
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "jitUserProvEnabled",
"value": true
},{
"op": "replace",
"path": "jitUserProvCreateUserEnabled",
"value": true
},
{
"op": "replace",
"path": "jitUserProvAttributeUpdateEnabled",
"value": true
},
{
"op": "replace",
"path": "jitUserProvGroupAssertionAttributeEnabled",
"value": false
},
{
"op": "replace",
"path": "jitUserProvGroupSAMLAttributeName",
"value": "groups"
},
{
"op": "replace",
"path": "jitUserProvGroupAssignmentMethod",
"value": "Overwrite"
}
]
}
In der folgenden Tabelle werden die oben genannten IDP-Eigenschaften beschrieben.
Identitätsprovidereigenschaft | Beschreibung |
---|---|
jitUserProvEnabled | Boolesche Eigenschaft zum Aktivieren/Deaktivieren des SAML-JIT-Provisioning-Features für den konfigurierten IDP. |
jitUserProvCreateUserEnabled | Boolesche Eigenschaft für die Benutzererstellung, basierend auf der eingehenden Assertion, wenn der Benutzer noch nicht vorhanden ist. |
jitUserProvAttributeUpdateEnabled | Boolesche Eigenschaft für Benutzeraktualisierung basierend auf der eingehenden Assertion, wenn der Benutzer bereits vorhanden ist. |
jitUserProvGroupAssertionAttributeEnabled | Boolesche Eigenschaft, die angibt, ob Gruppenmitgliedschaften dem Benutzer basierend auf einer Liste von Gruppennamen zugewiesen werden sollen, die vom IDP in einem SAML-Attribut empfangen werden. |
jitUserProvGroupSAMLAttributeName | Der Name des SAML-Assertion-Attributs, das Gruppen enthält, die dem Benutzer zugewiesen werden sollen, wenn die Eigenschaft jitUserProvGroupAssertionAttributeEnabled "true" ist. |
jitUserProvGroupAssignmentMethod | Zeichenfolgeneigenschaft, die steuert, wie Gruppenmitgliedschaften dem Identity Cloud Service-Benutzer zugewiesen werden - Überschreiben/Zusammenführen. |
Nach diesem Vorgang muss das JIT-Provisioning für den SAML-IDP aktiviert sein. Sie können dies bestätigen, indem Sie den in Aufgabe 2 genannten GET-Vorgang ausführen. Die folgende Abbildung zeigt die Beispielausgabe.
Dadurch erhalten Sie jetzt die ID des zugeordneten Attributs, die im nächsten Endpunkt für die Zuordnung der SP-Attribute zu IDP-Attributen verwendet wird.
Aufgabe 4: jitUserProvAttributes
-Zuordnung für Ihren SAML-Identitätsprovider für das Benutzer-Provisioning festlegen
Nachdem Sie das JIT-Provisioning für Ihren SAML-IDP aktiviert haben, müssen Sie im nächsten Schritt die Serviceproviderattribute den Identitätsproviderattributen zuordnen. Verwenden Sie die zugeordnete Attribut-ID aus Aufgabe 3 mit dem in diesem Abschnitt beschriebenen REST-Endpunkt.
Hinweis:
- Bevor Sie die Attribute für diesen Endpunkt patchen, wird empfohlen, die SAML-Assertion zu prüfen, um die
managedObjectAttributeName
(SP-seitige Assertion-Details) zu finden. Prüfen Sie in der Assertion nach<SAML:AttributeStatement>
, die Informationen zu den SAML-Attributen enthält. Verwenden Sie den Wert untersaml:Attribute Name
, und ordnen Sie ihn dem entsprechenden IDCS-Attribut zu.- Verwenden Sie diesen Endpunkt jetzt als PATCH-Vorgang mit dem folgenden Beispieltextcode, um die Attributzuordnung zu aktualisieren. Sie können dies bestätigen, indem Sie einen GET-Vorgang für denselben Endpunkt ausführen und auf aktualisierte Werte der zugeordneten Attribute prüfen.
-
Verwenden Sie den folgenden REST-Endpunkt: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/MappedAttributes/{Mapped Attribute ID} (GET-Vorgang)
Hinweis: Dies ist das Beispielcode-Snippet (nur zur Referenz) für die Attributzuordnung. Aktualisieren Sie sie entsprechend Ihrer konfigurierten SAML-IDP-Assertion, und speichern Sie sie.
{ "schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ], "Operations": [ { "op": "replace", "path": "attributeMappings", "value": [ { "managedObjectAttributeName": "$(assertion.mail)", "idcsAttributeName": "userName" }, { "managedObjectAttributeName": "$(assertion.firstname)", "idcsAttributeName": "name.givenName" }, { "managedObjectAttributeName": "$(assertion.lastname)", "idcsAttributeName": "name.familyName" }, { "managedObjectAttributeName": "$(assertion.mail)", "idcsAttributeName": "emails[primary eq true and type eq \"work\"].value" } ] } ] }
Aufgabe 5: Attribut jitUserProvAttributes
-Zuordnungsaktualisierung konfigurieren
Konfigurieren Sie das Attribut jitUserProvAttributes
Mappingupdate von Serviceprovider - SP zu Identitätsprovider - IDP.
-
Verwenden Sie den folgenden REST-Endpunkt: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/MappedAttributes/{Mapped Attribute ID} (PATCH-Vorgang) und PATCH des REST-Endpunkts mit dem Code aus Aufgabe 4 im Text.
-
Bestätigen Sie, dass die Änderungen aktualisiert wurden, indem Sie den GET-Vorgang ausführen.
Aufgabe 6: JIT-Provisioning testen
- Melden Sie sich in einer neuen Browsersession bei IDCS meiner Konsole an.
- In IDCS wird der Anmeldebildschirm angezeigt.
- Wählen Sie den konfigurierten IDP aus, der jetzt mit JIT Provisioning aktiviert ist.
- IDCS leitet Sie zur IDP-Anmeldeseite für die Anmeldung weiter.
- Geben Sie die gültigen Zugangsdaten des Benutzers ein, der nicht in IDCS vorhanden ist.
- Nach erfolgreicher Anmeldung sollten Sie zum IDCS-Konsolenbildschirm weiterleiten.
- Über Admin-Account validieren, dass der Benutzer erfolgreich in IDCS erstellt wurde.
Verwandte Links
Danksagungen
Autor - Chetan Soni (Cloud Solutions Engineer)
Weitere Lernressourcen
Sehen Sie sich andere Übungen zu docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning YouTube-Kanal zu. Besuchen Sie außerdem die Website education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.
Produktdokumentation finden Sie im Oracle Help Center.
Configure Just-In-Time Provisioning for SAML based IDP in IDCS/Identity Domains
F76244-01
January 2023
Copyright © 2023, Oracle and/or its affiliates.