範例:設定 SAML/WS-Fed IdP 同盟與 AD FS 進行 B2B 共同作業
適用於: 員工租用戶 外部租用戶 (深入了解)
注意
Microsoft Entra 外部 ID 中的直接同盟現在稱為 SAML/WS-Fed 識別提供者 (IdP) 同盟。
本文說明如何使用 Active Directory 同盟服務 (AD FS) 作為 SAML 2.0 或 WS-Fed IdP,來設定 SAML/WS-Fed IdP 同盟。 若要支援同盟,必須在 IdP 設定某些屬性和宣告。 為了說明如何設定 IdP 同盟,我們會使用 Active Directory 同盟服務 (AD FS) 作為範例。 我們將示範如何將 AD FS 設定為 SAML IdP 和 WS-Fed IdP。
注意
本文說明如何設定 SAML 和 WS-Fed 的 AD FS,以供說明之用。 針對 IdP 是 AD FS 的同盟整合,我們建議使用 WS-Fed 作為通訊協定。
設定 SAML 2.0 同盟的 AD FS
Microsoft Entra B2B 可設為與使用 SAML 通訊協定的 IdP 同盟,但有下列特定需求。 為說明 SAML 設定步驟,本節說明如何設定 SAML 2.0 的 AD FS。
若要設定同盟,則必須在來自 IdP 的 SAML 2.0 回應中收到下列屬性。 這定這些屬性的方式可以是連結至線上安全性權杖服務 XML 檔案,或手動輸入。 建立測試 AD FS 執行個體中的步驟 12 說明如何尋找 AD FS 端點或如何產生中繼資料 URL,例如 https://fs.iga.azure-test.net/federationmetadata/2007-06/federationmetadata.xml
。
屬性 | 值 |
---|---|
AssertionConsumerService | https://login.microsoftonline.com/login.srf |
適用對象 | urn:federation:MicrosoftOnline |
Issuer | 合作夥伴 IdP 的簽發者 URI,例如 http://www.example.com/exk10l6w90DHM0yi... |
下列宣告必須在 IdP 簽發的 SAML 2.0 權杖中設定:
屬性 | 值 |
---|---|
NameID Format | urn:oasis:names:tc:SAML:2.0:nameid-format:persistent |
emailaddress | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
下一節說明如何使用 AD FS 作為 SAML 2.0 IdP 的範例,來設定必要的屬性和宣告。
開始之前
開始此程序之前,AD FS 伺服器必須經過設定並可正常運作。
新增宣告描述
在 AD FS 伺服器上,選取 [工具] > [AD FS 管理]。
在瀏覽窗格中,選取 [服務] > [宣告描述]。
在 [動作] 底下,選取 [新增宣告描述]。
在 [新增宣告描述] 視窗中,指定下列值:
- 顯示名稱:持續性識別碼
- 宣告識別碼:
urn:oasis:names:tc:SAML:2.0:nameid-format:persistent
- 選取 [在同盟中繼資料中發佈此宣告描述,作為此同盟服務可接受的宣告類型] 的核取方塊。
- 選取 [在同盟中繼資料中發佈此宣告描述,作為此同盟服務可傳送的宣告類型] 的核取方塊。
選取 [確定]。
新增信賴憑證者信任
在 AD FS 伺服器上,移至 [工具] > [AD FS 管理]。
在瀏覽窗格中,選取 [信賴憑證者信任]。
在 [動作] 底下,選取 [新增信賴憑證者信任]。
在 [新增信賴憑證者信任] 中,選取 [宣告感知],然後選取 [啟動]。
在 [選取資料來源] 區段中,選取 [匯入發佈到線上或區域網路的信賴憑證者相關資料] 核取方塊。 輸入此同盟中繼資料 URL:
https://nexus.microsoftonline-p.com/federationmetadata/saml20/federationmetadata.xml
。 選取 [下一步]。將其他設定保留其預設選項。 繼續選取 [下一步],最後選取 [關閉] 以關閉精靈。
在 [AD FS 管理] 的 [信賴憑證者信任] 底下,以滑鼠右鍵按一下您剛才建立的信賴憑證者信任,然後選取 [屬性]。
在 [監視] 索引標籤中,取消核取 [監視信賴憑證者] 方塊。
在 [識別碼] 索引標籤中,使用服務合作夥伴 Microsoft Entra 租用戶的租用戶識別碼,在 [信賴憑證者識別碼] 文字方塊中輸入
https://login.microsoftonline.com/<tenant ID>/
。 選取 [新增]。注意
請務必在租用戶識別碼後面包含斜線 (/),例如:
https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/
。選取 [確定]。
建立宣告規則
以滑鼠右鍵按一下您建立的信賴憑證者信任,然後選取 [編輯宣告簽發原則]。
在 [編輯宣告規則] 精靈中,選取 [新增規則]。
在 [宣告規則範本] 中,選取 [傳送 LDAP 屬性作為宣告]。
在 [設定宣告規則] 中,指定下列值:
- 宣告規則名稱:電子郵件宣告規則
- 屬性存放區:Active Directory
- LDAP 屬性:電子郵件地址
- 傳出宣告類型:電子郵件地址
選取 [完成]。
選取新增規則。
在 [宣告規則範本] 中,選取 [轉換傳入宣告],然後選取 [下一步]。
在 [設定宣告規則] 中,指定下列值:
- 宣告規則名稱:電子郵件轉換規則
- 傳入宣告類型:電子郵件地址
- 傳出宣告類型:名稱識別碼
- 傳出名稱識別碼格式:持續性識別碼
- 選擇傳遞所有宣告值。
選取 [完成]。
[編輯宣告規則] 窗格會顯示新的規則。 選取套用。
選取 [確定]。 AD FS 伺服器現在已設定為使用 SAML 2.0 通訊協定的同盟。
設定 WS-Fed 同盟的 AD FS
Microsoft Entra B2B 可設定為與使用 WS-Fed 通訊協定的 IdP 同盟,但有下列特定需求。 目前已通過 Microsoft Entra 外部 ID 相容性測試的兩個 WS-Fed 提供者包括 AD FS 和 Shibboleth。 我們將在這裡使用 Active Directory 同盟服務 (AD FS) 作為 WS-Fed IdP 的範例。 如需建立 WS-Fed 相容提供者與 Microsoft Entra 外部 ID 之間的信賴憑證者信任的詳細資訊,請下載 Microsoft Entra 識別提供者相容性文件。
若要設定同盟,則必須在來自 IdP 的 WS-Fed 訊息中收到下列屬性。 這定這些屬性的方式可以是連結至線上安全性權杖服務 XML 檔案,或手動輸入。 建立測試 AD FS 執行個體中的步驟 12 說明如何尋找 AD FS 端點或如何產生中繼資料 URL,例如 https://fs.iga.azure-test.net/federationmetadata/2007-06/federationmetadata.xml
。
屬性 | 值 |
---|---|
PassiveRequestorEndpoint | https://login.microsoftonline.com/login.srf |
適用對象 | urn:federation:MicrosoftOnline |
Issuer | 合作夥伴 IdP 的簽發者 URI,例如 http://www.example.com/exk10l6w90DHM0yi... |
IdP 所發行 WS-同盟權杖的必要屬性為:
屬性 | 值 |
---|---|
ImmutableID | http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID |
emailaddress | http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress |
下一節說明如何使用 AD FS 作為 WS-Fed IdP 的範例來設定必要的屬性和宣告。
開始之前
開始此程序之前,AD FS 伺服器必須經過設定並可正常運作。
新增信賴憑證者信任
在 AD FS 伺服器上,移至 [工具] > [AD FS 管理]。
在瀏覽窗格中,選取 [信任關係] > [信賴憑證者信任]。
在 [動作] 底下,選取 [新增信賴憑證者信任]。
在 [新增信賴憑證者信任] 精靈中,選取 [宣告感知],然後選取 [啟動]。
在 [選取資料來源] 區段中,選取 [手動輸入信賴憑證者相關資料],然後選取 [下一步]。
在 [指定顯示名稱] 頁面中,於 [顯示名稱] 中輸入名稱。 您可以選擇性地在 [附註] 區段中輸入此信賴憑證者信任的描述。 選取 [下一步]。
如果您有選擇性的權杖加密憑證,請在 [設定憑證] 頁面上,選取 [瀏覽] 找出您的憑證檔案。 選取 [下一步]。
在 [設定 URL] 頁面中,選取 [啟用 WS-同盟被動式通訊協定的支援] 核取方塊。 在 [信賴憑證者 WS-同盟被動通訊協定 URL] 下,輸入下列 URL:
https://login.microsoftonline.com/login.srf
選取 [下一步]。
在 [設定識別碼] 頁面中,輸入下列 URL,然後選取 [新增]。 在第二個 URL 中,輸入服務合作夥伴 Microsoft Entra 租用戶的租用戶識別碼。
urn:federation:MicrosoftOnline
https://login.microsoftonline.com/<tenant ID>/
注意
請務必在租用戶識別碼後面包含斜線 (/),例如:
https://login.microsoftonline.com/aaaabbbb-0000-cccc-1111-dddd2222eeee/
。選取 [下一步]。
在 [選擇存取控制原則] 頁面中選擇原則,然後選取 [下一步]。
在 [準備新增信任] 頁面中檢閱設定,然後選取 [下一步] 以儲存您的信賴憑證者信任資訊。
在 [完成] 頁面中,按一下 [關閉]。 選取 [信賴憑證者信任],然後選取 [編輯宣告發行原則]。
建立宣告規則
選取您剛才建立的信賴憑證者信任,然後選取 [編輯宣告簽發原則]。
選取新增規則。
選取 [傳送 LDAP 屬性作為宣告],然後選取 [下一步]。
在 [設定宣告規則] 中,指定下列值:
- 宣告規則名稱:電子郵件宣告規則
- 屬性存放區:Active Directory
- LDAP 屬性:電子郵件地址
- 傳出宣告類型:電子郵件地址
選取 [完成]。
在同一個 [編輯宣告規則] 精靈中,選取 [新增規則]。
選取 [使用自訂規則傳送宣告],然後選取 [下一步]。
在 [設定宣告規則] 中,指定下列值:
- 宣告規則名稱:簽發不可變的識別碼
- 自訂規則:
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"] => issue(store = "Active Directory", types = ("http://schemas.microsoft.com/LiveID/Federation/2008/05/ImmutableID"), query = "samAccountName={0};objectGUID;{1}", param = regexreplace(c.Value, "(?<domain>[^\\]+)\\(?<user>.+)", "${user}"), param = c.Value);
選取 [完成]。
選取 [確定]。 AD FS 伺服器現在已設定為使用 WS-Fed 的同盟。
下一步
接下來,您可以在 Azure 入口網站或使用 Microsoft Graph API,在 Microsoft Entra 外部 ID 設定 SAML/WS-Fed IdP 同盟。