Shibboleth IdP 3
Shibboleth IdP 3に関する情報をまとめているページです。
- 1 動作確認環境
- 2 設定
- 2.1 メタデータ
- 2.2 認証
- 2.3 属性・NameID
- 2.4 画面のカスタマイズ
- 2.5 組み込みのユーザ同意機能について
- 2.5.1 ユーザ同意の情報をMySQLに保存する設定
- 2.5.2 属性毎に同意を得る設定
- 2.5.3 送信済み属性の属性値が変化した場合に再同意を得る設定
- 2.5.4 同意機能の無効化設定
- 2.6 ログレベルの変更
- 2.7 アクセス制限(Shibboleth IdP 2のFPSP機能)
- 2.8 クラスタリング
- 2.9 Full SLO(Single Logout)の設定方法
- 2.10 クライアントIPアドレスチェックの無効化
- 2.11 IdPv3アップデートに関する情報
- 3 トラブルシューティング(IdPv3)
- 4 個別ページ(それぞれの内容は基本的に上記内容に埋め込まれています)
- 5 参考
動作確認環境
OS | Java | Servlet | IdP |
|---|---|---|---|
CentOS 7.2 | OpenJDK 7 (CentOS 7.2付属) | Apache Tomcat 7.0.54 (CentOS 7.2付属) | Shibboleth IdP 3.2.1 |
CentOS 6.5 | OpenJDK 7 (CentOS 6.5付属) | Apache Tomcat 7.0.62 | Shibboleth IdP 3.2.1 |
CentOS 6.5 | OpenJDK 7 (CentOS 6.5付属) | Apache Tomcat 7.0.62 | Shibboleth IdP 3.1.2 |
CentOS 6.5 | Oracle Java 8u45 + JCE Unlimited Strength Jurisdiction Policy Files | Apache Tomcat 8.0.23 | Shibboleth IdP 3.1.2 |
設定
メタデータ
認証
属性・NameID
画面のカスタマイズ
組み込みのユーザ同意機能について
Shibboleth IdP 3には、uApprove相当のユーザ同意機能が組み込まれています。uApproveJPとの違いはShibboleth IdP 3のユーザ同意機能とuApproveJPとの相違点を参照してください。
ユーザ同意の情報をMySQLに保存する設定
MySQL上にデータベース shibboleth が存在することを前提としております。また、MySQL Connector/J (mysql-connector-java-5.1.xx-bin.jar)をインストールしておいてください。
StorageRecordsテーブルの作成
StorageRecordsテーブルを作成します。conf/global.xml
shibboleth.JPAStorageServiceを定義します。persistent-idの設定(storedId)が設定済みの場合、最後のMyDataSourceの定義は重複となるため不要です。conf/idp.propertiesidp.consent.StorageServiceをconf/global.xmlで定義したshibboleth.JPAStorageServiceに変更します。
属性毎に同意を得る設定
SPの必須属性にもチェックボックスが表示されるため、利用者がSPの必須属性のチェックを外して属性を送信しなかった場合にSPを利用できない可能性があります。これが問題になる場合はuApproveJPの利用をご検討ください。
conf/idp.propertiesidp.consent.allowPerAttributeをtrueに設定することで、属性毎にチェックボックスを付加することができます。
送信済み属性の属性値が変化した場合に再同意を得る設定
conf/idp.propertiesidp.consent.compareValuesをtrueに設定することで、属性値が変化した場合に再度属性選択画面を表示することができます。
同意機能の無効化設定
conf/relying-party.xmlbean[@parent="Shibboleth.SSO"](SAML1)とbean[@parent="SAML2.SSO"](SAML2)にあるp:postAuthenticationFlows="attribute-release"を削除します。
ログレベルの変更
Shibboleth IdP 3.2からの新機能です。
Shibboleth IdP 3.2より、ログレベルの変更がconf/idp.propertiesで行えるようになりました。
conf/idp.properties設定できるプロパティ名はconf/logback.confの先頭を参照してください。
アクセス制限(Shibboleth IdP 2のFPSP機能)
Shibboleth IdP 2におけるFPSPによるアクセス制御を行うには、GakuNinShibInstall > 技術ガイド > 実習セミナー > Shibboleth環境構築セミナー(活用編) > Shibboleth IdPによるアクセス制限を参照してください。
クラスタリング
Shibboleth IdP 3においてクラスタリングを行うには、クラスタリング設定を参照してください。
Full SLO(Single Logout)の設定方法
以下の個別ページを参照してください。
⇒Full SLO(Single Logout)の設定方法
クライアントIPアドレスチェックの無効化
IdPv3アップデートに関する情報
以下の個別ページを参照してください。
⇒IdPv3アップデートに関する情報
トラブルシューティング(IdPv3)
個別ページ(それぞれの内容は基本的に上記内容に埋め込まれています)
参考
[SWITCH] Shibboleth Identity Provider (IdP) 3 Installation Guide
[SWITCH] Shibboleth IdPv3: Considerations in the Context of SWITCHaai
3.1 Operating Systems: Linux long-term support (Ubuntu Server 14.04 LTS / Red Hat Enterprise Linux 7 / CentOS 7)
3.2 Java & Servlet Container: OpenJDK 7, Apache Tomcat 7 & Apache HTTP Server 2.4
3.3 Database for persistentIDs and user consent: PostgreSQL
3.4 IdP Session Storage: Client Session Storage with Cookies
「Shibboleth IdPバージョン3に向けたNIIの取り組み」西村 健(NII)
「Shibboleth IdP ver.3との戦い」細川 達己(慶應義塾大学)