Integration von Office 365 mit OAM und IdP

Dies ist eine Fortsetzung des Artikels, in dem OAM (11.1.2.2.0 oder höher) mit dem SAML 2.0-Protokoll als IdP mit Office 365 für Federation SSO konfiguriert wurde.

Lesen Sie unbedingt den Artikel über Voraussetzungen.

Die Integration umfasst:

Beachten Sie, dass die Integration mit Office 365 für Nicht-SAML 2.0-Komponenten nicht funktioniert. Beispiel:

Dieser Artikel basiert auf:

Testumgebung

Verwenden Sie für diese Testintegration den folgenden Ansatz:

Die Einrichtung von Office 365 als SP in IdP umfasst:

Office 365-Konfiguration

Lesen Sie die folgenden Microsoft-Informationen in diesem Abschnitt:

Windows Powershell

Stellen Sie sicher, dass die Windows Powershell-Tools auf dem Computer installiert sind, von dem aus Sie zu Administrationszwecken eine Verbindung zu Office 365 herstellen.

Provisioning von IdP als Partner in Office 365

Führen Sie die folgenden Schritte aus, um OAM als IdP-Partner für die acme.com-Domain in Office 365 zu erstellen:

OAM-Konfiguration

SP-Attributprofil

Um ein neues SP-Attributprofil zu erstellen, das so eingerichtet wird, dass das SAML-Attribut IDPEmail mit dem UPN-Wert des Benutzers gesendet wird, führen Sie die folgenden Vorgänge aus:

  1. Gehen Sie zur OAM-Administrationskonsole: http(s)://OAM-admin-host:OAM-admin port/oamconsole.

  2. Navigieren Sie zu Identity Federation, Identity Provider Administration.

  3. Klicken Sie auf die Registerkarte Attributprofile für Serviceprovider.

  4. Klicken Sie auf die Schaltfläche SP-Attributprofil erstellen.

  5. Geben Sie einen Namen für das neue Profil ein (Beispiel: Office365-attr-profile).

  6. Klicken Sie im Abschnitt "Attributzuordnung" auf Hinzufügen.

  7. Geben Sie folgende Informationen ein:

    1. Nachrichtenattributname: IDPEmail

    2. Wert: Geben Sie das LDAP-Benutzerattribut ein, das die UPN des Benutzers in dem von OAM verwendeten Verzeichnis enthält (in diesem Beispiel: user, attr, mail).

    3. Immer senden: aktiviert

  8. Klicken Sie auf OK.

  9. Beschreibung der Abbildung Attribute_Mapping.jpg

    Das Attributprofil wird angezeigt:

  10. Klicken Sie auf Speichern.

Beschreibung der Abbildung Attribute_Profile.jpg

Office 365 SP-Partner

So fügen Sie Office 365 als SP-Partner in OAM hinzu:

  1. Gehen Sie zur OAM-Administrationskonsole: http(s)://OAM-admin-host:OAM-admin port/oamconsole

  2. Navigieren Sie zu Identity Federation, Identity Provider-Administration.

  3. Klicken Sie auf die Schaltfläche Serviceproviderpartner erstellen.

  4. Führen Sie im Bildschirm "Erstellen" folgende Schritte aus:

    1. Geben Sie einen Namen für den Partner ein (Beispiel: Office365)

    2. Wählen Sie SAML 2.0 als Protokoll aus

    3. Klicken Sie auf Metadaten laden, und laden Sie die SAML 2.0-Metadaten für Office 365 hoch.

    4. Wählen Sie "Persistent" als NameID-Format aus

    5. Geben Sie das LDAP-Benutzerattribut ein, das den ImmutableId-Wert des Benutzers enthält (in diesem Beispiel uid)

    6. Wählen Sie das zuvor erstellte SP-Attributprofil aus (in diesem Beispiel Office365-attr-profile)

  5. Klicken Sie auf Save.

Beschreibung der Abbildung Service_Provider_Partner.jpg

SHA-1 Hash-Algorithmus für digitale Signatur

Um OAM so zu konfigurieren, dass SHA-1 für Signaturen für den Office 365 SP-Partner verwendet wird, führen Sie die folgenden Schritte aus:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen: $IAM_ORACLE_HOME/common/bin/WLST.sh

  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()

  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()

  4. Führen Sie den configureFedDigitalSignature()-Befehl aus:

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

  6. Ersetzen Sie PARTNER_NAME durch den Namen des hinzugefügten Partners.

    1. Beispiel: configureFedDigitalSignature(partner="Office365", partnerType="sp”, algorithm="SHA-1")
  7. Beenden Sie die WLST-Umgebung: exit()

Signaturzertifikat von OAM in digitaler XML-Signatur

Um OAM so zu konfigurieren, dass der Federation-Server das Signaturzertifikat X.509 in allen ausgehenden signierten SAML-Nachrichten für den Office 365 SP-Partner enthält, führen Sie die folgenden Schritte aus:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen: $IAM_ORACLE_HOME/common/bin/WLST.sh

  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()

  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()

  4. Führen Sie den updatePartnerProperty()-Befehl aus: updatePartnerProperty("PARTNER_NAME", "sp", "includecertinsignature", "true""boolean")

  5. Ersetzen Sie PARTNER_NAME durch den Namen des hinzugefügten Partners. Beispiel:

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

  7. Beenden Sie die WLST-Umgebung: exit()

HTTP-Basisauthentifizierung für ActiveSync Mail-Integration

Im SAML 2.0-ECP-Ablauf stellt der Office 365-Server über SOAP über HTTPS eine direkte Verbindung zu IdP her und sendet eine SAML AuthnRequest-Nachricht. Neben der SOAP-Anforderung enthält die HTTP-Anforderung die Zugangsdaten des Benutzers als Teil der HTTP-Header für Basisauthentifizierung.

IdP muss für die Verwendung eines OAM-HTTP-Basisauthentifizierungsschemas konfiguriert sein, um diese Zugangsdaten zu validieren. Außerdem darf dieser Vorgang nicht dazu führen, dass eine OAM-Session erstellt wird, da es sich eher um einen Vorgang zur Validierung von Zugangsdaten handelt, der vom Office 365-Server initiiert wurde, und nicht um den Benutzer, der an OAM beteiligt ist. Aus diesen Gründen muss IdP so konfiguriert werden, dass ein Schema verwendet wird, das auf Folgendem basiert:

BasicSessionlessScheme kann für diesen Ablauf verwendet werden.

Außerdem muss OAM so konfiguriert sein, dass urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport als SAML 2.0-Authentifizierungsmethode gesendet wird, wenn der Client über BasicSessionlessScheme authentifiziert wird.

Führen Sie die folgenden Schritte aus, um OAM für die Verwendung der HTTP-Basisauthentifizierung im SAML 2.0-ECP-Ablauf zu konfigurieren:

  1. Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen: $IAM_ORACLE_HOME/common/bin/WLST.sh

  2. Stellen Sie eine Verbindung zum WLS-Admin-Server her: connect()

  3. Navigieren Sie zur Domainlaufzeitverzweigung: domainRuntime()

  4. Führen Sie den setSPPartnerAlternateScheme()-Befehl aus, um OAM anzuweisen, BasicSessionlessScheme zu verwenden: setSPPartnerAlternateScheme(PARTNER_NAME, "true", httpHeaderName="X-MSClient-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")

  5. Ersetzen Sie PARTNER_NAME durch den Namen des hinzugefügten Partners.

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

  7. Rufen Sie das OAM Fed-Partnerprofil ab, das vom Office 365 SP-Partner in OAM verwendet wird:
  8. getFedPartnerProfile(PARTNER_NAME "sp")

  9. Ersetzen Sie PARTNER_NAME durch den Namen des hinzugefügten Partners.
  10. Beispiel: getFedPartnerProfile("Office365", "sp") Schreib den zurückgegebenen Wert auf

  11. Führen Sie den Befehl addSPPartnerProfileAuthnMethod() aus, um OAM anzuweisen, "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport" als SAML 2.0-Authentifizierungsmethode zu senden, wenn der Client über BasicSessionlessScheme authentifiziert wird: addSPPartnerProfileAuthnMethod(PARTNER_PROFILE,"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport","BasicSessionlessScheme")

  12. Ersetzen Sie PARTNER_PROFILE durch den im vorherigen Schritt abgerufenen Wert.

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

  14. Beenden Sie die WLST-Umgebung: exit()

Testen

Browser-SSO

So testen Sie die Browser-SSO-Abläufe:

  1. Öffnen Sie einen Browser

  2. Gehen Sie zu http://office365.com

  3. Klicken Sie auf Anmelden

  4. Geben Sie die E-Mail-Adresse des Benutzers ein

  5. Beschreibung der Abbildung Signin_Page.jpg

  6. Klicken Sie auf Weiter.
  7. Office 365 versucht, Ihre Office 365-Domain basierend auf dem Suffix der E-Mail-Adresse zu finden

    Nachdem die Domain gefunden wurde, löst Office 365 einen Federation-SSO-Ablauf aus, um Sie zur Authentifizierung zu OAM / IdP umzuleiten.

    Beschreibung der Abbildung Account_Found_Page.jpg

    [Description of the illustration Account_Found_Page.jpg](files/Account_Found_Page.txt)
    
  8. Geben Sie unter IdP den Benutzernamen/das Kennwort ein (je nach Authentifizierungsschema zur Authentifizierung föderierter Benutzer, in diesem Beispiel LDAPScheme).

  9. Klicken Sie auf Anmelden.

Beschreibung der Abbildung Access_Manager_Screen.jpg

IdP validiert die Zugangsdaten, erstellt eine SAML 2.0-Assertion und leitet den Benutzer zurück zu Office 365, wo er Zugriff erhält:

Beschreibung der Abbildung Office_Screen.jpg

Eine Beispiel-SAML 2.0-Assertion, die von OAM/IdP an Office 365 gesendet wird, sieht wie folgt aus:

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

ActiveSync E-Mail-Anwendung

Fügen Sie für diesen Test einen Exchange-E-Mail-Account in iPhone hinzu. Während des Setups sendet die Mail-Anwendung iPhone die E-Mail-Adresse und das Kennwort an den Office 365-Mail-Server, der die Benutzer-ID aus der E-Mail-Adresse extrahiert und das SAML 2.0-ECP-Protokoll mit HTTP-Basisauthentifizierung ausführt.

Hinweis: Ein ähnlicher Ablauf wird ausgeführt, wenn das Setup eine Outlook Desktop-Anwendung anstelle der nativen Mail-Anwendung iPhone beinhaltete.

Führen Sie die folgenden Schritte aus, um iPhone mit Office 365 einzurichten:

  1. Gehe zu Einstellungen

  2. Gehe zu Mail

  3. Account hinzufügen

  4. Exchange auswählen

  5. Beschreibung der Abbildung Add_Account.jpg

  6. Geben Sie die E-Mail-Adresse ein (in diesem Beispiel alice.appleton@acme.com)

  7. Kennwort bei OAM für den Benutzer (Kennwort für alice.appleton-Benutzer. Beachten Sie, dass die ID als Benutzername für die HTTP-Basisauthentifizierung verwendet wird, in diesem Beispiel alice.appleton)

  8. Beschreibung der Abbildung Exchange_Screen.jpg

  9. Klicken Sie auf Weiter.
  10. Die Mail-Anwendung sendet die Benutzeraccountinformationen an Office 365 Mail-Server Office 365 Mail-Server interagiert mit OAM / IdP über das SAML 2.0 ECP-Protokoll, um die Daten zu validieren, wobei die Benutzer-ID und das Kennwort über die HTTP-Basisauthentifizierung an OAM / IdP gesendet werden.

    Beschreibung der Abbildung Verifying_Screen.jpg

    Bei erfolgreicher Validierung zeigt iPhone Folgendes an:

    Beschreibung der Abbildung iphone_Screen.jpg

  11. Nachdem die erfolgreiche Validierung angezeigt wurde, zeigt iPhone einen Bildschirm an, in dem der Benutzer auswählen kann, welches Feature aktiviert werden soll. Speichern Sie, nachdem Sie die Funktionen ausgewählt haben. Das Konto ist jetzt eingerichtet.

Beschreibung der Abbildung Account_Setup.jpg

Weitere Lernressourcen

Sehen Sie sich weitere Übungen unter docs.oracle.com/learn an, oder greifen Sie auf weitere kostenlose Lerninhalte im Oracle Learning-Kanal YouTube zu. Besuchen Sie außerdem education.oracle.com/learning-explorer, um Oracle Learning Explorer zu werden.

Die Produktdokumentation finden Sie im Oracle Help Center.