在 OAM 和 SP 中建立 SAML 1.1 和 OpenID 2.0 IdP 合作夥伴

本文涵蓋如何透過 SAML 1.1 或 OpenID 2.0 通訊協定,在 OAM 作為 SP 與遠端 IdP 合作夥伴之間設定聯合協議:

本文描述如何透過 UI 或使用 OAM WLST 命令執行上述工作。

SAML 1.1

OAM 管理主控台

若要建立新的 SAML 1.1 IdP 夥伴,請執行下列步驟 (請先確定您擁有 IdP 夥伴的所有資料,例如憑證、IdP ID 和 URL):

  1. 前往「OAM 管理主控台」:http(s)://oam-admin-host:oam-adminport/oamconsole
  2. 瀏覽至 Identity Federation,服務提供者管理
  3. 按一下建立身分識別提供者夥伴按鈕。
  4. 在「建立」畫面中:
  5. 輸入夥伴的名稱。
  6. 輸入 IdP 合作夥伴的發照者 / ProviderID
  7. 如果將 SuccinctID 留白,OAM/SP 會使用 SHA-1 演算法摘要提供者 ID 來計算它 (應留白)。
  8. 輸入該 IdP 合作夥伴的 SSO 服務 URL:這是將使用者從具有 SAML AuthnRequest 的 OAM/SP 重新導向至 IdP 的 URL。
  9. 如果合作夥伴支援 SAML 2.0 使用者自建物件協定,請輸入 OAM/SP 連線的 SOAP 服務 URL,以在「SSO 使用者自建物件」作業期間擷取 SAML 宣告。
  10. 上傳 IdP 簽章憑證檔案:
  11. 「宣告對應」段落:
  12. 選取對應發生的方式。注意:在範例中,我們正透過 NameID 將宣告對應至 LDAP 郵件屬性。
  13. 選取用來將內送 SAML 宣告中屬性的名稱對應至本機名稱的「屬性設定檔」。
  14. 按一下儲存
  15. OAM_Admin_Console.jpg 圖解說明

  16. 建立合作夥伴後,會顯示編輯合作夥伴畫面,其中包含:

Edit_Partner_Screen.jpg 圖解說明

[Description of the illustration Edit_Partner_Screen.jpg](files/Edit_Partner_Screen.txt)

WLST

若要使用 OAM WLST 命令建立新的 SAML 1.1 IdP 合作夥伴,請執行下列步驟 (確定您擁有 IdP 合作夥伴的所有資料,例如憑證、IdP ID 和 URL):

  1. 執行以下步驟來輸入 WLST 環境:$IAM_ORACLE_HOME/common/bin/wlst.sh

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

  3. 瀏覽至「網域程式實際執行」分支:domainRuntime()

  4. 建立呼叫 OAM 中 acmeIdP 的 SAML 1.1 IdP 合作夥伴:addSAML11IdPFederationPartner("acmeIdP", "https://acme.com/idp", "https://acme.com/saml11/sso", "https://acme.com/saml11/soap"

  5. 新 SP 合作夥伴預設會設定為:

  6. 使用預設的 OAM 識別存放區

  7. 使用「識別存放區」的使用者搜尋基準 DN (未覆寫)

  8. 使用符合 LDAP 郵件屬性的 NameID 對應 SAML 宣告。

  9. 使用預設的身分識別提供者屬性設定檔。

  10. 尚未上傳此 IdP 合作夥伴的憑證。

  11. 結束 WLST 環境:exit()

透過 WLST 修改同盟設定值

本節列出如何透過 OAM WLST 命令變更通用的 IdP 夥伴設定值:

假設您已經在 WLST 環境中並使用下列方式連線:

  1. 執行以下步驟來輸入 WLST 環境:$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. 連線「WLS 管理」伺服器:connect()
  3. 瀏覽至「網域程式實際執行」分支:domainRuntime()

SAML 宣告對應設定值

設定 SAML IdP 夥伴的對應設定值:

OAM 識別存放區與使用者搜尋基準 DN

若要設定 OAM/SP 在對應內送 SAML 宣告時使用特定的「OAM 識別存放區」和 (或) 特定「使用者搜尋基準 DN」,請執行下列命令:setPartnerIDStoreAndBaseDN()

SAML 簽署憑證

有多種 WLST 命令可用來管理簽署和加密憑證:

IdP 合作夥伴屬性設定檔

若要設定特定 IdP 夥伴的 IdP 夥伴屬性設定檔,請使用下列命令:若要設定 IdP 夥伴使用特定的 IdP 夥伴屬性設定檔,請執行:

範例

下列命令可用來新增 SAML 1.1 IdP 夥伴 (在此範例中,我們選擇指定「識別存放區」):

addSAML11IdPFederationPartner("acmeIdP", "https://acme.com/idp", "https://acme.com/saml1 /sso", "https://acme.com/saml11/soap" setFederationPartnerSigningCert("acmeIdP", "idp","/tmp/acme-idp-cert.pem") setPartnerIDStoreAndBaseDN("acmeIdP", "idp", "oid") setIdPPartnerMappingNameID("acmeIdP", "mail")

OpenID 2.0

OAM 管理主控台

若要建立新的 OpenID 2.0 IdP/OP 合作夥伴,請執行下列步驟 (確定您擁有 IdP/OP 合作夥伴的所有資料,例如尋找和 SSO URL):

  1. 前往「OAM 管理主控台」:http(s)://oam-admin-host:oam-adminport/oamconsole
  2. 瀏覽至 Identity Federation,服務提供者管理
  3. 按一下建立身分識別提供者夥伴按鈕。
  4. 在「建立」畫面中:
    1. 輸入夥伴的名稱。
    2. 選取 OpenID 2.0 作為協定。
    3. 選取與 OpenID OP 互動的方式。
      1. 指定發布 OP XRDS 的 OpenID 尋找 URL。
      2. 或指定 OpenID SSO URL,以將使用者重新導向至 OpenID SSO。
  5. 輸入「服務詳細資訊」選項的相對應 URL。
  6. 對應區段:
    1. 選擇性地設定應使用的「OAM 識別存放區」。注意:在範例中,我們將欄位留白,以使用預設的「OAM 識別存放區」。
    2. 選擇性地設定使用者搜尋基準 DN。注意:在範例中,我們將欄位留白,以使用「識別存放區」中設定的使用者搜尋基準 DN。
    3. 選取對應發生的方式。注意:在範例中,我們透過名為 http://axschema.org /contact/email 的屬性對應 OpenID 回應至 LDAP 郵件屬性。注意:無法透過 NameID 對應 OpenID 協定。
    4. 選取用來將內送 SAML 宣告中屬性的名稱對應至本機名稱的「屬性設定檔」。
  7. 按一下儲存

Create_Idty_Provider_Screen.jpg 圖解說明

建立合作夥伴後,會顯示編輯合作夥伴畫面,其中包含:

Edit_Partner_Adv_Settings_Screen.jpg 圖解說明

OpenID 2.0 通訊協定主要依賴 OP 與 RP 在 OpenID 2.0 SSO 交換期間共用的使用者屬性。OAM/RP 可以將內送 SSO 回應中的屬性名稱對應至本機名稱,並透過 IdP 屬性設定檔來完成。

WLST

若要使用 OAM WLST 命令建立新的 OpenID 2.0 OP 合作夥伴,請執行下列步驟 (確定您具有 OP 合作夥伴的所有資料,例如 IdP/OP 範圍和 URL):

  1. 執行以下步驟來輸入 WLST 環境:$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. 連線「WLS 管理」伺服器:connect()
  3. 瀏覽至「網域程式實際執行」分支:domainRuntime()
  4. 建立在 OAM 中呼叫 acmeOP 的 OpenID 2.0 OP 合作夥伴:addOpenID20IdPFederationPartner("acmeOP","https://acme.com/openid/sso","https://acme.com/openid/xrds")
  5. 新 SP 合作夥伴預設會設定為:
    1. 使用預設的「OAM 識別存放區」。
    2. 使用「識別存放區」的使用者搜尋基準 DN (未覆寫)。
    3. 將不會設定「宣告對應」。
    4. 使用預設服務提供者屬性設定檔。
  6. 結束 WLST 環境:exit()

透過 WLST 修改同盟設定值

本節列出如何透過 OAM WLST 命令變更通用 IdP/OP 夥伴設定值:

我們假設您已經在 WLST 環境中並使用下列方式連線:

  1. 執行以下步驟來輸入 WLST 環境:$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. 連線「WLS 管理」伺服器:connect()
  3. 瀏覽至「網域程式實際執行」分支:domainRuntime()

OpenID SSO 回應對應設定值

設定 OpenID IdP 夥伴的對應設定值:

OAM 識別存放區與使用者搜尋基準 DN

若要設定 OAM/SP 在對應內送 OpenID SSO 回應時使用特定「OAM 識別存放區」和 (或) 特定「使用者搜尋基準 DN」,請執行下列命令:setPartnerIDStoreAndBaseDN()

IdP 夥伴屬性資料檔

若要設定特定 IdP 夥伴的 IdP 夥伴屬性設定檔,請使用下列命令:若要設定 IdP 夥伴使用特定的 IdP 夥伴屬性設定檔,請執行:

範例

下列命令可用來新增 OpenID 2.0 OP 夥伴 (在此範例中,我們選擇不指定「識別存放區」):

addOpenID20IdPFederationPartner("acmeOP", "https://acme.com/openid/sso", "https://acme.com/openid/xrds") setIdPPartnerMappingAVribute("acmeOP", "http://axschema.org/contact/email", "mail"

OpenID for Google / Yahoo

OAM 管理工具提供簡單的方法,可將 Google 或 Yahoo 新增為 OpenID 2.0 OP/IdP。OAM 會建立必要的使用者自建物件,以透過 OpenID 協定在 Google 或 Yahoo 執行聯合 SSO。

若為 Google:

Yahoo

OAM 管理主控台

若要將 Google 或 Yahoo 建立為新的 OpenID 2.0 IdP/OP 合作夥伴,請執行下列步驟:

  1. 前往「OAM 管理主控台」:http(s)://oam-admin-host:oam-adminport/oamconsole
  2. 瀏覽至 Identity Federation、服務提供者管理
  3. 按一下建立身分識別提供者夥伴按鈕。
  4. 在「建立」畫面中:
    1. 輸入夥伴的名稱。
    2. 選取 OpenID 2.0 作為協定。
  5. 選取
    • 如果您要新增 Google,Google 提供者預設值
    • 若要新增 Yahoo, Yahoo 提供者預設值
  6. 按一下儲存

OAM_Admin_Console_Google_Yahoo.jpg 圖解說明

WLST

若要使用 OAM WLST 命令建立 Google 或 Yahoo 作為新的 OpenID 2.0 IdP/OP 合作夥伴,請執行下列步驟:

  1. 執行以下步驟來輸入 WLST 環境:$IAM_ORACLE_HOME/common/bin/wlst.sh
  2. 連線「WLS 管理」伺服器:connect()
  3. 瀏覽至「網域程式實際執行」分支:domainRuntime()
  4. 建立 OpenID 2.0 OP 合作夥伴:

其他學習資源

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

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