範例:設定 SAML/WS-Fed 型識別提供者與 AD FS 的同盟
適用於:員工員工租使用者外部租使用者(深入瞭解)
注意
Microsoft Entra 外部 ID 中的直接同盟現在稱為 SAML/WS-Fed 識別提供者 (IdP) 同盟。
本文說明如何使用 Active Directory 同盟服務 (AD FS) 設定 SAML/WS-Fed IdP 同盟作為 SAML 2.0 或 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 同盟,並符合下面所列的特定需求。 目前,這兩個 WS-Fed 提供者已測試與 Microsoft Entra 外部 ID 的相容性,包括 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-Federation 被動通訊協議 的支援] 複選框。 在 [信賴憑證者 WS-Federation 被動通訊協定 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 同盟。