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:
-
SSO-Integration für Browserföderation: Dies ist der Ablauf, den der Benutzer beim Zugriff auf die
www.office365.com-Ressourcen über einen Browser ausführt -
www.office365.comfordert den Benutzer zur Eingabe der E-Mail-Adresse auf. -
Der Server erkennt, dass Federation-SSO für diese Domain verwendet werden soll, und startet einen Federation-SSO-Ablauf in IdP
-
IdP fordert den Benutzer heraus, erstellt eine SAML-Assertion und leitet den Benutzer zu
www.office365.comum -
www.office365.comerteilt dem Benutzer Zugriff -
ActiveSync-E-Mail-Integration: In diesem Ablauf verwendet der Benutzer eine für Office 365 konfigurierte E-Mail-Anwendung
-
Wenn die Mailanwendung gestartet wird, werden die Zugangsdaten des Benutzers (E-Mail-Adresse und IdP-Kennwort) an Office 365 gesendet.
www.office365.comstellt eine direkte Verbindung über SSL zu IdP her und verwendet das SAML 2.0-ECP-Protokoll, um eine SAML AuthnRequest und die Zugangsdaten des Benutzers über die HTTP-Basisauthentifizierung zu senden -
Die IdP validiert diese Zugangsdaten und gibt eine SAML-Assertion über das ECP-Protokoll zurück
-
Office 365 gewährt Zugriff auf die E-Mail-Anwendung
Beachten Sie, dass die Integration mit Office 365 für Nicht-SAML 2.0-Komponenten nicht funktioniert. Beispiel:
-
Lync-Clients
-
OWA-Apps
Dieser Artikel basiert auf:
-
Die vom Oracle-Team durchgeführten Tests
-
Der Microsoft-Artikel zur SAML 2.0-Unterstützung für Office 365 und insbesondere die technischen Dokumentlistenschritte, die zur Konfiguration von Office 365 erforderlich sind (Benutzerverwaltung und Federation-Vertrauenseinrichtung).
-
Microsoft-Blog
-
Technisches Dokument mit einer Beschreibung der Konfiguration von Office 365
Testumgebung
Verwenden Sie für diese Testintegration den folgenden Ansatz:
-
Benutzeralice bei OAM:
-
Benutzername (uid-Attribut): alice.appleton
-
E-Mail-Adresse (E-Mail-Attribut): alice.appleton@acme.com
-
Vorname (givenname-Attribut): Alice
-
Nachname (sn-Attribut): Appleton
-
-
Benutzeralice bei Office 365 (weitere Informationen zum Erstellen eines Benutzers in Azure AD finden Sie im technischen Dokument von Microsoft):
-
UserPrincipalName: alice.appleton@acme.com
-
ImmutableId: alice.appleton
-
DisplayName: Alice Appleton
-
FirstName: Alice
-
LastName: Appleton
-
UsageLocation: WIR
-
-
Föderationsvereinbarung:
-
Format SAML 2.0 NameID:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent -
LDAP-Attribut zum Auffüllen des SAML 2.0
NameID-Wertes:uid(daNameIDmitImmutableIdübereinstimmen muss)
-
-
In der SAML-Assertion enthaltenes SAML-Attribut
-
Name: IDPEmail
-
LDAP-Attribut, mit dem dieser Attributwert aufgefüllt wird: Mail (da der Attributwert mit
UserPrincipalNameübereinstimmen muss)
-
-
Office 365 Besonderheiten:
-
Der Domainname lautet
acme.com -
Das verwendete Protokoll ist SAMLP
-
Die E-Mail-Anwendung ActiveSync wird von der OAM-Konfiguration unterstützt
-
Die Einrichtung von Office 365 als SP in IdP umfasst:
-
SP-Attributprofil erstellen, um das Attribut
IDPEmailmit dem Mailattribut zu senden -
SP-Partner für Office 365 erstellen und an das neue SP-Attributprofil binden
-
Office 365 SP Partner-Konfiguration aktualisieren für
-
Hashing-Algorithmus SHA-1 in Signaturen
-
Aufnahme des OAM-Signaturzertifikats in ausgehende SAML-Nachrichten
-
HTTP-Basisauthentifizierung für ActiveSync-E-Mail-Integration
Office 365-Konfiguration
Lesen Sie die folgenden Microsoft-Informationen in diesem Abschnitt:
-
Microsoft-Blog
-
Technisches Dokument mit einer Beschreibung der Konfiguration von Office 365
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:
-
Melden Sie sich bei Office 365 als Administrator für acme.com an.
-
Verbinden-MsolService
-
Legen Sie die folgenden Umgebungsvariablen fest (die verwendeten Daten sind die Daten, die aus dem Abschnitt für Voraussetzungen abgerufen werden. Beachten Sie, dass sich die Zeichenfolge für
$idpSigningCertin derselben Zeile wie$idpSigningCert =befindet und dass es sich um eine einzelne Zeile handelt): -
$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" -
Führen Sie den folgenden Befehl mit den obigen Variablen aus:
Set-MsolDomainAuthentication -DomainName $domainName-FederationBrandName $BrandName -Authentication Federated -PassiveLogOnUri$browserSSOLoginURL -ActiveLogOnUri $ecpSSOURL -SigningCertificate$idpSigningCert -IssuerUri $issuerProviderID -LogOffUri $logoutURL-PreferredAuthenticationProtocol $ssoProtocol
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:
-
Gehen Sie zur OAM-Administrationskonsole:
http(s)://OAM-admin-host:OAM-admin port/oamconsole. -
Navigieren Sie zu Identity Federation, Identity Provider Administration.
-
Klicken Sie auf die Registerkarte Attributprofile für Serviceprovider.
-
Klicken Sie auf die Schaltfläche SP-Attributprofil erstellen.
-
Geben Sie einen Namen für das neue Profil ein (Beispiel:
Office365-attr-profile). -
Klicken Sie im Abschnitt "Attributzuordnung" auf Hinzufügen.
-
Geben Sie folgende Informationen ein:
-
Nachrichtenattributname:
IDPEmail -
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).
-
Immer senden: aktiviert
-
-
Klicken Sie auf OK.
- Klicken Sie auf Speichern.

Beschreibung der Abbildung Attribute_Mapping.jpg
Das Attributprofil wird angezeigt:

Beschreibung der Abbildung Attribute_Profile.jpg
Office 365 SP-Partner
So fügen Sie Office 365 als SP-Partner in OAM hinzu:
-
Gehen Sie zur OAM-Administrationskonsole:
http(s)://OAM-admin-host:OAM-admin port/oamconsole -
Navigieren Sie zu Identity Federation, Identity Provider-Administration.
-
Klicken Sie auf die Schaltfläche Serviceproviderpartner erstellen.
-
Führen Sie im Bildschirm "Erstellen" folgende Schritte aus:
-
Geben Sie einen Namen für den Partner ein (Beispiel: Office365)
-
Wählen Sie SAML 2.0 als Protokoll aus
-
Klicken Sie auf Metadaten laden, und laden Sie die SAML 2.0-Metadaten für Office 365 hoch.
-
Wählen Sie "Persistent" als
NameID-Format aus -
Geben Sie das LDAP-Benutzerattribut ein, das den
ImmutableId-Wert des Benutzers enthält (in diesem Beispieluid) -
Wählen Sie das zuvor erstellte SP-Attributprofil aus (in diesem Beispiel
Office365-attr-profile)
-
-
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:
-
Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen:
$IAM_ORACLE_HOME/common/bin/WLST.sh -
Stellen Sie eine Verbindung zum WLS-Admin-Server her:
connect() -
Navigieren Sie zur Domainlaufzeitverzweigung:
domainRuntime() -
Führen Sie den
configureFedDigitalSignature()-Befehl aus: -
Ersetzen Sie
PARTNER_NAMEdurch den Namen des hinzugefügten Partners.- Beispiel:
configureFedDigitalSignature(partner="Office365", partnerType="sp”, algorithm="SHA-1")
- Beispiel:
-
Beenden Sie die WLST-Umgebung:
exit()
configureFedDigitalSignature(partner="PARTNER_NAME", partnerType="sp",algorithm="SHA-256/SHA-1")
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:
-
Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen:
$IAM_ORACLE_HOME/common/bin/WLST.sh -
Stellen Sie eine Verbindung zum WLS-Admin-Server her:
connect() -
Navigieren Sie zur Domainlaufzeitverzweigung:
domainRuntime() -
Führen Sie den
updatePartnerProperty()-Befehl aus:updatePartnerProperty("PARTNER_NAME", "sp", "includecertinsignature", "true""boolean") -
Ersetzen Sie PARTNER_NAME durch den Namen des hinzugefügten Partners. Beispiel:
- Beenden Sie die WLST-Umgebung:
exit()
updatePartnerProperty("Office365", "sp", "includecertinsignature", "true", "boolean")
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:
-
BASIC-Modus
-
Mit den Challenge-Parametern, die den Eintrag
CookieLessMode=trueenthalten
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:
-
Geben Sie die WLST-Umgebung ein, indem Sie Folgendes ausführen:
$IAM_ORACLE_HOME/common/bin/WLST.sh -
Stellen Sie eine Verbindung zum WLS-Admin-Server her:
connect() -
Navigieren Sie zur Domainlaufzeitverzweigung:
domainRuntime() -
Führen Sie den
setSPPartnerAlternateScheme()-Befehl aus, um OAM anzuweisen,BasicSessionlessSchemezu verwenden:setSPPartnerAlternateScheme(PARTNER_NAME, "true", httpHeaderName="X-MSClient-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme") -
Ersetzen Sie PARTNER_NAME durch den Namen des hinzugefügten Partners.
- Rufen Sie das OAM Fed-Partnerprofil ab, das vom Office 365 SP-Partner in OAM verwendet wird:
- Ersetzen Sie
PARTNER_NAMEdurch den Namen des hinzugefügten Partners. -
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 überBasicSessionlessSchemeauthentifiziert wird:addSPPartnerProfileAuthnMethod(PARTNER_PROFILE,"urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport","BasicSessionlessScheme") -
Ersetzen Sie PARTNER_PROFILE durch den im vorherigen Schritt abgerufenen Wert.
- Beenden Sie die WLST-Umgebung:
exit()
Beispiel: setSPPartnerAlternateScheme("Office365", "true", httpHeaderName="X-MS-Client-Application", httpHeaderExpression=".\*Microsoft.Exchange..\*" authnScheme="BasicSessionlessScheme")
getFedPartnerProfile(PARTNER_NAME "sp")
Beispiel: getFedPartnerProfile("Office365", "sp") Schreib den zurückgegebenen Wert auf
Beispiel: addSPPartnerProfileAuthnMethod("saml20-sp-partner-profile", "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport", "BasicSessionlessScheme")
Testen
Browser-SSO
So testen Sie die Browser-SSO-Abläufe:
-
Öffnen Sie einen Browser
-
Gehen Sie zu
http://office365.com -
Klicken Sie auf Anmelden
-
Geben Sie die E-Mail-Adresse des Benutzers ein
- Klicken Sie auf Weiter.
-
Geben Sie unter IdP den Benutzernamen/das Kennwort ein (je nach Authentifizierungsschema zur Authentifizierung föderierter Benutzer, in diesem Beispiel
LDAPScheme). -
Klicken Sie auf Anmelden.

Beschreibung der Abbildung Signin_Page.jpg
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)

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:
-
Gehe zu Einstellungen
-
Gehe zu Mail
-
Account hinzufügen
-
Exchange auswählen
-
Geben Sie die E-Mail-Adresse ein (in diesem Beispiel alice.appleton@acme.com)
-
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)
- Klicken Sie auf Weiter.
- 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 Add_Account.jpg

Beschreibung der Abbildung Exchange_Screen.jpg
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

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.
Integrating Office 365 with OAM and IdP
F60938-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.