Adfs

將 AD 屬性作為 AD FS 聲明發送到 Shibboleth SP 屬性

  • June 23, 2015

我設置了一個 AD FS 聲明提供程序,並且一個 Shibboleth SP 成功地對其進行了身份驗證。

我正在嘗試將 Active Directory 屬性發送到 SP。

我按照這篇文章嘗試發送聲明: https ://technet.microsoft.com/en-us/library/gg317734(v=ws.10).aspx

相關部分是Step 2: Configure AD FS 2.0 as the Identity Provider and Shibboleth as the Relying Party–> Configure AD FS 2.0–> Edit Claim Rules for Relying Party Trust–> To configure eduPerson claims for sending to a relying party trust

在第 16 步中,它聲明我應該粘貼或鍵入以下內容(並將其包含在 2 個程式碼塊中):

c:[Type == "http://schemas.xmlsoap.org/claims/Group", Value == "Domain Users"]

=> issue(Type = "urn:oid:1.3.6.1.4.1.5923.1.1.1.9", Value = "member@contoso.com", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");

我相信這是一個單一的陳述(如果我錯了,請糾正我)所以我的條目如下:

在此處輸入圖像描述

我正在使用 givenName 進行測試,所以我添加了以下內容: 在此處輸入圖像描述

在 Shibboleth SP 機器上,我attribute-map.xml通過添加以下內容進行了編輯,然後重新啟動了 Shibboleth 服務:

<Attribute name="urn:mace:dir:attribute-def:GivenName" id="GivenName"/>

當我瀏覽該網站並使用 AD FS 重新進行身份驗證時,我沒有看到 givenName 顯示。我有一個輸出所有標題及其值的索引文件。


編輯:我的問題的解決方案


我讓 UPN 作為 epPN 發送。上述規則(文章中的規則)有效,但我必須attribute-policy.xml在 Shibboleth SP 上編輯以禁用範圍規則,因為我沒有正確設置該部分。

我在attribute-policy.xml

afp:AttributeRule attributeID="eppn">
   <afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>

是的,索賠規則(顯示為兩行)是一個“聲明”。它以’;‘結尾。即,您將兩行都添加到相同的自定義規則中。

對於每個帶有對象標識符 uri 的已發布(發送)聲明(屬性),您需要添加自定義規則(在 AD 搜尋規則下方)。也就是說,如果您想要“urn:oasis:names:tc:SAML:2.0:attrname-format:uri”。如果你只想要 oid uri,那麼在“Claim Descriptions”中定義 Clam 就足夠了。

通常我會在程序上使用一些細微的變化。我使用 UI 編寫搜尋規則,然後將規則(從“查看規則語言”)複製到自定義規則。在複製的自定義規則中,我將“問題”更改為“添加”。然後我刪除了原來的搜尋規則。這避免了向 Shib 發送 URL 和 URN 聲明。

引用自:https://serverfault.com/questions/700126