SeciossLinkの送信属性値をSP側で受け取る(ShibbolethSP)

schedule 2022/01/12  refresh 2023/11/08

 

はじめに

社内、学内などにSAML SP(Shibboleth SP)を構築した時に、SeciossLinkの送信属性値をどのように受け取るかを説明したいと思います。
※Shibboleth SPが構築できていることが前提となります。

 

SeciossLink側のSP設定

SeciossLinkにSAML SPを登録するときに送信属性を設定します。
ここでは、サンプルとして以下のような設定を行った場合の説明とします。

 

IDの属性:

  • urn:oasis:names:tc:SAML:2.0:nameid-format:persistent

 

ユーザーIDの属性:

  • ユーザーID

 

送信属性:
 ※属性名は、デフォルト値とします。

 

  • メールアドレス

 

Shibboleth SPの設定

/etc/shibboleth/attribute-map.xmlを編集します。


まずは、NameIDの設定について説明したいと思います。(過去記事の「Shibboleth SPを使ってSAMLに対応したサイトを作ろう」でも説明しています。)

 

SeciossLinkのデフォルトの属性名は、メール:mail、社員番号:employeeNumberとなっています。
基本的には、以下のようにnameFormatを「urn:oasis:names:tc:SAML:2.0:attrname-format:basic」を設定します。

 

<Attribute name="mail" id="mail" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"/>

 

また学認の標準設定の様にoidを属性名と設定した場合は、nameFormatを「urn:oasis:names:tc:SAML:2.0:attrname-format:uri」と設定します。


※「urn:oasis:names:tc:SAML:2.0:attrname-format:basic」では、SP側で受け取ることが出来ません。

 

<Attribute name="mail" id="urn:oid:0.9.2342.19200300.100.1.3" nameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"/>

 

※ShibbolethSPのデフォルト設定が「urn:oasis:names:tc:SAML:2.0:attrname-format:uri」を想定されているので、oid形式の属性名の場合は、省略することが出来ます。

 

<Attribute name="mail" id="urn:oid:0.9.2342.19200300.100.1.3"/>

 

まとめ

Shibboleth SPを構築して、サービスのSAML SP化を検討した時の課題になるかと思います。


こちらで説明したような設定で、SeciossLinkからの送信属性値を取得できるようにして、Webサービス側で処理を切り分ける事が可能となります。