將 Office 365 與 OAM 和 ID 先決條件整合

本文顯示如何使用 SAML 2.0 通訊協定,將 OAM (11.1.2.2.0 或更新版本) 整合為 IdP 與 Office 365,適用於聯合 SSO。

整合涵蓋:

請務必注意,與非 SAML 2.0 元件的 Office 365 整合將無法運作,例如:

本文以

概觀

為了使用 SAML 2.0 通訊協定與 Office 365 整合,OAM 必須設定為使用 HTTPS/SSL 作為其端點,並具有已知 CA 發出的 SSL 憑證 (如果需要 ActiveSync 郵件整合)。如果未這麼做,可能導致 Office 365 在建立「聯合信任」時不接受 OAM SAML 2.0 描述資料。

Office 365 預期使用 SHA-1 摘要演算法簽署所有 SAML 訊息。因此,IdP 必須設定為使用 SHA-1,否則如果使用 SHA-256,Office 365 SP 會傳回錯誤。此外,Office 365 需要將 IdP 的簽署憑證包含在已簽署的 SAML 宣告中;因此必須將 OAM 設定為將它包含在 Office 365 的所有外送簽署訊息中。

如果 IdP 使用 HTTP 基本認證 (因為 ActiveSync 郵件整合需要),則需要將執行 OAM 的 WebLogic 網域設定為不驗證未安全資源的 HTTP 基本認證。

若要建立兩個聯合伺服器之間的信任,必須擷取下列資料:

最後,若要能夠建立「聯合」信任,必須發生下列情況:

啟用 SSL

重要注意事項:因為 Office 365 伺服器嘗試直接連線至 OAM 伺服器的 ActiveSync 使用案例,所以用來啟用 OAM SSL 的 SSL 憑證必須由已知的 CA 發出。

在 OAM 的公用端點上啟用 SSL 的方式有幾種:

元件 (負載平衡器,OHS 或 WLS) 設定為 SSL 之後,必須更新 OAM 組態,以參照新端點作為其公用 URL:

  1. 移至「OAM 管理主控台」:http(s)://oam-admin- host:oam-admin-port/oamconsole

  2. 瀏覽至組態Access Manager 設定值

  3. 將「OAM 伺服器主機」設為公用端點的主機名稱

  4. 將 OAM 伺服器張貼至公用端點的 SSL 連接埠

  5. 將 OAM 伺服器協定設為 https

  6. 按一下套用

Access_Manager_Settings.jpg 圖解說明

注意:進行這些變更之後,擷取「OAM SAML 2.0 描述資料」會包含新的 https URL

HTTP 基本認證

依照預設,如果瀏覽器將「HTTP 基本認證」證明資料傳送給 OAM,WLS 伺服器會先嘗試驗證這些證明資料,再讓 OAM 處理要求:這可能會導致認證失敗,特別是當 WLS 網域未設定在 OAM 中建立之每個「識別存放區」的「WLS LDAP 認證程式」時。

注意:即使 WLS 網域已正確設定為讓每個識別存放區在 OAM 中建立的 WLS LDAP 認證器,這也會產生兩個認證作業,一個是依 WLS,另一個是 OAM 建立 OAM 階段作業所需的認證作業。

您可以停用自動驗證傳送至執行 OAM 之 WLS 網域中未受保護的應用程式的「HTTP 基本認證」證明資料。如需詳細資訊,請參閱 Oracle Fusion Middleware Programming Security for Oracle WebLogic Server 手冊的 "Understanding BASIC Authentication with Unsecured Resources"。

若要停用自動驗證傳送至 WLS 網域中不安全應用程式的「HTTP 基本認證」證明資料,請執行下列步驟:

  1. 執行下列動作以輸入 WLST 環境:$IAM_ORACLE_HOME/common/bin/wlst.sh

  2. 連線「WLS 管理」伺服器:connect()

  3. 啟動編輯階段 :

    edit()

    startEdit()

  4. 瀏覽至 SecurityConfiguration 節點:cd('SecurityConfiguration')

  5. 瀏覽至網域 (將 DOMAIN_NAME 取代為安裝 OAM 的 WLS 網域名稱):cd('DOMAIN_NAME')

  6. EnforceValidBasicAuthCredentials 設定設為 false,以停用傳送給未安全應用程式之「HTTP 基本認證」證明資料的 automatic 驗證:set('EnforceValidBasicAuthCredentials','false')

  7. 儲存並啟動更新:

    save()

    activate()

  8. 重新啟動 WLS 網域中的伺服器以使變更生效

SAML 2.0 描述資料、憑證及發照者

從 Office 365 SP 伺服器下載 SAML 2.0 中繼資料:

  1. 開啟瀏覽器

  2. 前往 Azure / Office 365 中繼資料發布服務:https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml

  3. 使用瀏覽器中的「另存新檔」按鈕將中繼資料儲存在本機

「OAM IdP 簽署憑證」必須以 Base64 編碼的字串形式提供給 Windows Powershell 命令,作為沒有空格 / 換行字元的單一字串。若要擷取「OAM IdP 簽署憑證」,請執行下列作業來判斷要使用哪一個 keyID 項目來登出 SAML 訊息:

  1. 移至「OAM 管理主控台」:http(s)://oam-adminhost:oam-admin-port/oamconsole

  2. 瀏覽至組態聯合設定值

  3. 記下「簽章金鑰」欄位中 SAML 簽章作業的簽章金鑰 keyID

Federation_Settings.jpg 圖解說明

執行下列步驟以擷取該 keyID 項目的憑證:

  1. 開啟瀏覽器

  2. 移至下列 URL (使用上一個步驟中擷取的 keyID 名稱取代 KEYENTRY_ID):

  3. http://oam-runtime-host:oam-runtime-port/oamfed/idp/cert?id=<KEYENTRY_ID>

  4. 將憑證儲存在文字檔中。

  5. 用您最愛的文字編輯器開啟檔案

  6. 檔案的內容看起來像是:

    -----BEGIN CERTIFICATE-----
    	MIIB+DCCAWGgAwIBAgIBCjANBgkqhkiG9w0BAQQFADAhMR8wHQYDVQQDExZhZGMMHBjYy51cy5vcmFjbGUuY29tMB4XDTE0MDMwNDE5MjAzMloXDTI0MDMwMTE5MjAzMlowITEfMB0GA1UEAxMWYWRjMDBwY2MudXMub3JhY2xlLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAkQOdZCmoOQRuxSvI/74bjnUPq7u7qiGbmaN1D5TB JaM+j5XRixEUI3pidaxlbykaraqVBMJpXJ6ua0QWectv6SdzuqcvH8C5el06NxTs fB6pcvxHGXVAbAvtGr2tOPSL+5HaFQoATpiY3HugTnJfjmHRfOqIo8nUMek6zCtv rKUCAwEAAaNAMD4wDAYDVR0TAQH/BAIwADAPBgNVHQ8BAf8EBQMDB9gAMB0GA DgQWBBQ/7yJbGCbbAnaLEi4ReLwLlvSxJTANBgkqhkiG9w0BAQQFAAOBgQBrMb2i6zcChhVM7a9VVgBr8xljBsPxVWCAYNUYaoyUj9VkD4CpFF9hVX0CpceoSBTiyMQp 3sg0FAYz1PGfjrq7uFEq9iTCwa5J/7k/VSOLKd3IDqzz7w0ZERksgp3OOqOct/wB/wQplaoMZLcRoInVUbGTBDMfqmW5iZ/wjpzItg==
    —–END CERTIFICATE—–
    
  7. 移除第一行 (-----BEGIN CERTIFICATE-----)、移除最後一行 (-----END CERTIFICATE-----),以及修改檔案的其餘部分以移除分行符號。結果應該是單一行檔案 (縮短內容):

  8. MIIB+DCCAWGgAwIBAgIBCjANBg....InVUbGTBDMfqmW5iZ/wjpzItg==

  9. 儲存檔案。這一行是 Windows Powershell 指令的輸入。

執行下列步驟以擷取 IdP 的發行者 / 提供者 ID:

  1. 移至「OAM 管理主控台」:http(s)://oam-admin-host:oam-admin-port/oamconsole

  2. 瀏覽至組態聯合設定值

  3. 請注意「提供者 ID」欄位中的 OAM 發照者 / 提供者 ID 值

Retrieve_IDP.jpg 圖解說明

OAM IdP SSO 和登出 URL 為 ( 注意:請確定具有公用端點,這是一般使用者使用的 URL):

如果您有任何疑問,可以從 IdP 描述資料擷取這些 URL:

  1. 開啟瀏覽器

  2. 前往 http(s)://oam-public-host:oam-public-port/oamfed/idp/metadata

  3. 瀏覽器 SSO URL 將會是 XML 的 Location 屬性

    
    	 Element EntityDescriptor , IDPSSODescriptor , SingleSignOnService for which the Binding attribute is set to urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect:
               <md:EntityDescriptor ...>
    				...
    				<md:IDPSSODescriptor ...>
    					...
    					<md:SingleSignOnService>
    						Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTPRedirect" Location="https://acme.com/oamfed/idp/samlv20"/>
    					...
    				</md:IDPSSODescriptor>
    				...
    			</md:EntityDescriptor>
    	

SHA-256 與 SHA-1

在 OAM 與 Office 365 之間設定「同盟」之後,您必須設定 OAM 使用 SHA-1 作為 Office 365 SP 合作夥伴的簽章。

OAM 簽章訊息中的簽署憑證

在 OAM 與 Office 365 之間設定「聯合」之後,您必須設定 OAM,讓聯合伺服器在 Office 365 SP 合作夥伴的所有外送簽署 SAML 訊息中包含其 X.509 簽署憑證。

使用者帳戶

Office 365 與 OAM 目錄中的使用者帳戶必須同步,以支援各種聯合流程 (瀏覽器 SSO 與 ActiveSync):

ImmutableId

ImmutableId 是 Office 365 用來唯一參照使用者的屬性。即使稍後要刪除使用者記錄,後續建立的其他使用者也無法擁有相同的 ImmutableId 值。

ImmutableId 通常為

UserPrincipalName

UserPrincipalName (或 UPN) 是具有電子郵件地址格式的識別碼。電子郵件地址的網域名稱必須對應至 Office 365 網域中使用的名稱。

例如,如果已為 Federation SSO 的 acme.com 網域設定 Office 365,則所有電子郵件地址類似 identiSer@acme.com 的使用者都可以使用為該 Office 365 網域設定的 IdP 來執行 Federation SSO。

ActiveSync 需求

在 ActiveSync 郵件流程中:

在這種流程中,使用者將:

使用者名稱需求

根據上述情況,IdP 的使用者認證需求如下:

瀏覽器

認證使用者名稱

IdP 的 HTTP 基本認證使用者名稱
以瀏覽器為基礎的同盟 SSO 任何項目 不適用

以瀏覽器為基礎的同盟 SSO

+ +

ActiveSync 電子報

任何項目 電子郵件地址中的識別碼

其他學習資源

探索 docs.oracle.com/learn 上的其他實驗室,或存取 Oracle Learning YouTube 頻道上的更多免費學習內容。此外,瀏覽 education.oracle.com/learning-explorer 成為 Oracle Learning Explorer。

如需產品文件,請造訪 Oracle Help Center