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");
これは単一のステートメントとして意図されていたと思います (間違っていたら訂正してください)。そのため、私のエントリは次のとおりです。
givenName を使用してテストしているので、以下を追加しました。
Shibboleth SP マシンで、attribute-map.xml
以下を追加して編集し、Shibboleth サービスを再起動しました。
<Attribute name="urn:mace:dir:attribute-def:GivenName" id="GivenName"/>
Web サイトを参照して AD FS で再認証すると、givenName が表示されません。すべてのヘッダーとその値を出力するインデックス ファイルがあります。
編集: 私の問題の解決策
UPN を epPN として送信することができました。上記のルール (記事のルール) は機能しましたが、attribute-policy.xml
その部分が正しく設定されていなかったため、Shibboleth SP を編集してスコープ ルールを無効にする必要がありました。
私は以下の行をコメントアウトしましたattribute-policy.xml
afp:AttributeRule attributeID="eppn">
<afp:PermitValueRuleReference ref="ScopingRules"/>
</afp:AttributeRule>
答え1
はい、クレーム ルール (2 行で表示) は 1 つの「ステートメント」です。これは「;」で終わります。つまり、両方の行を同じカスタム ルールに追加します。
オブジェクト識別子 uri を持つ発行 (送信) クレーム (属性) ごとに、カスタム ルール (AD 検索ルールの下) を追加する必要があります。つまり、"urn:oasis:names:tc:SAML:2.0:attrname-format:uri" が必要な場合です。oid uri だけが必要な場合は、"クレームの説明" でクレームを定義するだけで十分です。
通常、私はプログラムを少し変更して使用します。UI を使用して検索ルールを作成しますが、そのルールを (「ルール言語の表示」から) カスタム ルールにコピーします。コピーしたカスタム ルールで、「問題」を「追加」に変更します。その後、元の検索ルールを削除します。これにより、URL クレームと URN クレームの両方が Shib に送信されなくなります。