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

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

我設定了 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 = "[email protected]", Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");

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

在此輸入影像描述

我正在使用給定的名稱進行測試,因此我添加了以下內容: 在此輸入影像描述

在 Shibboleth SP 電腦上,我attribute-map.xml透過新增以下內容進行編輯,然後重新啟動 Shibboleth 服務:

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

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


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


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

我註解掉了以下幾行attribute-policy.xml

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

答案1

是的,聲明規則(以兩行顯示)是一個「聲明」。它以“;”結尾。即,您將這兩行新增至同一自訂規則。

對於每個帶有物件標識符 uri 的發出(發送)聲明(屬性),您需要新增自訂規則(位於 AD 搜尋規則下方)。也就是說,如果您想要「urn:oasis:names:tc:SAML:2.0:attrname-format:uri」。如果您只想要 oid uri,那麼在「Claim Descriptions」中定義 clam 就足夠了。

通常我會在程式上稍加修改。我使用 UI 編寫搜尋規則,然後將規則(從「查看規則語言」)複製到自訂規則。在複製的自訂規則中,我將“問題”更改為“新增”。然後我刪除原來的搜尋規則。這可以避免將 URL 和 URN 聲明同時發送給 Shib。

相關內容