[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[upki-fed:00668] 属性でなくNameIDにユーザ識別子を入れてSPに渡す方法



西村です。

これまで学認では、ユーザに関する情報は属性(Attribute)としてIdPからSP
へ渡すものとして説明してきましたが、非ShibbolethのSP側SAML実装では、
属性ではなくNameIDというものを介してユーザ識別子を渡すように要求する
ものがあります。つまり、通常のePPN等属性を介した受け渡しではうまく機
能しません。
このようなSPに対してeduPersonPrincipalName(ePPN)属性の値をNameIDに
入れて渡す方法を、書きましたのでご紹介します。(メール末尾のURL)

ePPNを例としていますが、生のuidやその他の識別子を送る場合も基本的
には同じです。グローバルな設定とするのではなく、個々のSPに対して
フィルタ設定を行なってください。

なお、入れ物(ePPN属性として送るかNameIDとして送るか)が異なるだけ
で、ePPNを送るという行為には違いがありません。個人情報の取り扱いは
くれぐれも慎重にお願いします。
(NameIDを暗号化する設定項目があったりもしますので厳密には異なる場合
がありますが、暗号化を1回かけるか2回かけるか程度の違いです)

なお、デフォルト設定ではNameIDには何も入らないということではなく、
transientIdというものが入って受け渡されます。transientIdは、いわゆる
IdPにおけるセッションIDのようなもので、IdPで認証するたびに異なるIDが
割り当てられます。
主に、SP側でのインシデント対応時のユーザ特定に用いられます。(電子
ジャーナルなど、SP側でユーザを識別していない場合の話で、特定のために
はIdP側の協力が必要です。)

特定のSPに対しePPNをNameIDに入れて送る設定方法 - GakuNinShare
https://meatwiki.nii.ac.jp/confluence/pages/viewpage.action?pageId=10226458#id-%E8%A8%AD%E5%AE%9A%E3%83%BB%E9%81%8B%E7%94%A8%E3%83%BB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA-%E7%89%B9%E5%AE%9A%E3%81%AESP%E3%81%AB%E5%AF%BE%E3%81%97ePPN%E3%82%92NameID%E3%81%AB%E5%85%A5%E3%82%8C%E3%81%A6%E9%80%81%E3%82%8B%E8%A8%AD%E5%AE%9A%E6%96%B9%E6%B3%95

自分で接続してみたわけではありませんが、Google Apps, Office 365, 
Salesforce, WebExで、NameID経由でユーザ識別子を受け渡すという情報
があります。すでに接続されているみなさまにおきましては、このようなSP
と接続する場合の注意点等ありましたらお知らせください。

-- 
西村健
国立情報学研究所 TEL:03-4212-2890