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:

È importante notare che l'integrazione con Office 365 per componenti non SAML 2.0 non funzionerà, ad esempio:

Questo articolo si basa su:

Ambiente di test

Per questa integrazione di test, utilizzare l'approccio riportato di seguito.

L'impostazione di Office 365 come SP in IdP è costituita da:

Configurazione di Office 365

Fare riferimento alle seguenti informazioni Microsoft quando si legge questa sezione:

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.

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.

  1. Andare alla console di amministrazione OAM: http(s)://oam-admin-host:oam-admin port/oamconsole.

  2. Passare a Identity Federation, Amministrazione provider di identità.

  3. Fare clic sulla scheda Profili attributi provider di servizi.

  4. Fare clic sul pulsante Crea profilo attributi SP.

  5. Immettere un nome per il nuovo profilo (ad esempio, Office365-attr-profile).

  6. Nella sezione Mapping attributi, fare clic su Aggiungi.

  7. Immettere le informazioni riportate di seguito.

    1. Nome attributo messaggio: IDPEmail

    2. Valore: immettere l'attributo utente LDAP che contiene l'UPN dell'utente nella directory utilizzata da OAM (in questo esempio: user, attr, mail)

    3. Invia sempre: selezionata

  8. Fare clic su OK.

  9. Descrizione dell'immagine Attribute_Mapping.jpg

    Verrà visualizzato il profilo attributo:

  10. Fare clic su Salva.

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.

  1. Andare alla console di amministrazione OAM: http(s)://oam-admin-host:oam-admin port/oamconsole

  2. Passare a Identity Federation, Amministrazione provider di identità

  3. Fare clic sul pulsante Crea partner provider di servizi

  4. Nella schermata Crea:

    1. Immettere un nome per il partner (ad esempio, Office365)

    2. Selezionare SAML 2.0 come protocollo

    3. Fare clic su Carica metadati e caricare l'elemento Metadata =le SAML 2.0 per Office 365

    4. Selezionare Persistente come formato NameID

    5. Immettere l'attributo utente LDAP che contiene il valore ImmutableId dell'utente (in questo esempio, uid)

    6. Selezionare il profilo dell'attributo SP creato in precedenza (in questo esempio Office365-attr-profile)

  5. 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.

  1. Immettere l'ambiente WLST eseguendo: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Connetti al server di amministrazione WLS: connect()

  3. Passare alla diramazione Runtime dominio: domainRuntime()

  4. Eseguire il comando configureFedDigitalSignature().

  5. configureFedDigitalSignature(partner="PARTNER_NAME", partnerType="sp",algorithm="SHA-256/SHA-1")

  6. Sostituire PARTNER_NAME con il nome del partner aggiunto

    1. Esempio: configureFedDigitalSignature(partner="Office365", partnerType="sp”, algorithm="SHA-1")
  7. Uscire dall'ambiente WLST: exit()

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.

  1. Immettere l'ambiente WLST eseguendo: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Connetti al server di amministrazione WLS: connect()

  3. Passare alla diramazione Runtime dominio: domainRuntime()

  4. Eseguire il comando updatePartnerProperty(): updatePartnerProperty("PARTNER_NAME", "sp", "includecertinsignature", "true""boolean")

  5. Sostituire PARTNER_NAME con il nome del partner aggiunto Un esempio è:

  6. updatePartnerProperty("Office365", "sp", "includecertinsignature", "true", "boolean")

  7. Uscire dall'ambiente WLST: exit()

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:

È 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.

  1. Immettere l'ambiente WLST eseguendo: $IAM_ORACLE_HOME/common/bin/wlst.sh

  2. Connetti al server di amministrazione WLS: connect()

  3. Passare alla diramazione Runtime dominio: domainRuntime()

  4. Eseguire il comando setSPPartnerAlternateScheme() per indicare a OAM di utilizzare BasicSessionlessScheme: setSPPartnerAlternateScheme(PARTNER_NAME, "true", httpHeaderName="X-MSClient-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")

  5. Sostituire PARTNER_NAME con il nome del partner aggiunto

  6. Esempio: setSPPartnerAlternateScheme("Office365", "true", httpHeaderName="X-MS-Client-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")

  7. Recuperare il profilo del partner Fed OAM utilizzato dal partner SP di Office 365 in OAM:
  8. getFedPartnerProfile(PARTNER_NAME "sp")

  9. Sostituire PARTNER_NAME con il nome del partner aggiunto
  10. Esempio: getFedPartnerProfile("Office365", "sp") Annotare il valore restituito

  11. 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 tramite BasicSessionlessScheme: addSPPartnerProfileAuthnMethod(PARTNER_PROFILE,"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport","BasicSessionlessScheme")

  12. Sostituire PARTNER_PROFILE con il valore recuperato nel passo precedente

  13. Esempio: addSPPartnerProfileAuthnMethod("saml20-sp-partner-profile", "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "BasicSessionlessScheme")

  14. Uscire dall'ambiente WLST: exit()

Test

SSO del browser

Per eseguire il test dei flussi SSO del browser:

  1. Aprire un browser

  2. Vai a http://office365.com

  3. Fare clic su Accedi

  4. Immettere l'indirizzo di posta elettronica dell'utente

  5. Descrizione dell'immagine Signin_Page.jpg

  6. Fare clic su Successivo
  7. 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)
    
  8. In IdP immettere nome utente/password (a seconda dello schema di autenticazione utilizzato per autenticare gli utenti federati, LDAPScheme in questo esempio)

  9. Fare clic su Login

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.

  1. Vai a Impostazioni

  2. Vai alla posta

  3. Aggiungi account

  4. Seleziona cambio

  5. Descrizione dell'immagine Add_Account.jpg

  6. Immettere l'indirizzo di posta elettronica (alice.appleton@acme.com in questo esempio)

  7. 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)

  8. Descrizione dell'immagine Exchange_Screen.jpg

  9. Fare clic su Successivo
  10. 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

  11. 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 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.