Integrazione di Office 365 con OAM e IdP
Si tratta di una continuazione dell'articolo in cui è stato configurato OAM (11.1.2.2.0 o versione successiva) come IdP con Office 365 per SSO Federation utilizzando il protocollo SAML 2.0.
Assicurati di aver letto l'articolo sui prerequisiti.
L'integrazione riguarda:
-
Integrazione SSO di Browser Federation: questo è il flusso che l'utente esercita quando accede alle risorse
www.office365.com
tramite un browser -
www.office365.com
richiede all'utente di immettere l'indirizzo di posta elettronica -
Il server rileva che Federation SSO deve essere utilizzato per tale dominio e avvia un flusso SSO Federation IdP
-
IdP esegue la verifica dell'utente, crea un'asserzione SAML e reindirizza l'utente a
www.office365.com
-
www.office365.com
concede l'accesso all'utente -
Integrazione della posta ActiveSync: in questo flusso l'utente utilizza un'applicazione di posta configurata per Office 365.
-
Quando viene avviata l'applicazione di posta, invia le credenziali dell'utente (indirizzo di posta elettronica e password IdP) a Office 365.
www.office365.com
effettua una connessione diretta su SSL a IdP e utilizza il protocollo ECP SAML 2.0 per inviare un SAML AuthnRequest e le credenziali dell'utente tramite l'autenticazione Basic HTTP. -
IdP convalida tali credenziali e restituisce un'asserzione SAML tramite il protocollo ECP.
-
Office 365 concede l'accesso all'applicazione di posta elettronica
È importante notare che l'integrazione con Office 365 per componenti non SAML 2.0 non funzionerà, ad esempio:
-
Clienti Lync
-
OWA: applicazioni mobile
Questo articolo si basa su:
-
Test eseguito dal team Oracle
-
L'articolo Microsoft relativo al supporto SAML 2.0 per Office 365 e, in particolare, i passi per l'elenco dei documenti tecnici necessari per configurare Office 365 (gestione utenti e creazione di trust federativo)
-
Blog di Microsoft
-
Documento tecnico che descrive come configurare Office 365
Ambiente di test
Per questa integrazione di test, utilizzare l'approccio riportato di seguito.
-
Utente alice presso OAM:
-
Nome utente (attributo uid): alice.appleton
-
Indirizzo e-mail (attributo di posta elettronica): alice.appleton@acme.com
-
Nome (attributo nominativo): Alice
-
Cognome (attributo SN): struttura
-
-
User alice di Office 365 (consultare il documento tecnico di Microsoft per ulteriori informazioni su come creare un utente in Azure AD):
-
UserPrincipalName: alice.appleton@acme.com
-
ImmutableId: alice.appleton
-
DisplayName: Alice Appleton
-
FirstName: Alice
-
LastName: Struttura
-
UsageLocation: NOI
-
-
Accordo di federazione:
-
Formato SAML 2.0 NameID:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
-
Attributo LDAP utilizzato per popolare il valore
NameID
di SAML 2.0:uid
(poichéNameID
deve corrispondere aImmutableId
)
-
-
Attributo SAML contenuto nell'asserzione SAML
-
Nome: IDPEmail
-
Attributo LDAP utilizzato per popolare questo valore di attributo: posta (perché il valore di attributo deve corrispondere a
UserPrincipalName
)
-
-
Specifiche di Office 365:
-
Il nome di dominio sarà
acme.com
-
Il protocollo utilizzato sarà SAMLP
-
L'applicazione di posta ActiveSync sarà supportata dalla configurazione OAM
-
L'impostazione di Office 365 come SP in IdP è costituita da:
-
Creazione di un profilo attributo SP per inviare l'attributo
IDPEmail
contenente l'attributo di posta -
Creazione di un partner SP per Office 365 e associazione al nuovo profilo attributo SP
-
Aggiornamento della configurazione del partner SP di Office 365 per
-
Algoritmo di hashing SHA-1 nelle firme
-
Inclusione del certificato di firma OAM nei messaggi SAML in uscita
-
Autenticazione Basic HTTP per integrazione posta ActiveSync
Configurazione di Office 365
Fare riferimento alle seguenti informazioni Microsoft quando si legge questa sezione:
-
Blog di Microsoft
-
Documento tecnico che descrive come configurare Office 365
Windows Powershell
Assicurarsi che gli strumenti di Windows Powershell siano installati sul computer dal quale sarà possibile connettersi a Office 365 a scopo amministrativo.
Provisioning di IdP come partner in Office 365
Creare in primo luogo OAM come partner IdP per il dominio acme.com in Office 365, attenersi alla procedura riportata di seguito.
-
Connettersi a Office 365 come amministratore per acme.com
-
Connetti-MsolService
-
Impostare le seguenti variabili di ambiente (i dati utilizzati sono quelli recuperati dalla sezione Prerequisiti; si noti che la stringa per
$idpSigningCert
si trova sulla stessa riga di$idpSigningCert =
e che si tratta di una riga singola): -
$domainName
= "acme.com" -
$BrandName
- "ACME IdP" -
$browserSSOLoginURL
= "https://acme.com/oamfed/idp/samlv20 -
$ecpSSOURL
= "https://acme.com/oamfed/idp/soap" -
$logoutURL
= "https://acme.com/oamfed/idp/samlv20 -
$issuerProviderID
= "https://acme.com/oam/fed" -
$idpSigningCert
= "MIIB+DCCAWGgAwIBAgIBCjANB......oInVUbGTBDMfqmW5iZ/wjpzItg==" $ssoProtocol = "SAMLP" -
Eseguire il comando seguente utilizzando le variabili indicate in precedenza:
Set-MsolDomainAuthentication -DomainName $domainName-FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri$browserSSOLoginURL -ActiveLogOnUri $ecpSSOURL -SigningCertificate$idpSigningCert -IssuerUri $issuerProviderID -LogOffUri $logoutURL-PreferredAuthenticationProtocol $ssoProtocol
Configurazione OAM
Profilo attributi SP
Per creare un nuovo profilo di attributo SP che verrà impostato per inviare l'attributo SAML IDPEmail
contenente il valore UPN dell'utente, effettuare le operazioni riportate di seguito.
-
Andare alla console di amministrazione OAM:
http(s)://oam-admin-host:oam-admin port/oamconsole
. -
Passare a Identity Federation, Amministrazione provider di identità.
-
Fare clic sulla scheda Profili attributi provider di servizi.
-
Fare clic sul pulsante Crea profilo attributi SP.
-
Immettere un nome per il nuovo profilo (ad esempio,
Office365-attr-profile
). -
Nella sezione Mapping attributi, fare clic su Aggiungi.
-
Immettere le informazioni riportate di seguito.
-
Nome attributo messaggio:
IDPEmail
-
Valore: immettere l'attributo utente LDAP che contiene l'UPN dell'utente nella directory utilizzata da OAM (in questo esempio: user, attr, mail)
-
Invia sempre: selezionata
-
-
Fare clic su OK.
- Fare clic su Salva.
Descrizione dell'immagine Attribute_Mapping.jpg
Verrà visualizzato il profilo attributo:
Descrizione dell'immagine Attribute_Profile.jpg
Partner SP di Office 365
Per aggiungere Office 365 come partner SP in OAM, effettuare le operazioni riportate di seguito.
-
Andare alla console di amministrazione OAM:
http(s)://oam-admin-host:oam-admin port/oamconsole
-
Passare a Identity Federation, Amministrazione provider di identità
-
Fare clic sul pulsante Crea partner provider di servizi
-
Nella schermata Crea:
-
Immettere un nome per il partner (ad esempio, Office365)
-
Selezionare SAML 2.0 come protocollo
-
Fare clic su Carica metadati e caricare l'elemento Metadata =le SAML 2.0 per Office 365
-
Selezionare Persistente come formato
NameID
-
Immettere l'attributo utente LDAP che contiene il valore
ImmutableId
dell'utente (in questo esempio,uid
) -
Selezionare il profilo dell'attributo SP creato in precedenza (in questo esempio
Office365-attr-profile
)
-
-
Fare clic su Salva
Descrizione dell'immagine Service_Provider_Partner.jpg
SHA-1 Algoritmo hash per firma digitale
Per configurare OAM in modo che utilizzi SHA-1 per le firme per il partner di Office 365 SP, effettuare 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()
-
Eseguire il comando
configureFedDigitalSignature()
. -
Sostituire
PARTNER_NAME
con il nome del partner aggiunto- Esempio:
configureFedDigitalSignature(partner="Office365", partnerType="sp”, algorithm="SHA-1")
- Esempio:
-
Uscire dall'ambiente WLST:
exit()
configureFedDigitalSignature(partner="PARTNER_NAME", partnerType="sp",algorithm="SHA-256/SHA-1")
Certificato di firma OAM nella firma digitale XML
Per configurare OAM in modo che il server Federation includa il certificato di firma X.509 in tutti i messaggi SAML firmati in uscita per il partner SP di Office 365, effettuare 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()
-
Eseguire il comando
updatePartnerProperty()
:updatePartnerProperty("PARTNER_NAME", "sp", "includecertinsignature", "true""boolean")
-
Sostituire PARTNER_NAME con il nome del partner aggiunto Un esempio è:
- Uscire dall'ambiente WLST:
exit()
updatePartnerProperty("Office365", "sp", "includecertinsignature", "true", "boolean")
Autenticazione Basic HTTP per integrazione posta ActiveSync
Nel flusso ECP SAML 2.0, il server Office 365 effettua una connessione diretta a IdP su SOAP su HTTPS e invia un messaggio AuthnRequest SAML. Oltre alla richiesta SOAP, la richiesta HTTP contiene le credenziali dell'utente come parte delle intestazioni dell'autenticazione Basic HTTP.
IdP deve essere configurato per utilizzare uno schema di autenticazione Basic HTTP OAM per convalidare tali credenziali. Anche questa operazione non deve comportare la creazione di una sessione OAM, poiché si tratta piuttosto di un'operazione di convalida delle credenziali avviata dal server Office 365 e non dell'utente coinvolto in OAM. Per questi motivi, è necessario configurare IdP per utilizzare uno schema basato su:
-
modalità BASIC
-
Con i parametri della richiesta di verifica che contengono la voce
CookieLessMode=true
È possibile utilizzare BasicSessionlessScheme
per questo flusso.
Inoltre, OAM deve essere configurato per inviare urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
come metodo di autenticazione SAML 2.0 quando il client viene autenticato tramite BasicSessionlessScheme
.
Per configurare OAM in modo che utilizzi l'autenticazione Basic HTTP nel flusso ECP SAML 2.0, effettuare 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()
-
Eseguire il comando
setSPPartnerAlternateScheme()
per indicare a OAM di utilizzareBasicSessionlessScheme
:setSPPartnerAlternateScheme(PARTNER_NAME, "true", httpHeaderName="X-MSClient-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")
-
Sostituire PARTNER_NAME con il nome del partner aggiunto
- Recuperare il profilo del partner Fed OAM utilizzato dal partner SP di Office 365 in OAM:
- Sostituire
PARTNER_NAME
con il nome del partner aggiunto -
Eseguire il comando
addSPPartnerProfileAuthnMethod()
per indicare a OAM di inviare "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" come metodo di autenticazione SAML 2.0 quando il client viene autenticato tramiteBasicSessionlessScheme
:addSPPartnerProfileAuthnMethod(PARTNER_PROFILE,"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport","BasicSessionlessScheme")
-
Sostituire PARTNER_PROFILE con il valore recuperato nel passo precedente
- Uscire dall'ambiente WLST:
exit()
Esempio: setSPPartnerAlternateScheme("Office365", "true", httpHeaderName="X-MS-Client-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")
getFedPartnerProfile(PARTNER_NAME "sp")
Esempio: getFedPartnerProfile("Office365", "sp")
Annotare il valore restituito
Esempio: addSPPartnerProfileAuthnMethod("saml20-sp-partner-profile", "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "BasicSessionlessScheme")
Test
SSO del browser
Per eseguire il test dei flussi SSO del browser:
-
Aprire un browser
-
Vai a
http://office365.com
-
Fare clic su Accedi
-
Immettere l'indirizzo di posta elettronica dell'utente
- Fare clic su Successivo
-
In IdP immettere nome utente/password (a seconda dello schema di autenticazione utilizzato per autenticare gli utenti federati,
LDAPScheme
in questo esempio) -
Fare clic su Login
Descrizione dell'immagine Signin_Page.jpg
Office 365 tenta di individuare il dominio di Office 365 in base al suffisso dell'indirizzo e-mail
Una volta individuato il dominio, Office 365 attiva un flusso SSO Federation per il reindirizzamento a OAM / IdP per l'autenticazione
Descrizione dell'immagine Account_Found_Page.jpg
[Description of the illustration Account_Found_Page.jpg](files/Account_Found_Page.txt)
Descrizione dell'immagine Access_Manager_Screen.jpg
IdP convalida le credenziali, crea un'asserzione SAML 2.0 e reindirizza l'utente a Office 365 dove all'utente viene concesso l'accesso:
Descrizione dell'immagine Office_Screen.jpg
Un esempio di asserzione SAML 2.0 inviata da OAM/IdP a Office 365 è simile al seguente:
<samlp:Response ... Destination="https://login.microsoftonline.com/login.srf" ID="ideBpq-cnpGfrWXMpBIjxN7QPQKa6WTVtnuZZr0Qe" InResponseTo="_d111d2a7-3475-4bc2-928f-34b83a4a0f64"IssueInstant="2014-01-18T16:58:05Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://acme.com/oam/fed</saml:Issuer <samlp:Status><samlp:StatusCodeValue="urn:oasis:names:tc:SAML:2.0:status:Success"/></samlp:Status>
<saml:Assertion ID="id-nTZcRuTaECKj2X9wzUTn7e-CknyECbGljTSo1T70"
IssueInstant="2014-01-18T16:58:05Z" Version="2.0"> <saml:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameidformat:entity">https://acme.com/oam/fed</saml:Issuer
<dsig:Signature>
<dsig:SignedInfo>
<dsig:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-ex c14n#"/>
<dsig:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rs sha1"/>
<dsig:Reference URI="#id-nTZcRuTaECKj2X9wzUTn7e-CknyECbGljTSo1T70">
<dsig:Transforms>
<dsig:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#envelope signature"/>
<dsig:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</dsig:Transforms>
<dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"
<dsig:DigestValue>6iKaxdO74Xi5eRnv0X7nsmN/y10=</dsig:DigestValue>
</dsig:Reference>
</dsig:SignedInfo>
<dsig:SignatureValue>WYCBhIgPLafDeXroMSME80/QM...K/sNsI=
</dsig:SignatureValue>
<dsig:KeyInfo>
<dsig:X509Data>
<dsig:X509Certi=cate>MIIB+DCCAWGgA...plaoMZLcRoInVUbGTBDMfqmW5iZ/wjpzItg==
</dsig:X509Certi=cate>
</dsig:X509Data>
</dsig:KeyInfo>
</dsig:Signature>
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent"NameQuali=er="https://acme.com/oam/fed"SPNameQuali=er="urn:federation:MicrosoftOnline">alice.appleton</saml:NameID>
<saml:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml:SubjectConfirmationData InResponseTo="_d111d2a7-3475-4bc2-928f-
34b83a4a0f64" NotOnOrAfter="2014-01-18T17:03:05Z"
Recipient="https://login.microsoftonline.com/login.srf"/></saml:SubjectCon=rmatio
</saml:Subject>
<saml:Conditions NotBefore="2014-01-18T16:58:05Z"
NotOnOrAfter="2014-01-18T17:03:05Z">
<saml:AudienceRestriction>
<saml:Audience>urn:federation:MicrosoftOnline</saml:Audience>
</saml:AudienceRestriction>
</saml:Conditions>
<saml:AuthnStatement AuthnInstant="2014-01-18T16:58:05Z" SessionIndex="id-IMSvfoQa8uVVtSmN-lrdOfgEVKFJHF8AhmIDzj-"
SessionNotOnOrAfter="2014-01-18T17:58:05Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnCon </saml:AuthnContext>
</saml:AuthnStatement>
<saml:AttributeStatement>
<saml:Attribute Name="IDPEmail"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema xsi:type="xs:string">alice.appleton@acme.com</saml:AttributeValue>
</saml:Attribute>
</saml:AttributeStatement>
</saml:Assertion>
</samlp:Response>
Applicazione di posta ActiveSync
Per questo test, aggiungere un account di posta elettronica Exchange in un iPhone. Durante l'impostazione, l'applicazione di posta iPhone invia l'indirizzo di posta elettronica e la password al server di posta di Office 365, che estrae l'identificativo utente dall'indirizzo di posta elettronica ed esegue il protocollo ECP SAML 2.0 con autenticazione Basic HTTP.
Nota: viene utilizzato un flusso simile se l'impostazione prevede un'applicazione desktop di Outlook anziché l'applicazione nativa di posta iPhone.
Per impostare iPhone con Office 365, effettuare le operazioni riportate di seguito.
-
Vai a Impostazioni
-
Vai alla posta
-
Aggiungi account
-
Seleziona cambio
-
Immettere l'indirizzo di posta elettronica (alice.appleton@acme.com in questo esempio)
-
Password in OAM per l'utente (password per l'utente alice.appleton; ricordare che l'identificativo verrà utilizzato come nome utente di autenticazione Basic HTTP, alice.appleton in questo esempio)
- Fare clic su Successivo
- Dopo aver visualizzato la convalida riuscita, iPhone visualizza una schermata che consente all'utente di selezionare la funzione da abilitare. Dopo aver selezionato le funzioni, salvare. L'account viene impostato ora.
Descrizione dell'immagine Add_Account.jpg
Descrizione dell'immagine Exchange_Screen.jpg
L'applicazione di posta invia le informazioni sull'account utente al server di posta di Office 365 Il server di posta di Office 365 interagisce con OAM / IdP tramite il protocollo ECP SAML 2.0 per convalidare i dati, con l'identificativo utente e la password inviati tramite l'autenticazione Basic HTTP a OAM / IdP
Descrizione dell'immagine Verifying_Screen.jpg
Al completamento della convalida, iPhone mostra:
Descrizione dell'immagine iphone_Screen.jpg
Descrizione dell'immagine Account_Setup.jpg
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.
Integrating Office 365 with OAM and IdP
F60938-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.