Shibboleth IdP 3に関する情報をまとめているページです。
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 |
学認メタデータの読み込みはconf/metadata-providers.xml
で設定します。
conf/metadata-providers.xml
|
学認メタデータの読み込みは
|
ローカルSPのメタデータはmetadata
以下に配置して、conf/metadata-providers.xml
で設定します。
conf/metadata-providers.xml
SP1のメタデータ sp1-metadata.xml
とSP2のメタデータ sp2-metadata.xml
をmetadata
以下に配置して、conf/metadata-providers.xml
でそれぞれのメタデータを読み込む設定例を以下に示します。
|
Shibboleth IdP 3からは、LDAPモジュールを用いたJAASによるパスワード認証に加えて、直接LDAPを参照するパスワード認証が追加されました。
デフォルトは直接LDAPを参照するパスワード認証です。
conf/ldap.properties
参照するLDAPにあわせて、Connection properties, SSL configuration, Search DN resolutionのプロパティを設定します。
|
Shibboleth IdP 3.1.2で確認した内容です。 |
conf/authn/password-authn-config.xml
<import resource="jaas-authn-config.xml" />
の行をアンコメントして、<import resource="ldap-authn-config.xml" />
の行をコメントアウトします。
<!-- Choose an import based on the back-end you want to use. --> <import resource="jaas-authn-config.xml" /> <!-- <import resource="krb5-authn-config.xml" /> --> <!-- <import resource="ldap-authn-config.xml" /> --> |
conf/authn/jaas.config
参照するLDAPにあわせて、org.ldaptive.jaas.LdapLoginModule required以降の行を設定します。
ShibUserPassAuth { /* com.sun.security.auth.module.Krb5LoginModule required; */ org.ldaptive.jaas.LdapLoginModule required ldapUrl="ldap://localhost" baseDn="ou=people,dc=example,dc=ac,dc=jp" ssl="false" userFilter="uid={user}" subtreeSearch="true" ; }; |
以下の個別ページを参照してください。
⇒LDAPサーバにStartTLSで接続する方法(LDAPサーバがCentOS 6の場合)
以下の個別ページを参照してください。
⇒複数台のLDAPサーバを参照するための方法
Shibboleth IdP 3の高度な認証設定を参照してください。
以下の個別ページを参照してください。
⇒SPに対してどのような属性が送出されるか確認する方法
NameID設定を参照してください。
NameID
とは別に//saml2:AttributeStatement/saml2:Attribute
[@FriendlyName="eduPersonTargetedID"]
としてeduPersonTargetedID
属性を送信する設定は下記の通りです。
なお、この機能はShibboleth IdP 3ではDeprecated Featuresとなっています。
computedIdでの設定を下記に示します。Shibboleth IdP 2と同じ設定で送信可能です。
conf/attribute-resolver.xml
|
conf/attribute-filter.xml
の例
|
conf/attribute-resolver.xml
のComputedIdConnectorはShibboleth IdP 3の機能を用いて、persistent-idの設定で定義したconf/saml-nameid.propertiesの
プロパティを使って書くこともできます。
conf/attribute-resolver.xml
|
storedIdでの設定を下記に示します。Shibboleth IdP 2と同じ設定で送信可能です。
conf/attribute-resolver.xml
|
conf/attribute-filter.xml
の例
|
conf/attribute-resolver.xml
のStoredIdConnectorはShibboleth IdP 3の機能を用いて、persistent-idの設定で定義したconf/global.xml
のbean MyDataSource
とconf/saml-nameid.propertiesのプ
ロパティを使って書くこともできます。
conf/attribute-resolver.xml
|
以下の個別ページを参照してください。
⇒同じ値が再割り当てされないeduPersonTargetedIDの生成方法
この機能はcomputedIdを使っている場合は使用できません。まずstoredIdを使うように設定変更してください。 |
conf/c14n/subject-c14n.xmlconf/c14n/subject-c14n.xml
の<ref bean="c14n/SAML2Persistent" />
をアンコメントします。
|
conf/relying-party.xml
bean[@parent="Shibboleth.SSO"]
にp:includeAttributeStatement="true"
を追加します。
|
ロゴをデフォルトのOur Identity Providerから機関のロゴに変更する手順は下記の通りです。
ロゴファイル organization-logo.png
をedit-webapp/images/
以下に配置します。
|
bin/build.sh
を実行して、war/idp.war
を作り直します。
|
messages/messages.properties
のidp.logoに
上記1.で配置したファイル名を設定します。 なお、ファイル名は/images/
から始めます。また、 idp.logo.alt-text
を設定します。
|
日本語を含む英語以外のメッセージファイルは下記ページからダウンロードできます。
ダウンロードしたメッセージファイルをsystem/messages/
ディレクトリ配下(3.2.1以前はmessages/ディレクトリ配下)にコピーすることで、ブラウザに表示されるメッセージを英語以外に変更できます。
3.2.1およびそれ以前と3.3.0およびそれ以降で配置方法が変更になっています。3.3.0およびそれ以降にアップデートした場合は、新たに上記ページから対応するファイルをダウンロードしsystem/messages/ディレクトリに配置してください。(system/以下ですが、一度配置すれば、以降のアップデートで削除されることはありません。) conf/services.xmlを3.3.0以降の版に更新したら、旧来のmessages/以下の3ファイルは削除可能になります。(逆に言うと、services.xmlを更新しない限り旧来のメッセージファイルが参照されていますので削除すると日本語にならなくなります。) |
上記URLで提供している日本語メッセージファイルについての注意点
|
表示されるメッセージの優先順位は下記の通りです。messages/以下およびsystem/messages/以下のファイルが候補になります。
Accept-Language
ヘッダーの一番目に一致するmessages_言語_国.properties
Accept-Language
ヘッダーの一番目に一致するmessages_言語.properties
messages_言語_国.properties
messages_言語.properties
messages.properties
Javaのシステムプロパティの優先順位は下記の通りです。
user.language
とuser.country
LC_MESSAGES
LANG
ブラウザの使用言語によらずある言語を強制する方法は以下のページに説明があります。
https://wiki.shibboleth.net/confluence/display/IDP30/Switching+locale+on+the+login+page
3.3以降で、表示するメッセージを英語から日本語などに変更する場合は、下記のメッセージファイルを用意します。文字コードはUTF-8である必要があります。
system/messages/messages_言語[_国].properties
日本語の場合の例を下記に示します。
system/messages/messages_ja.properties
イギリス英語の例を下記に示します。
system/messages/messages_en_GB.properties
以下の個別ページを参照してください。
⇒どうしてもlogin.jspを使い回したいのですが
Shibboleth IdP 3には、uApprove相当のユーザ同意機能があります。uApprove JPとの違いはShibboleth IdP 3のユーザ同意機能とuApprove JPとの相違点を参照してください。
MySQL上にデータベース |
StorageRecordsテーブルの作成
StorageRecordsテーブルを作成します。
|
conf/global.xml
shibboleth.JPAStorageServiceを定義します。persistent-idの設定(storedId)が設定済みの場合、最後のMyDataSourceの定義は重複となるため不要です。
|
Tomcat8を使用している場合は、下記のShibbolethIdP3.1の情報を参考にしてください。 |
conf/idp.properties
idp.consent.StorageService
をconf/global.xml
で定義したshibboleth.JPAStorageService
に変更します。
|
|
SPの必須属性にもチェックボックスが表示されるため、利用者がSPの必須属性のチェックを外して属性を送信しなかった場合にSPを利用できない可能性があります。 |
conf/idp.properties
idp.consent.allowPerAttribute
をtrue
に設定することで、属性毎にチェックボックスを付加することができます。
|
conf/idp.properties
idp.consent.compareValues
をtrue
に設定することで、属性値が変化した場合に再度属性選択画面を表示することができます。
|
conf/relying-party.xml
bean[@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によるアクセス制御を行うには、GakuNinShibInstall > 技術ガイド > 実習セミナー > Shibboleth環境構築セミナー(活用編) > Shibboleth IdPによるアクセス制限を参照してください。
Shibboleth IdP 3においてクラスタリングを行うには、クラスタリング設定を参照してください。
以下の個別ページを参照してください。
⇒Full SLO(Single Logout)の設定方法
以下の個別ページを参照してください。
⇒IdPv3アップデートに関する情報