English / 日本語
ユーザーがGakuNin RDMを利用するには、貴機関が運用するShibboleth IdPにおいて、ユーザーの属性値を本サービスのSPへ送出するための設定が必要となります。
前提条件
- IdPが学認(運用フェデレーション)に登録済みであることが必要です。運用フェデレーションへの参加登録が完了していない場合は別途ご相談ください。
- この説明はIdPが学認技術ガイドに記載された手順で構築されていることを想定しています。IdPが貴機関固有の方法でインストールされている場合はファイルパス等を適宜読み替えてください。
必要な情報
entityID
https://accounts.rdm.nii.ac.jp/shibboleth-sp | GakuNin RDM 本体 | |
https://admin.rdm.nii.ac.jp/shibboleth-sp | GakuNin RDM 管理画面 | |
https://jupyter.cs.rcos.nii.ac.jp/shibboleth-sp | GakuNin RDM データ解析機能 |
送出する属性値
本体 | 管理画面 | データ解析機能 | |
---|---|---|---|
eduPersonPrincipalName | 必須 | 必須 | 必須 |
eduPersonEntitlement | 任意 | 必須 *1 | 任意 |
任意 | 任意 | 必須 *2 | |
displayName | 任意 *2 | 任意 *2 | 任意 |
organizationName | 任意 *2 | 任意 *2 | 任意 |
organizationalUnitName | 任意 *2 | 任意 *2 | 任意 |
*1 管理機能の設定で「GakuNinRDMAdmin」をeduPersonEntitlement属性に記述してください。
*2 不正利用への対応に備えて必須としています。
*3 今後の機能拡張において参照される可能性があります。
メタデータの更新
メタデータの自動更新が有効になっていない場合、以下の手順でメタデータのキャッシュファイルを更新します。
- キャッシュファイルを見つけます。通常、 /opt/shibboleth-idp/metadata/gakunin-metadata.xml にあります。
- キャッシュファイルを開き、「https://jupyter.cs.rcos.nii.ac.jp/shibboleth-sp」という文字列を検索します。
- 見つからない場合、 https://metadata.gakunin.nii.ac.jp/gakunin-metadata.xml から最新のメタデータを取得し、キャッシュファイルを置き換えます。
属性送出の設定
以下の手順でShibboleth IdPの設定ファイルを編集します。詳細は学認技術ガイドを参照してください。
attribute-resolverの設定
attribute-resolver.xml ファイルの変更を参考に、以下の設定を行います。
- /opt/shibboleth-idp/conf/attribute-resolver.xml を開き、「idを開きます。
「id="eduPersonPrincipalName"
」という文字列を検索します。次の XML 要素が有効である(コメントアウトされていない)ならばOKです。 → 」という文字列を検索し、次のXML要素が有効である(コメントアウトされていない)ことを確認します。→ 参考: eduPersonPrincipalName
コード ブロック <resolver:AttributeDefinition xsi:type="ad:Scoped" id="eduPersonPrincipalName" scope="%{idp.scope}" sourceAttributeID="uid"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML1ScopedString" name="urn:mace:dir:attribute-def:eduPersonPrincipalName" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2ScopedString" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.6" friendlyName="eduPersonPrincipalName" encodeType="false" /> </resolver:AttributeDefinition>
データ解析機能を利用する場合、「id="mail"」も同様に有効であることを確認します。 → 」も同様に有効であることを確認します。→ 参考: mail
コード ブロック <resolver:AttributeDefinition xsi:type="ad:Simple" id="mail" sourceAttributeID="mail"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:mail" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:0.9.2342.19200300.100.1.3" friendlyName="mail" encodeType="false" /> </resolver:AttributeDefinition>
管理画面を利用する場合、「id="eduPersonEntitlement"」という文字列を検索し、次のXML要素が無効である(コメントアウトされている)ことを確認します。※
コード ブロック <!-- <resolver:AttributeDefinition xsi:type="ad:Simple" id="eduPersonEntitlement" sourceAttributeID="eduPersonEntitlement"> <resolver:Dependency ref="staticEntitlementCommonLibTerms" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:eduPersonEntitlement" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" friendlyName="eduPersonEntitlement" encodeType="false" /> </resolver:AttributeDefinition> -->
この直後に次の内容を追記してください。
コード ブロック <resolver:AttributeDefinition xsi:type="ad:Simple" id="eduPersonEntitlement" sourceAttributeID="eduPersonEntitlement"> <resolver:Dependency ref="myLDAP" /> <resolver:AttributeEncoder xsi:type="enc:SAML1String" name="urn:mace:dir:attribute-def:eduPersonEntitlement" encodeType="false" /> <resolver:AttributeEncoder xsi:type="enc:SAML2String" name="urn:oid:1.3.6.1.4.1.5923.1.1.1.7" friendlyName="eduPersonEntitlement" encodeType="false" /> </resolver:AttributeDefinition>
もし、※の時点で見つかったXML要素が有効である(コメントアウトされていない)場合は、別のサービスに対してeduPersonEntitlement属性を送出するよう設定されている可能性があります。別途NII担当者にご相談ください。
attribute-filterの設定
attribute-filter.xml ファイルの変更を参考に、以下の設定を行います。
/opt/shibboleth-idp/conf/attribute-filter.xml を開き、「</AttributeFilterPolicyGroup>」という文字列を検索します。
見つかったタグの直前に次のXML要素を追加します。
コード ブロック <AttributeFilterPolicy id="PolicyforGakuNinRDM"> <PolicyRequirementRule xsi:type="Requester" value="https://accounts.rdm.nii.ac.jp/shibboleth-sp" /> <AttributeRule attributeID="eduPersonPrincipalName"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> </AttributeFilterPolicy>
データ解析機能を利用する場合、次のXML要素も追加します。
コード ブロック <AttributeFilterPolicy id="PolicyforGakuNinFCS"> <PolicyRequirementRule xsi:type="Requester" value="https://jupyter.cs.rcos.nii.ac.jp/shibboleth-sp" /> <AttributeRule attributeID="eduPersonPrincipalName"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> <AttributeRule attributeID="mail"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> </AttributeFilterPolicy>
管理画面を利用する場合、次のXML要素も追加します。
コード ブロック <AttributeFilterPolicy id="PolicyforGakuNinRDMAdmin"> <PolicyRequirementRule xsi:type="Requester" value="https://admin.rdm.nii.ac.jp/shibboleth-sp" /> <AttributeRule attributeID="eduPersonPrincipalName"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> <AttributeRule attributeID="eduPersonEntitlement"> <PermitValueRule xsi:type="ANY" /> </AttributeRule> </AttributeFilterPolicy>
設定完了
- Shibboleth IdP サービスを再起動します。
- 再起動が完了したら、NII担当者にご連絡ください。NII側でembeddedDSの設定を行います。
動作確認
- https://jupyter.cs.rcos.nii.ac.jp/ にブラウザでアクセスします。
- 認証画面を経て https://jupyter.cs.rcos.nii.ac.jp/hub/home にリダイレクトされればOKです。
問い合わせ先
国立情報学研究所 オープンサイエンス基盤研究センター
オンライン分析システム担当 藤原一毅 <cs-support@nii.ac.jp>