Nota:
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriversi a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Configurare il provisioning just-in-time per l'IDP basato su SAML nei domini IDCS/Identity
Introduzione
Il provisioning JIT ( Just-In-Time) basato su SAML consente di automatizzare la creazione degli utenti delle identità in Identity Cloud Service per i nuovi utenti. Gli account utente vengono creati quando l'utente tenta di accedere all'applicazione di destinazione tramite SSO. Oltre alla creazione degli utenti, JIT può anche concedere e revocare le appartenenze ai gruppi come parte del provisioning. JIT può essere utilizzato anche per aggiornare gli utenti con provisioning eseguito tramite il mapping degli attributi di origine (Provider di servizi - SP) al provider di identità - IDP.
Abilitando il provisioning JIT per il provider di identità con IDCS, potrai gestire gli utenti in modo più efficiente e ridurre i costi di amministrazione della sincronizzazione manuale degli utenti.
Vantaggi dell'utilizzo del provisioning JIT
-
Per gli utenti consumer in cui non si desidera caricare tutti gli utenti in Identity Management Cloud Service (IDCS) inizialmente, ma si desidera crearli immediatamente quando gli utenti tentano di eseguire il login.
-
Ridurre i costi amministrativi poiché gli utenti non devono essere creati manualmente in IDP.
Obiettivo
Configura il provisioning just-in-time per l'IDP basato su SAML nei domini IDCS/Identity tramite le API REST.
Nota: se è già stata eseguita la migrazione della tenancy nei domini di Identity e si desidera eseguire questa impostazione tramite la console, fare riferimento al collegamento seguente: Aggiunta di un SAML just-in-time IdP.
Prerequisiti
-
IDCS deve disporre di un livello di licenza standard per l'uso della funzione Provisioning JIT. JIT è disponibile in tutti i tipi di dominio quando si utilizzano i domini di Identity soggetti ai limiti degli oggetti di ogni livello. Per ulteriori informazioni, vedere Comprendere i tipi di dominio di Identity.
-
La funzione Provisioning JIT in IDCS è disabilitata per impostazione predefinita e deve essere abilitata tramite la richiesta di servizio Oracle.
-
L'IDP deve essere configurato con IDCS/dominio di Identity per Single Sign-On utilizzando SAML. Per ulteriori informazioni, vedere Aggiunta di un provider di identità.
-
Account utente del dominio IDCS/Identity con privilegi di amministratore della sicurezza.
-
Impostare Postman per l'uso degli endpoint REST di Oracle Identity Cloud Service/Identity Domains. Per ulteriori informazioni, consulta la sezione relativa all'uso delle API REST di Oracle Identity Cloud Service con Postman.
Task 1: recuperare la lista dei provider di identità configurati nella tenancy dei domini IDCS/Identity
-
Utilizzare il seguente endpoint REST: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders (operazione GET) e individuare l'ID del provider di identità per il quale si desidera abilitare il provisioning JIT.
Output di esempio:
Task 2: Recupera i dettagli dell'IDP SAML configurato
Recuperare i dettagli dell'IDP SAML configurato in cui si desidera abilitare il provisioning JIT utilizzando l'ID provider individuato dal task 1.
-
Usare l'endpoint REST seguente: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders/{IDP provider ID} (operazione GET).
Output di esempio:
Task 3: aggiornare le impostazioni del provider IDP per abilitare il provisioning JIT
Aggiornare le impostazioni del provider IDP per abilitare il provisioning JIT per l'IDP SAML utilizzando un'operazione PATCH.
- Usare l'endpoint REST seguente: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/IdentityProviders/{IDP provider ID} (operazione PATCH).
Nota:
- Lo snippet di codice di esempio riportato di seguito è solo per riferimento e si consiglia di consultare la documentazione Oracle per ulteriori dettagli su ciascun attributo prima di abilitarlo.
- Se si desidera aggiungere appartenenze ai gruppi, è necessario creare preventivamente i gruppi in IDCS.
Corpo del campione:
{
"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"
}
]
}
La tabella riportata di seguito descrive le proprietà IDP sopra menzionate.
Proprietà provider di identità | Descrizione |
---|---|
jitUserProvEnabled | Proprietà booleana per abilitare/disabilitare la funzione di provisioning JIT SAML per l'IDP configurato. |
jitUserProvCreateUserEnabled | Proprietà booleana per la creazione dell'utente, in base all'asserzione in entrata, se l'utente non esiste ancora. |
jitUserProvAttributeUpdateEnabled | Proprietà booleana per l'aggiornamento dell'utente in base all'asserzione in entrata se l'utente esiste già. |
jitUserProvGroupAssertionAttributeEnabled | Proprietà booleana che indica se le appartenenze ai gruppi devono essere assegnate all'utente in base a una lista di nomi di gruppo ricevuti dall'IDP in un attributo SAML. |
jitUserProvGroupSAMLAttributeName | Il nome dell'attributo di asserzione SAML che conterrà i gruppi da assegnare all'utente, se la proprietà jitUserProvGroupAssertionAttributeEnabled è true. |
jitUserProvGroupAssignmentMethod | Proprietà stringa che controlla il modo in cui le appartenenze ai gruppi verranno assegnate all'utente di Identity Cloud Service: Sovrascrivi/Unisci. |
Dopo questa operazione, il provisioning JIT deve essere abilitato per l'IDP SAML ed è possibile confermare eseguendo l'operazione GET indicata nel task 2. L'immagine seguente mostra l'output di esempio.
In questo modo verrà fornito l'ID attributo mappato che verrà utilizzato nell'endpoint successivo per il mapping degli attributi SP con attributi IDP.
Task 4: impostare il mapping jitUserProvAttributes
per il provider di identità SAML per il provisioning utente
Dopo aver abilitato il provisioning JIT per l'IDP SAML, il passo successivo consiste nel mappare gli attributi del provider di servizi agli attributi del provider di identità. Utilizzare l'ID attributo mappato del task 3 con l'endpoint REST descritto in questa sezione.
Nota:
- Prima di applicare le patch agli attributi a questo endpoint, si consiglia di controllare l'asserzione SAML per trovare
managedObjectAttributeName
(dettagli dell'asserzione lato SP). Dal controllo delle asserzioni per<saml:AttributeStatement>
che conterrà le informazioni sugli attributi SAML. Utilizzare il valore sottosaml:Attribute Name
e mapparlo all'attributo IDCS corrispondente.- Utilizzare questo endpoint ora come operazione PATCH con il seguente codice corpo campione per aggiornare il mapping degli attributi. È possibile confermare questa condizione eseguendo un'operazione GET sullo stesso endpoint e controllando i valori aggiornati degli attributi mappati.
-
Utilizzare il seguente endpoint REST: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/MappedAttributes/{Mapped Attribute ID} (operazione GET)
Nota: questo è lo snippet del codice di esempio (solo per riferimento) per il mapping degli attributi. Aggiornarlo di conseguenza in base all'asserzione SAML IDP configurata e salvarlo.
{ "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" } ] } ] }
Task 5: configurare l'attributo di aggiornamento del mapping jitUserProvAttributes
Configurare l'attributo di aggiornamento del mapping jitUserProvAttributes
dal provider di servizi - SP al provider di identità - IDP.
-
Utilizzare l'endpoint REST seguente: https://idcs-xxxx.identity.oraclecloud.com/admin/v1/MappedAttributes/{Mapped Attribute ID} (operazione PATCH) e l'endpoint REST PATCH con il codice del task 4 nel corpo.
-
Verificare che le modifiche siano state aggiornate eseguendo l'operazione GET.
Task 6: eseguire il test del provisioning JIT
- In una nuova sessione del browser provare a eseguire il login alla console personale IDCS.
- In IDCS verrà visualizzata la schermata di login.
- Selezionare l'IDP configurato che ora è abilitato con il provisioning JIT.
- IDCS ti invierà alla pagina di login del provider di identità per l'accesso.
- Immettere le credenziali valide dell'utente che non esiste in IDCS.
- Dopo il login riuscito, è necessario instradare alla schermata della console personale IDCS.
- Convalida tramite account amministratore che l'utente è stato creato in IDCS.
Collegamenti correlati
- Utilizzo dei provider di identità
- Utilizzo delle API REST di Oracle Identity Cloud Service con Postman
Approvazioni
Autore - Chetan Soni (Cloud Solutions Engineer)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.
Per la documentazione sul prodotto, visitare il sito 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.