web-dev-qa-db-ja.com

AD属性をADとして送信FSクレームをShibbolethにSP属性

AD FSクレームプロバイダーが設定されており、Shibboleth SPそれに対して正常に認証されています。

ActiveDirectory属性を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");

私はそれが単一のステートメントであることを意図していたと信じています(私が間違っている場合は私を訂正してください)ので、私のエントリは次のとおりです:

enter image description here

私はgivenNameでテストしているので、以下を追加しました。 enter image description here

Shibboleth SPマシンで、以下を追加してattribute-map.xmlを編集し、Shibbolethサービスを再起動しました。

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

Webサイトを参照し、AD FSで再認証したときに、givenNameが表示されていません。すべてのヘッダーとその値を出力するインデックスファイルがあります。


編集:私の問題の解決策


UPNをepPNとして送信してもらいました。上記のルール(記事のルール)は機能しましたが、スコープルールがないため、Shibboleth SPのattribute-policy.xmlを編集してスコープルールを無効にする必要がありました。適切に設定します。

attribute-policy.xmlの次の行をコメントアウトしました

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

はい、クレームルール(2行で表示)は1つの「ステートメント」です。 ';'で終わります。つまり同じカスタムルールに両方の行を追加します。

オブジェクト識別子uriを使用して発行された(送信)クレーム(属性)ごとに、カスタムルール(AD検索ルールの下)を追加する必要があります。つまり、「urn:oasis:names:tc:SAML:2.0:attrname-format:uri」が必要な場合です。 oid uriだけが必要な場合は、「ClaimDescriptions」でハマグリを定義するだけで十分です。

通常、私はプログラムのわずかなバリエーションを使用します。 UIを使用して検索ルールを記述しますが、ルールを(「ルール言語の表示」から)カスタムルールにコピーします。コピーしたカスタムルールで、「issue」を「add」に変更します。次に、元の検索ルールを削除します。これにより、URLとURNの両方のクレームがShibに送信されるのを回避できます。

2
paullem