AD FSクレームプロバイダーが設定されており、Shibboleth SPは正常に認証されています。Shibbolethによって保護されているサイトにログインすると、インデックスに次のように表示されます。すべてのヘッダー。期待どおりにUPNを受信していますが、姓やsAMAccountNameなどの他の属性を取得して送信できません。
現在3つのクレームルールがあります:
ルール1:
ルール2:
ルール3:
Shibboleth SPマシンのログから、snがOID属性として送信されているようには見えません。
Attribute-map.xmlを編集してeppnへの参照を削除すると、shibdログに次のようになります。
2015-06-23 11:29:08 INFO Shibboleth.AttributeExtractor.XML [1]: skipping unmapped SAML 2.0 Attribute with Name: urn:oid:1.3.6.1.4.1.5923.1.1.1.6
Shibdログの姓またはsnについて、上記の出力と同様の言及がないため、「TransformSN」ルールが正しく記述されていないと思われます。
更新された情報:
ルール1を手動でsn
と入力することから、ドロップダウンオプションsurname
を選択することまで変更することで、姓を機能させることができました。ドロップダウンなしで他のADフィールドを機能させるには、何をする必要がありますか?
streetAddress
などのフィールドを追加しています。ルール1では、LDAP属性のstreetaddressと送信クレームタイプを手動で入力しました。
次に、追加のルールを追加しました。
c:[Type == "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress"]
=> issue(Type = "urn:oid:2.5.4.232", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress
が正しいかどうかはわかりませんが、値がマッピングされていません。
ドロップダウンから選択できないLDAP属性を機能させるにはどうすればよいですか?
編集2:
[ルール言語の表示]を選択した結果を追加するのを忘れました(以下のMatthieuからの要求による):
c:[Type == "http://schemas.Microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "http://schemas.Microsoft.com/ws/2008/06/identity/claims/windowsaccountname", "streetaddress"), query = ";userPrincipalName,sn,givenName,sAMAccountName,streetaddress;{0}", param = c.Value);
streetaddress
しか取得していないようですが、他のすべての値にはスキーマがあります。スキーマがないため、ifステートメントがhttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress
を検索しているため、streetaddress
の変換ルールと一致しません。ドロップダウン選択から選択されていない値に対して何をすべきですか?
私はそれを理解しました:
変換ルールを次のように変更しました。
c:[Type == "streetaddress"]
=> issue(Type = "urn:oid:2.5.4.232", Value = c.Value, Properties["http://schemas.xmlsoap.org/ws/2005/05/identity/claimproperties/attributename"] = "urn:oasis:names:tc:SAML:2.0:attrname-format:uri");
Type == Aスキーマを探す代わりに、住所を入力するだけです。次に、Shibboleth SPで、Attribute-map.xmlを変更して次を追加しました。
<Attribute name="urn:oid:2.5.4.232" id="streetaddress"/>
上記のOIDは任意でした。
「TransformSN」ルールが期待どおりに機能するかどうかを確認するには、 Fiddler をインストールします。次に、 このインスペクター をインストールして、SAMLメッセージを読みやすくします。
これらのツールを使用すると、ADFSサーバーからShibbolethSPに何が送信されているかを確認できます。次に、構成エラーがどちら側にあるかがわかります。
編集:画面#1のウィンドウ下部で、[ルール言語の表示]ボタンをクリックすると何が表示されますか?右側の[送信クレームタイプ]ボックスに手動で「sn」と入力しましたか?
編集2:ボックスに入力する内容は、クレームタイプとして使用されるものとまったく同じです。 「foo」と入力すると、クレームタイプは「foo」になります。代わりに「 http:// foo 」が必要な場合は、「 http:// foo "」と入力する必要があります。長いクレームの種類が必要な場合は、ボックスにすべてを入力する代わりに、新しいクレームの説明を作成します(左側のツリーの[AD FS]-> [サービス]-> [クレームの説明]に移動します)。これにより、ドロップダウンに新しいオプションが作成され、使いやすくなります。