1. はじめに
本メニューでは、IdPをカスタマイズします。
IdP Ver2からVer3にアップグレードを行い設定ファイルがコンバートされた環境に対して実施します。アップグレード直後の状態でも動作しますが、以降のカスタマイズで支障が出ますので適当なタイミングで下記手順を行うことをお勧めします。
Ver3形式にすると、送信属性同意機能が有効となるなど、IdP Ver3の全ての機能を使うことができるようになります。(以下に無効化の手順も示してあります)
設定ファイルをVer3形式に修正し、認証確認まで行います。
...
2. 実習セミナーでは
以下の手順で作業を進めてください。
・idp.propertiesの修正
/opt/shibboleth-idp/conf/idp.properties
に、参照している証明書・秘密鍵の情報を設定します。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
idp.signing.key= %{idp.home}/credentials/server.key
idp.signing.cert= %{idp.home}/credentials/server.crt
idp.encryption.key= %{idp.home}/credentials/server.key
idp.encryption.cert= %{idp.home}/credentials/server.crt
|
・credentials.xmlの確認
/opt/shibboleth-idp/conf/credentials.xml
が存在することを確認してください。
存在しなければ、以下のようにcredentials.xml.dist
をコピーして作成します。
...
情報 |
---|
このファイル(テンプレート)は上記idp.propertiesの変更部分を参照しているだけなので、ファイル内容の修正は不要です。 |
・relying-party.xmlの置き換え
/opt/shibboleth-idp/dist/conf/relying-party.xml.dist
でVer2からコンバートされたrelying-party.xml
を置き換えます。
...
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# cp /opt/shibboleth-idp/dist/conf/relying-party.xml.dist /opt/shibboleth-idp/conf/relying-party.xml 上書きします。 cp: `/opt/shibboleth-idp/conf/relying-party.xml' を上書きしてもよろしいですか(yes/no)? y[Enter]
|
情報 |
---|
上書きしたrelying-party.xml テンプレートに送信属性同意機能有効化が含まれています。無効にしたい場合は以下の部分を削除してください。テンプレートに送信属性同意機能有効化が含まれています。無効にしたい場合は以下の赤字部分を削除してください。 パネル |
---|
...
<bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" />
...
<bean parent="SAML2.SSO" p:postAuthenticationFlows="attribute-release" />
...
|
|
情報 |
---|
アップグレード直後のmetadata-providers.xml の内容はアップグレード前のrelying-party.xml と同内容です。 |
...
パネル |
---|
# grep metadataURL= /opt/shibboleth-idp/conf/metadata-providers.xml
metadataURL="https://metadata.gakunin.nii.ac.jp/gakunin-test-metadata.xml" ←このURLを記録してください # grep -A 2 id=.shibboleth.MetadataTrustEngine /opt/shibboleth-idp/conf/metadata-providers.xml <security:TrustEngine id="shibboleth.MetadataTrustEngine" xsi:type="security:StaticExplicitKeySignature"> <security:Credential id="MyFederation1Credentials" xsi:type="security:X509Filesystem"> <security:Certificate>/opt/shibboleth-idp/credentials/gakunin-test-signer-2011.cer</security:Certificate> ←このファイル名を記録してください
|
/opt/shibboleth-idp/dist/conf/metadata-providers.xml.dist
でVer2からコンバートされたmetadata-providers.xmlを置き換えます。
注意 |
---|
追加でローカルSPのメタデータを読み込んでいるなど<MetadataProvider> の部分をカスタマイズしている場合は、置き換える前にバックアップをとるなどして、確認できるようにしてください。の部分をカスタマイズしている場合は、置き換え後にバックアップ(/opt/shibboleth-idp/conf.v2/relying-party.xml )を参照しながら必要なものを反映してください。 |
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# cp /opt/shibboleth-idp/dist/conf/metadata-providers.xml.dist /opt/shibboleth-idp/conf/metadata-providers.xml 上書きします。 cp: `/opt/shibboleth-idp/conf/metadata-providers.xml' を上書きしてもよろしいですか(yes/no)? y[Enter]
|
...
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
The EntityRoleWhiteList saves memory by only loading metadata from entity typesSAML roles that you will that the IdP needs to interoperate with. -->
<!-- --> ← コメントアウト解除 <MetadataProvider id="HTTPMetadata"
xsi:type="FileBackedHTTPMetadataProvider"
backingFile="%{idp.home}/metadata/gakunin-metadata-backing.xml"
metadataURL="https://metadata.gakunin.nii.ac.jp/gakunin-test-metadata.xml">
<MetadataFilter xsi:type="RequiredValidUntil" maxValidityInterval="P15D" />
<MetadataFilter xsi:type="SignatureValidation"
requireSignedMetadatarequireSignedRoot="true" certificateFile="%{idp.home}/credentials/gakunin-test-signer-2011.cer">
<!-- ← 公開鍵をファイルで指定するのでコメントアウト
<PublicKey>
THIS IS AN EXAMPLE MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxg0TyQAP/tIvOH89EtaX
uRRn8SYzTj7W1TbNY4VvBmobjkRmSkki4hH9x4sQpi635wn6WtXTN/FNNmkTK3N/
LspmBWxfZS+n+cc7I82E5yvCAPX67QsZgqgglp2W5dvK/FsMMCS6X6SVqzBLMP88
NenXKxY+HMxMs0sT0UKYh1cAEqadrHRBO65aDBcm5a0sBVYt9K6pgaOHrp/zSIbh
nR5tFFLjBbtFktDpHL3AdGBH3OYidNGKBO3tJ3Ms7LeKXsM0+0Y4P+9fHZINL2X3
E2N6GVnKs5PZTg9sP0FtIpAbYm/+zCx7Yj1ET/Er8mDd6tNVGSQsn9s5xUBwGqn1
4wIDAQAB </ <PublicKey> MIIBI..... </PublicKey>
--> ← 公開鍵をファイルで指定するのでコメントアウト
< </MetadataFilter> <MetadataFilter xsi:type="metadata:RequiredValidUntil" maxValidityInterval="P15D"/>
↑この部分を削除します
<MetadataFilter xsi:type="EntityRoleWhiteList"> <RetainedRole>md:SPSSODescriptor</RetainedRole> </MetadataFilter> </MetadataProvider>
<!-- --> ← コメントアウト解除
|
・services.propertiesの修正
Ver3の形式で読み込むように/opt/shibboleth-idp/conf/services.properties
を修正します。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
#idp.service.relyingparty.resources= shibboleth.LegacyRelyingPartyResolverResources
idp.service.relyingparty.resources= shibboleth.RelyingPartyResolverResources ※Legacyを削除した値を設定します。
|
・Tomcatの再起動
Tomcatを再起動して、Ver3形式に変換した設定ファイルを読み込ませます。
パネル |
---|
borderColor | #cccccc |
---|
bgColor | #eeeeee |
---|
borderStyle | solid |
---|
|
# service tomcat7 restart
|
...
3. 手順書
以下は、英語での情報が記載されたwiki.shibboleth.netのURLです。手順の詳細にご興味がある方はご参照ください。
参考: Installation
...
4. 動作確認
作業前と同様に動作することを確認します。
① 各自が使用するSPの接続確認用ページにアクセスします。
...