Crea i partner IdP SAML 2.0 in OAM e SP
Questo articolo spiega come impostare un accordo di federazione tra OAM che funge da provider di servizi SAML 2.0 e un partner remoto SAML 2.0 IdP, tra cui:
-
Impostare un partner SAML 2.0 IdP remoto con metadati SAML 2.0
-
Impostare un partner SAML 2.0 IdP remoto senza metadati SAML 2.0
-
Configurazione di OAM/SP per mappare un'asserzione SAML in entrata a un utente LDAP
L'articolo descrive come eseguire le attività di cui sopra tramite l'interfaccia utente o l'uso dei comandi OAM WLST.
Definizione del trust federativo
Stabilire un trust tra i partner della federazione è un prerequisito prima di poter eseguire qualsiasi operazione SSO della federazione tra i server della federazione.
La creazione di un trust implica lo scambio di informazioni sui certificati, se il protocollo utilizzato si basa sui certificati PKI X.509 per proteggere gli scambi di messaggi, nonché le posizioni/URL dei servizi che implementano il protocollo di federazione.
Mapping asserzioni
Quando OAM funge da provider di servizi e delega l'autenticazione utente a un IdP remoto, l'amministratore deve concordare con l'amministratore dell'IdP le modalità di identificazione dell'utente nell'asserzione SAML (informazioni utente memorizzate in NameID), oppure come attributo SAML o in più attributi SAML, è necessario configurare OAM/SP per mappare l'asserzione SAML in entrata a un record utente LDAP utilizzando NameID e/o gli attributi SAML.
OAM richiede il mapping dell'asserzione in entrata a un record utente LDAP per creare una sessione OAM.
OAM/SP può mappare un'asserzione SAML in entrata a un record utente LDAP mediante:
-
Asserzione SAML
NameID, mappata a un attributo nel record utente LDAP. In questo caso, OAM/SP esegue una ricerca LDAP per un singolo record utente LDAP il cui valore per l'attributo specificato nel mapping corrisponde al valore di SAMLNameID. -
Attributo SAML dell'asserzione mappato a un attributo nel record utente LDAP. In questo caso, OAM/SP esegue una ricerca LDAP per un singolo record utente LDAP il cui valore per l'attributo specificato nel mapping corrisponde al valore dell'attributo SAML specificato.
-
L'uso di una query LDAP che contiene dati dall'asserzione SAML:
-
L'interrogazione LDAP è specificata dall'amministratore
-
I dati dell'asserzione sono identificati nella query LDAP come %NAME%, con NAME:
-
Il nome di un attributo SAML dall'asserzione
-
Oppure
NameID: in questo caso, NAME viene sostituito dafed.nameidvalue
-
-
-
Di seguito sono riportati alcuni esempi di query LDAP.
-
(mail=%email%)che restituisce una ricerca LDAP per un singolo record utente LDAP il cui valore per l'attributo di posta corrisponde al valore dell'attributo SAML di posta elettronica -
(&(givenname=%firstname%)(sn=%lastname%))che restituisce una ricerca LDAP per un singolo record utente LDAP i cui valori per l'attributogivennamee l'attributosncorrispondono ai valori degli attributi SAML nome e cognome -
(&(title=manager)(uid=%fed.nameidvalue%))che restituisce una ricerca LDAP per un singolo record utente LDAP il cui valore per l'attributo uid corrisponde al valore diNameIDe il cui attributo titolo è uguale al manager
-
OAM/SP fornisce inoltre le funzionalità per utilizzare un'area di memorizzazione delle identità e un DN base di ricerca utente specifici durante il mapping dell'asserzione a un record utente LDAP. È facoltativo e:
-
Se nelle regole di mapping delle asserzioni non è specificata alcuna area di memorizzazione delle identità specifica, verrà utilizzata l'area di memorizzazione delle identità OAM predefinita
-
Se nelle regole di mapping asserzioni non è specificato alcun DN di base ricerca utenti specifico, viene utilizzato il DN di base ricerca utenti configurato nell'area di memorizzazione delle identità
SAML 2.0 con metadati
Console di amministrazione di OAM
Per creare un nuovo partner SAML 2.0 IdP con metadati, effettuare le operazioni riportate di seguito.
-
Andare alla console di amministrazione OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole -
Passare a Identity Federation, Service Provider Administration
-
Fare clic sul pulsante Crea partner provider di identità
-
Nella schermata Crea:
-
Immettere un nome per il partner
-
Verificare se questo partner deve essere utilizzato o meno come IdP per impostazione predefinita quando si avvia un'operazione SSO Federation, se non è specificato alcun partner IdP.
-
Selezionare SAML 2.0 come protocollo
-
Fare clic su Carica metadati e caricare il file dei metadati SAML 2.0 per la sezione Mapping asserzioni IdP.
-
Facoltativamente, impostare l'area di memorizzazione delle identità OAM da utilizzare Nota: nell'esempio è stato lasciato vuoto il campo per utilizzare l'area di memorizzazione delle identità OAM predefinita.
-
Facoltativamente, impostare il DN base di ricerca utente Nota: nell'esempio è stato lasciato vuoto il campo per utilizzare il DN base di ricerca utente configurato nell'area di memorizzazione delle identità.
-
-
Selezionare la modalità di esecuzione del mapping Nota: nell'esempio viene eseguito il mapping dell'asserzione tramite
NameIDall'attributo di posta LDAP. -
Selezionare il profilo attributo utilizzato per mappare i nomi degli attributi nell'asserzione SAML in entrata ai nomi locali.
-
-
Fare clic su Salva

Descrizione dell'immagine Create_IDP_Partner.jpg
Dopo aver creato il partner, viene visualizzata la schermata Modifica partner con:
-
Le impostazioni impostate nella schermata precedente possono essere modificate
-
Viene visualizzata una sezione Impostazioni avanzate:
-
Abilita logout globale: indica se OAM deve eseguire o meno lo scambio di logout SAML 2.0 con il partner nell'ambito del processo di logout.
-
Associazione risposta SSO POST HTTP: indica come OAM/SP richiede a IdP di inviare di nuovo l'asserzione al provider di servizi. Se questa opzione è selezionata, OAM/SP richiede a IdP di inviare l'asserzione utilizzando l'associazione HTTP-POST, altrimenti richiede l'associazione artifact.
-
Autenticazione Basic HTTP: se si utilizza l'associazione artifact, OAM/SP deve connettersi a IdP direttamente tramite SOAP per recuperare l'asserzione SAML. A volte IdP abilita l'autenticazione Basic HTTP sul canale SOAP e OAM/SP deve fornire nome utente/password a IdP (queste credenziali vengono concordate tra gli amministratori di IdP e SP).
-
Formato NameID richiesta di autenticazione: indica se OAM/SP deve richiedere tramite SAML AuthnRequest un NameID specifico da utilizzare. Se impostato su Nessuno, OAM/SP non richiederà nulla e IdP seleziona il formato NameID concordato fuori banda. Se si imposta un valore, assicurarsi che corrisponda a quanto concordato tra l'IdP e gli amministratori di SP (il campo può essere lasciato vuoto).

-
WLST
Per creare un nuovo partner SAML 2.0 IdP con metadati utilizzando i comandi OAM WLST, eseguire le operazioni riportate di seguito.
-
Immettere l'ambiente WLST eseguendo:
$IAM_ORACLE_HOME/common/bin/wlst.sh -
Connetti al server di amministrazione WLS:
connect() -
Passare alla diramazione Runtime dominio:
domainRuntime() -
Creare il partner SAML 2.0 IdP con metadati denominato
acmeIdPin OAM:addSAML20IdPFederationPartner("acmeIdP", "/tmp/acme-idp-metadata-saml20.xml") -
Per impostazione predefinita, il nuovo partner IdP è configurato per:
-
Usa area memorizzazione identità OAM predefinita
-
Utilizzare il DN di base di ricerca utente dell'area di memorizzazione delle identità (senza override)
-
Mappare l'asserzione SAML utilizzando
NameID, corrispondente all'attributo di posta LDAP -
Impostazione del formato della richiesta di autenticazione
NameIDsu Nessuno -
Utilizzare HTTP-POST come autenticazione risposta SSO predefinita
-
Usa profilo attributo provider di identità predefinito
-
-
Uscire dall'ambiente WLST:
exit()
SAML 2.0 senza metadati
Console di amministrazione di OAM
Per creare un nuovo partner SAML 2.0 IdP senza metadati, eseguire i passi riportati di seguito (assicurarsi innanzitutto di disporre di tutti i dati del partner IdP, quali certificati, identificativi IdP e URL):
-
Andare alla console di amministrazione OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole -
Passare a Identity Federation, Amministrazione provider di servizi
-
Fare clic sul pulsante Crea partner provider di identità
-
Nella schermata Crea:
-
Immettere un nome per il partner
-
Verificare se questo partner deve essere utilizzato o meno come IdP per impostazione predefinita quando si avvia un'operazione SSO Federation, se non è specificato alcun partner IdP.
-
Selezionare SAML 2.0 come protocollo
-
Seleziona immissione manuale
-
Inserisci
Issuer/ProviderIDdel partner IdP -
Se il campo
SuccinctIDviene lasciato vuoto, OAM/SP lo calcola digitando l'ID provider utilizzando l'algoritmo SHA-1 (deve essere lasciato vuoto). -
Immettere l'URL del servizio SSO per il partner IdP specificato. Si tratta dell'URL al quale l'utente viene reindirizzato da OAM/SP con un SAML AuthnRequest al IdP.
-
Se il partner supporta il protocollo di artifact SAML 2.0, immettere l'URL del servizio SOAP in cui OAM/SP si connette per recuperare l'asserzione SAML durante un'operazione di artifact SSO
-
Se il partner supporta il protocollo di logout SAML 2.0:
-
Immettere l'URL della richiesta di logout SAML 2.0 in cui il partner può elaborare un messaggio
LogoutRequestSAML 2.0 -
Immettere l'URL di risposta di logout SAML 2.0 in cui il partner può elaborare un messaggio
LogoutResponseSAML 2.0
-
-
Carica il file del certificato di firma IdP:
-
in formato PEM (dove il file contiene come prima riga --BEGIN CERTIFICATE--, quindi il certificato in formato codificato Base64, quindi l'ultima riga come --END CERTIFICATE--)
-
o nel formato DER in cui il certificato è memorizzato nella codifica binaria
-
-
Se IdP dispone di un certificato di cifratura, caricare il file:
-
in formato PEM (dove il file contiene come prima riga --BEGIN CERTIFICATE--, quindi il certificato in formato codificato Base64, quindi l'ultima riga come --END CERTIFICATE--)
-
o nel formato DER in cui il certificato è memorizzato nella codifica binaria
-
-
Sezione Mapping asserzioni:
-
Facoltativamente, impostare l'area di memorizzazione delle identità OAM da utilizzare Nota: nell'esempio è stato lasciato vuoto il campo per utilizzare l'area di memorizzazione delle identità OAM predefinita.
-
Facoltativamente, impostare il DN base di ricerca utente Nota: nell'esempio è stato lasciato vuoto il campo per utilizzare il DN base di ricerca utente configurato nell'area di memorizzazione delle identità.
-
-
Selezionare la modalità di esecuzione del mapping Nota: nell'esempio viene eseguito il mapping dell'asserzione tramite
NameIDall'attributo di posta LDAP. -
Selezionare il profilo attributo utilizzato per mappare i nomi degli attributi nell'asserzione SAML in entrata ai nomi locali.
-
-
Fare clic su Salva

Descrizione dell'immagine Create_IDP_Provider_Partner.jpg
Dopo aver creato il partner, viene visualizzata la schermata Modifica partner con:
-
Le impostazioni impostate nella schermata precedente possono essere modificate
-
Viene visualizzata una sezione Impostazioni avanzate:
-
Abilita logout globale: indica se OAM deve eseguire o meno lo scambio di logout SAML 2.0 con il partner nell'ambito del processo di logout.
-
Associazione risposta SSO POST HTTP: indica come OAM/SP richiede a IdP di inviare di nuovo l'asserzione al provider di servizi. Se questa opzione è selezionata, OAM/SP richiede a IdP di inviare l'asserzione utilizzando l'associazione HTTP-POST, altrimenti richiede l'associazione artifact.
-
Autenticazione Basic HTTP: se si utilizza l'associazione artifact, OAM/SP deve connettersi a IdP direttamente tramite SOAP per recuperare l'asserzione SAML. A volte IdP abilita l'autenticazione Basic HTTP sul canale SOAP e OAM/SP deve fornire nome utente/password a IdP (queste credenziali vengono concordate tra gli amministratori di IdP e SP).
-
Formato NameID richiesta di autenticazione: indica se OAM/SP deve richiedere tramite SAML AuthnRequest un NameID specifico da utilizzare. Se impostato su Nessuno, OAM/SP non richiederà nulla e IdP seleziona il formato NameID concordato fuori banda. Se si imposta un valore, assicurarsi che corrisponda a quanto concordato tra l'IdP e gli amministratori di SP (il campo può essere lasciato vuoto).

Descrizione dell'immagine Edit_Partner_withAdvOption_Screen.jpg
-
WLST
Per creare un nuovo partner SAML 2.0 IdP senza metadati utilizzando i comandi OAM WLST, eseguire i passi riportati di seguito (assicurarsi innanzitutto di disporre di tutti i dati del partner IdP, quali certificati, identificativi IdP e URL):
-
Immettere l'ambiente WLST eseguendo:
$IAM_ORACLE_HOME/common/bin/wlst.sh -
Connetti al server di amministrazione WLS:
connect() -
Passare alla diramazione Runtime dominio:
domainRuntime() -
Crea un partner SAML 2.0 IdP senza metadati che chiama
acmeIdPin OAM:addSAML20IdPFederationPartnerWithoutMetadata("acmeIdP","https://acme.com/idp", "https://acme.com/saml20/sso", "https://acme.com/saml20/soap") -
Per impostazione predefinita, il nuovo partner SP è configurato per:
-
Usa area memorizzazione identità OAM predefinita
-
Utilizzare il DN di base di ricerca utente dell'area di memorizzazione delle identità (senza override)
-
Mappare l'asserzione SAML utilizzando
NameID, corrispondente all'attributo di posta LDAP -
Impostazione del formato della richiesta di autenticazione
NameIDsu Nessuno -
Utilizzare HTTP-POST come autenticazione risposta SSO predefinita
-
Usa profilo attributo provider di identità predefinito
-
Nessun certificato caricato per questo partner IdP
-
-
Uscire dall'ambiente WLST:
exit()
Modifica delle impostazioni federazione tramite WLST
In questa sezione viene descritto come modificare le impostazioni comuni dei partner SP mediante i comandi OAM WLST.
-
Impostazioni mapping asserzione SAML
-
DN base ricerca utente e area di memorizzazione identità OAM per il logout SAML 2.0 del mapping di asserzione SAML
-
Certificato di firma SAML
-
Certificato di cifratura SAML
-
Profilo attributi partner IdP per un partner IdP
-
Associazioni di richieste e risposte SSO SAML
Si supponga di trovarsi già nell'ambiente WLST e di essere connessi mediante:
-
Immettere l'ambiente WLST eseguendo:
$IAM_ORACLE_HOME/common/bin/wlst.sh -
Connetti al server di amministrazione WLS:
connect() -
Passare alla diramazione Runtime dominio:
domainRuntime()
Impostazione mappatura asserzione SAML
Per configurare le impostazioni di mapping per un partner SAML IdP, effettuare le operazioni riportate di seguito.
-
Utilizzare il comando seguente per mappare l'asserzione tramite 1:
setIdPPartnerMappingNameID(partnerName, userstoreAttr)-
partnerNameè il nome utilizzato per creare il partner IdP -
userstoreAttr: attributo utente LDAP corrispondente al valoreNameID.
-
-
Utilizzare il comando seguente per mappare l'asserzione tramite un attributo SAML: setIdPPartnerMappingAttribute(partnerName, assertionAttr, userstoreAttr)
-
partnerNameè il nome utilizzato per creare il partner IdP -
assertionAttr: nome dell'attributo SAML. -
userstoreAttr: attributo utente LDAP corrispondente al valore dell'attributo SAML.
-
-
Utilizzare il comando seguente per mappare l'asserzione tramite una query LDAP:
setIdPPartnerMappingAttributeQuery(partnerName, attrQuery)-
partnerNameè il nome utilizzato per creare il partner IdP -
attrQuery: la query LDAP da utilizzare, ad esempio(&(givenname=%firstname%) (sn=%lastname%)).
-
DN base ricerca utenti e area memorizzazione identità OAM
Per configurare OAM/SP in modo che utilizzi un'area di memorizzazione delle identità OAM specifica e/o un DN base di ricerca utente specifico durante il mapping dell'asserzione SAML in entrata, eseguire il comando setPartnerIDStoreAndBaseDN() seguente:
-
Utilizzare il comando seguente per impostare solo l'area di memorizzazione delle identità OAM:
setPartnerIDStoreAndBaseDN(partnerName,"idp", storeName="oid")-
partnerNameè il nome utilizzato per creare il partner IdP -
idpindica il tipo di partner -
storeName: fa riferimento all'area di memorizzazione delle identità OAM da utilizzare
-
-
Utilizzare il comando seguente per impostare solo il DN della base di ricerca:
setPartnerIDStoreAndBaseDN(partnerName,"idp",searchBaseDN="ou=managers,dc=acme,dc=com")-
partnerNameè il nome utilizzato per creare il partner IdP -
idpindica il tipo di partner -
searchBaseDN: indica il DN della base di ricerca da utilizzare
-
-
Utilizzare il comando seguente per impostare l'area di memorizzazione delle identità OAM e il DN base di ricerca:
setPartnerIDStoreAndBaseDN(partnerName,"idp", storeName="oid",searchBaseDN="ou=managers,dc=acme,dc=com")-
partnerNameè il nome utilizzato per creare il partner IdP -
idpindica il tipo di partner -
storeName: fa riferimento all'area di memorizzazione delle identità OAM da utilizzare -
searchBaseDN: indica il DN della base di ricerca da utilizzare
-
-
Utilizzare il seguente comando per rimuovere l'area di memorizzazione delle identità OAM e il DN di base della ricerca dalla voce del partner IdP:
setPartnerIDStoreAndBaseDN(partnerName,"idp", delete="true")-
partnerNameè il nome utilizzato per creare il partner IdP -
idpindica il tipo di partner
-
Logout da SAML 2.0
Per abilitare il logout SAML 2.0 e specificare gli URL di logout SAML 2.0 del partner IdP, eseguire le operazioni riportate di seguito.
-
Comando configureSAML20Logout():
configureSAML20Logout("acmeIdP", "idp","true",saml20LogoutRequestURL="https://acme.com/saml20/logoutReq",saml20LogoutResponseURL="https://acme.com /saml20/logoutResp")-
acmeIdPrappresenta il nome del partner creato in precedenza -
idpindica il tipo di partner -
true indica che il logout SAML 2.0 è abilitato
saml20LogoutRequestURLfa riferimento all'endpoint partnerIdPche può elaborare un messaggio LogoutRequest SAML 2.0 -
saml20LogoutResponseURLfa riferimento all'endpoint partnerIdPche può elaborare un messaggioLogoutResponseSAML 2.0
-
Per disabilitare il logout SAML 2.0 per il partner IdP, eseguire le operazioni riportate di seguito.
-
Comando
configureSAML20Logout():configureSAML20Logout("acmeIdP", "idp","false")-
acmeIdPrappresenta il nome del partner creato in precedenza -
idpindica il tipo di partner -
false indica che il logout da SAML 2.0 è abilitato
-
Certificati SAML
Sono disponibili vari comandi WLST per gestire i certificati di firma e cifratura:
-
getFederationPartnerSigningCert()che stampa il certificato di firma del partner nel formato codificato Base64:getFederationPartnerSigningCert("acmeIdP","idp")-
acmeIdPrappresenta il nome del partner creato in precedenza -
idpindica il tipo di partner
-
-
setFederationPartnerSigningCert()che carica il file del certificato di firma passato come parametro alla configurazione del partnerIdP:setFederationPartnerSigningCert("acmeIdP","idp", "/tmp/cert.file")-
acmeIdPrappresenta il nome del partner creato in precedenza -
idpindica il tipo di partner -
il terzo parametro indica la posizione nel file system del file contenente il certificato:
-
in formato PEM (dove il file contiene come prima riga --BEGIN CERTIFICATE--, quindi il certificato in formato codificato Base64, quindi l'ultima riga come --END CERTIFICATE--)
-
o nel formato DER in cui il certificato è memorizzato nella codifica binaria
-
-
-
deleteFederationPartnerSigningCert()che rimuove il certificato di firma dalla voce partner IdP:deleteFederationPartnerSigningCert("acmeIdP","idp")-
acmeIdPrappresenta il nome del partner creato in precedenza -
idpindica il tipo di partner
-
-
i comandi
getFederationPartnerEncryptionCert(),setFederationPartnerEncryptionCert()edeleteFederationPartnerEncryptionCert()sono simili a quelli sopra riportati, ad eccezione del fatto che gestiscono il certificato di cifratura del partner:-
getFederationPartnerEncryptionCert("acmeIdP","idp") -
setFederationPartnerEncryptionCert("acmeIdP","idp", "/tmp/cert.file") -
deleteFederationPartnerEncryptionCert("acmeIdP","idp")
-
IdP Partner AMribute ProQl
Per configurare il profilo attributo partner IdP per un partner IdP specifico, utilizzare i comandi riportati di seguito.
Per configurare un partner IdP in modo che utilizzi un profilo attributo partner IdP specifico, eseguire le operazioni riportate di seguito.
-
setIdPPartnerAttributeProfile(partnerName, attrProfileID)-
partnerNameè il nome utilizzato per creare il partner IdP -
attrProfileIDè l'ID profilo attributo partner IdP
-
-
Per elencare i profili attributo partner IdP esistenti, eseguire:
listIdPPartnerAttributeProfileIDs()
Associazioni di richieste e risposte SSO SAML
Per configurare le associazioni SAML per un partner IdP specifico, utilizzare i comandi riportati di seguito.
Per configurare il partner IdP, eseguire: configureSAMLBinding(partnerName, partnerType, binding, ssoResponseBinding="httppost")
-
partnerNameè il nome utilizzato per creare il partner IdP -
partnerTypedeve essere impostato su "idp" poiché il partner è un SP -
binding: l'associazione per utilizzarehttppostper l'associazioneHTTPPOSTohttpredirectper l'associazione HTTP-reindirizzamento per i messaggi AuthnRequest eLogoutRequest/LogoutResponseSAML 2.0. Solo SAML 2.0 -
ssoResponseBinding: l'associazione da utilizzare per inviare di nuovo l'asserzione SAML a IdP; httppost per l'associazione HTTP-POST o artifact per l'associazione artifact
Esempi
I comandi riportati di seguito possono essere utilizzati per aggiungere un partner IdP senza metadati SAML 2.0:
addSAML20IdPFederationPartnerWithoutMetadata("acmeIdP","https://acme.com/idp", "https://acme.com/saml2 /sso", "https://acme.com/saml20/soap" configureSAML20Logout("acmeIdP", "idp", "true","https://acme.com/saml20/logoutReq" "https://acme.com/saml20/logoutResp" setFederationPartnerSigningCert("acmeIdP", "idp", "/tmp/acme-idp-cert.pem") setPartnerIDStoreAndBaseDN("acmeIdP", "idp", "oid") setIdPPartnerMappingNameID("acmeIdP", "mail")
I comandi riportati di seguito possono essere utilizzati per aggiungere un partner IdP con metadati SAML 2.0 (in questo esempio viene utilizzato lo stile identità OAM predefinito):
addSAML20IdPFederationPartner("acmeIdP", "/tmp/acme-idp-metadata-saml20.xml" setIdPPartnerMappingNameID("acmeIdP", "mail")
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o visita altri contenuti di formazione gratuiti sul canale Oracle Learning YouTube. Inoltre, visitare education.oracle.com/learning-explorer per diventare un Oracle Learning Explorer.
Per la documentazione sul prodotto, visitare Oracle Help Center.
Create SAML 2.0 IdP Partners in OAM and SP
F59901-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.