...
本技術ガイドでは、フェデレーションに参加して連携する設定を説明していますが、ここでは、所属機関内のみで使用するSPを構築した場合など、特定のIdP・特定のSPの間でのみ連携する設定に変更する方法を説明します。
SP側shibboleth2.xmlとIdP側relyingxmlとIdP側metadata-partyproviders.xmlを編集し、 xmlを編集し、以下のように設定します。
- SPは、DSを経由せず、特定のIdPのみ信頼する
- IdPは、特定のSPのみ信頼する
ように設定します。
shibboleth2.xmlの設定
...
shibboleth2.xmlの設定
IdPのメタデータを別途取得している場合はそのメタデータファイルを用いてください。そうでない場合は以下の手順に従ってIdPメタデータを取得してください。
情報 |
---|
もしIdPが学認の運用フェデレーションに参加している場合は、代わりに学認メタデータからIdPメタデータを自動抽出して利用することもできます。詳しくは以下をご参照ください。 この設定を行った場合、DSの参照設定無効化から続きを実行してください。 |
- テストフェデレーションに登録済みのIdPを利用する場合、学認申請システム(テストfed)にログインして該当IdPの詳細画面で「以下の内容のエンティティメタデータを取得」ボタンでメタデータを取得します。
- テストフェデレーションに参加していない場合でも、学認申請システム(テストfed)を用いてIdPメタデータを取得することが可能です。
○学認申請システム(テストfed)にアクセスして、「新規IdP申請」をクリックします。
○右側の入力に以下の必須情報を入力します。
entityID → 指定するIdPのentityID。 例: https://idp.example.ac.jp/idp/shibboleth
機関名称 → 入力例: フェデレーション大学 / The University of Federation
スコープ → SPがIdPを識別するための情報。 例: nii.ac.jp
証明書 → IdPの証明書をファイルで指定するか、もしくは MII… で始まる中身を貼り付けます。
IdP名称 → 他のIdP/SPと区別できる名称。
機関情報URL → IdP運用機関のウェブサイトURL。
連絡先 → 種別は「技術的問い合せ先(technical)」を選択して連絡先を入力してください。
○入力後、申請せずに、「以下の内容でエンティティメタデータ生成」ボタンをクリックしてください。当該IdPのメタデータが生成されます。
IdPのメタデータを取得したら、それをSP上に配置します。端末上にある場合は、当該ファイルの中身を表示し全てコピーし、SP上でvi等を実行し挿入できる状態にした上で、貼り付けてください。
- 取得したIdPのメタデータをSPの /etc/shibboleth/ (もしくは /etc/shibboleth/metadata/)に配置します。配置したIdPのメタデータファイルを参照する設定を追加し、フェデレーションのメタデータ設定を外します。どのIdPに認証要求を行うか設定し、DSの参照設定を無効にする。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
- 認証要求先のIdPを設定し、DSの参照設定を無効にします。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
(省略)
(省略)
|
...
|
...
- フェデレーションのメタデータ設定を外し、指定するSPのメタデータpartner-metadata.xmlを設置します。
...
borderColor | #cccccc |
---|---|
bgColor | #eeeeee |
borderStyle | solid |
...
|
※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。
設定変更後、httpdとshibdを再起動します。
...
- IdPのメタデータを別途取得している場合はそのメタデータファイルを用いてください。そうでない場合は、以下の手順に従ってIdPメタデータを切り出します。
- メタデータpartner-metadata.xmlを編集します。
メタデータ /var/cache/shibboleth/federation-metadata.xml を /etc/shibboleth/partner-metadata.xml にコピーします。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
cp /var/cache/shibboleth/federation-metadata.xml /etc/shibboleth/partner-metadata.xml |
partner-metadata.xml中の指定したIdPの記述以外のサーバ内容を全て削除します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
<?xml version="1.0" encoding="UTF-8" standalone="no" ?> <EntitiesDescriptor ... (省略) <!-- IdP: Your Organization Name, Your IdP Site URL, Date --> ↑最初のこの記述から指定したIdPで検索し、場所を特定します (省略) <EntityDescriptor entityID="https://test-idp1.gakunin.nii.ac.jp/idp/shibboleth"> <IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:1.1:protocol urn:mace:shibboleth:1.0 urn:oasis:names:tc:SAML:2.0:protocol"> <Extensions> <shibmd:Scope xmlns:shibmd="urn:mace:shibboleth:metadata:1.0" regexp="false">.nii.ac.jp</shibmd:Scope> <mdui:UIInfo xmlns:mdui="urn:oasis:names:tc:SAML:metadata:ui"> <mdui:Keywords xml:lang="en">category:location:seito</mdui:Keywords> </mdui:UIInfo> </Extensions> <KeyDescriptor> <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <ds:X509Data> <ds:X509Certificate> MIIE5zCCA8+gAwIBAgIISYxA1Yv0Z2IwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UE BhMCSlAxETAPBgNVBAcTCEFjYWRlbWUyMSowKAYDVQQKEyFOYXRpb25hbCBJbnN0 aXR1dGUgb2YgSW5mb3JtYXRpY3MxDTALBgNVBAsTBFVQS0kxIDAeBgNVBAsTF05J SSBPcGVuIERvbWFpbiBDQSAtIEcyMB4XDTEyMDMyNjAyMDIxNVoXDTE0MDQyNTAy (省略) <KeyDescriptor < <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#" > <ds:X509Data > <ds:X509Certificate > MIIE5zCCA8+gAwIBAgIISYxA1Yv0Z2IwDQYJKoZIhvcNAQEFBQAwfTELMAkGA1UE BhMCSlAxETAPBgNVBAcTCEFjYWRlbWUyMSowKAYDVQQKEyFOYXRpb25hbCBJbnN0 aXR1dGUgb2YgSW5mb3JtYXRpY3MxDTALBgNVBAsTBFVQS0kxIDAeBgNVBAsTF05J SSBPcGVuIERvbWFpbiBDQSAtIEcyMB4XDTEyMDMyNjAyMDIxNVoXDTE0MDQyNTAy (省略) <ContactPerson contactType="technical"> <GivenName>Your GivenName</GivenName> <SurName>Your SurName</SurName> <EmailAddress>admin@example.org</EmailAddress> </ContactPerson> </EntityDescriptor> <!-- IdP: Your Organization Name, Your IdP Site URL, Date --> </EntitiesDescriptor> <--消さないように注意 |
設定変更後、httpdとshibdを再起動します。
systemctl restart httpd |
展開 | ||
---|---|---|
| ||
| ||
パネル | ||
borderColor | #cccccc | |
bgColor | #eeeeee | borderStyle | solid
|
...
※DSを経由する設定にshibboleth2.xmlを戻したい場合は、こちらを参照してください。
...
metadata-
...
providers.xmlの設定
SPのメタデータを別途取得している場合はそのメタデータファイルを用いてください。そうでない場合は以下の手順に従ってSPメタデータを取得してください。
- テストフェデレーションに登録済みのSPを利用する場合、学認申請システム(テストFedテストfed)で承認済みのSPを利用する場合、ログインして該当SPの詳細画面で「以下の内容のエンティティメタデータを取得」ボタンでメタデータを取得します。にログインして該当SPの詳細画面で「以下の内容のエンティティメタデータを取得」ボタンでメタデータを取得します。学認申請システム
- テストフェデレーションに参加していない場合でも、学認申請システム(テストFedテストfed)に参加していない場合でも、申請システムを用いてSPメタデータを取得できます。 を用いてSPメタデータを取得することが可能です。
○学認申請システムにアクセスして、「新規SP申請」をクリックします(テストfed)にアクセスして、「新規SP申請」をクリックします。
○右側の入力に以下の必須情報を入力します。
entityID → 指定するSPのentityID。 例: https://idpsp.example.ac.jp/idp/shibboleth-sp
機関名称 → 入力例: フェデレーション大学 / The University of Federation
証明書 → SPの証明書をファイルで指定するか、もしくは MII… で始まる中身を貼り付けます。
DSからのリターンURL → DSからの戻り先となるURL。例DSからの戻り先となるURL。例: https://sp.example.ac.jp/Shibboleth.sso/DS
SP名称 → 他のIdP/SPと区別できる名称。
機関情報URL → SP運用機関のウェブサイトURL。
連絡先 → 種別は「技術的問い合せ先(technical)」を選択して連絡先を入力してください。
○入力後、申請せずに、「以下の内容でエンティティメタデータ生成」をクリックしてください。当該SPのメタデータが生成されます。○入力後、申請せずに、「以下の内容でエンティティメタデータ生成」ボタンをクリックしてください。当該SPのメタデータが生成されます。
...
SPのメタデータを取得したら、それをIdP上に配置します。端末上にある場合は、当該ファイルの中身を表示し全てコピーし、IdP上でvi等を実行し挿入できる状態にした上で、貼り付けてください。
- 取得したSPのメタデータをIdP側に設置します。SPのメタデータファイルを 取得したSPのメタデータをIdPの /opt/shibboleth-idp/metadata/ に配置し、フェデレーションのメタデータ設定を外します。 に配置します。配置したSPのメタデータファイルを参照する設定を追加し、フェデレーションのメタデータ設定を外します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
|
※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。
|
※端末のサイズによっては表記がずれる可能性がございます。画面を広くしてご覧ください。
情報 |
---|
学認参加IdPが個別の学内SPとも連携したい場合など、フェデレーションのメタデータ設定をコメントアウトせずにSPメタデータ設定を追加すれば、どちらのSPとも連携できます。 |
設定変更後、Jettyを再起動します。 設定変更後、tomcatを再起動します。
パネル | ||||||
---|---|---|---|---|---|---|
| ||||||
systemctl restart jetty |
展開 | |||
---|---|---|---|
| |||
|
※フェデレーションのメタデータの参照設定を行った設定にrelying ※フェデレーションのメタデータの参照設定を行った設定にmetadata-partyproviders.xmlを戻す場合は、こちらを参照してください。
利用するSPにアクセスし、DSを経由せず、設定したIdPに直接アクセスすること、およびIdPで認証してSPに接続できることを確認してください。