intra-mart Accel Platform SAML認証セットアップガイド 第6版 2022-06-01

3.2. 注意事項

ここでは、SAML 認証設定時の注意事項について解説します。

3.2.1. エンティティID

IdP はエンティティID と呼ばれる識別子でSP( intra-mart Accel Platform ) を認識します。
エンティティID は ベースURLを使用します。

SPメタデータのエンティティIDは以下の規則に従ってIdP 新規登録または更新時に設定されます。
  1. BaseUrlProviderが実装されている場合、その実装クラスが返却するベースURL(返却値が null の場合は次の規則)
  2. 設定ファイル(conf/server-context-config.xml)に定義したベースURL
  3. ベース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 の変更が必要です。
変更を反映するためには、以下の作業が必要です。
  1. IdPの更新を行います。
    SPメタデータが更新されます。
  2. SPメタデータをダウンロードします。
    SPメタデータのエンティティID および バインディングURLに対して、ベースURLが反映されているか確認してください。
  3. 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) を差し替える必要があります。
  1. 「JCE Unlimited Strength Jurisdiction Policy Files」をダウンロードしてください。

  2. 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 は対応していません。