3.2. 注意事項¶
ここでは、SAML 認証設定時の注意事項について解説します。
項目
3.2.1. エンティティID¶
IdP はエンティティID と呼ばれる識別子でSP( intra-mart Accel Platform ) を認識します。エンティティID は ベースURLを使用します。SPメタデータのエンティティIDは以下の規則に従ってIdP 新規登録または更新時に設定されます。
BaseUrlProviderが実装されている場合、その実装クラスが返却するベースURL(返却値が null の場合は次の規則) 設定ファイル(conf/server-context-config.xml)に定義したベースURL ベースURLが定義されていない場合は「http://server:port/path」以下はSPメタデータの抜粋です。ハイライトされた行の entityID 属性に ベースURLを使用します。<?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://example.com/imart" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> . . . . . </md:EntityDescriptor>
3.2.2. バインディングURL¶
バインディングURL はシングルサインオンやシングルログアウトの時に IdP から SP( intra-mart Accel Platform ) にリダイレクトされるURLです。これらのURLに使用されるベースURL は エンティティIDに使用されるベースURLと同じです。SPメタデータのバインディングURLは IdP 新規登録または更新時に設定されます。以下はSPメタデータの抜粋です。ハイライトされた行の Location 属性に ベースURLを使用します。<?xml version="1.0" encoding="UTF-8"?> <md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" entityID="https://example.com/imart" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"> <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol"> <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://example.com/imart/saml/profile/slo_response/redirect"/> <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://example.com/imart/saml/profile/slo_response/post"/> . . . . . <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://example.com/imart/saml/profile/sso_response/post" index="0"/> </md:SPSSODescriptor> </md:EntityDescriptor>
3.2.3. ベースURLの変更について¶
ベースURLを変更した場合、SPメタデータのエンティティID および バインディングURL の変更が必要です。変更を反映するためには、以下の作業が必要です。
IdPの更新を行います。SPメタデータが更新されます。 SPメタデータをダウンロードします。SPメタデータのエンティティID および バインディングURLに対して、ベースURLが反映されているか確認してください。 SPメタデータをIdPへインポートします。
3.2.4. 署名¶
3.2.4.1. 署名アルゴリズム¶
証明書情報に登録可能な署名アルゴリズムは以下の通りです。
- RSA
- DSA
3.2.4.2. シングルサインオンの署名処理¶
登録するIdP メタデータの「IDPSSODescriptor」要素に「WantAuthnRequestsSigned=”true”」の設定がある場合シングルサインオンのリクエストには署名が必須となるため「署名しない」を選択していても署名処理を行います。
3.2.5. 暗号化¶
3.2.5.1. AES256の使用¶
JDK8 を利用している場合に、標準のままでは AES の鍵の長さが 128bit までしか使用できません。256bit を使用する場合は JCE(Java Cryptography Extension) を差し替える必要があります。
「JCE Unlimited Strength Jurisdiction Policy Files」をダウンロードしてください。
zip ファイルを解凍してファイル内の「US_export_policy.jar」と「local_policy.jar」を以下のパスに上書きコピーしてください。
- <%JAVA_HOME%>/jre/lib/security
3.2.6. IdP から intra-mart Accel Platform へのシングルサインオンを開始する場合¶
IdP によっては、IdP から intra-mart Accel Platform にシングルサインオンする機能があります。この機能を利用する場合、同じエンティティID のIdP を複数登録しないでください。IdP を特定できずに正しく動作しません。
3.2.7. IdP からのログアウトリクエストについて¶
IdP によっては、IdP からSP にログアウトするようにリクエストを送信する機能がありますが intra-mart Accel Platform は対応していません。