This page is in Japanese version. The English version is in preparation.
fusion_place cloudをご契約のお客様は、当ページの設定は不要です。

SAML認証利用のための設定(fusion_place側)(fusion_place >= 14.0)

fusion_place でSAML認証を有効にするには、fusion_place サーバが動作する Tomcat の設定ファイルにエントリを追加します。設定に際して以下の項目を確認・検討する必要があります。

SSL 通信の利用

SAML 認証を利用する場合、外部の ID プロバイダ(IdP)との通信において、セキュリティ上のリスクを回避するために、SSL 通信を利用することが推奨されます。SSLの設定については、SSL 利用のための設定をご参照ください。

特に、IdPによっては、SAML 認証のために SSL 通信を利用することが必須となる場合があります。

以下のIdPはSSL通信の利用が必須です。

  • Microsoft Entra ID

設定方法

Tomcat の設定ファイル server.xml を、SAML認証に対応するよう修正してください。server.xml の所在はインストール時指定情報の記録場所をご参照ください。

server.xml の内容は XML 形式の文書となっていますが、その中の Context 要素(ひとつしかありません)の配下に、いくつかの Environment 要素(JNDI 環境プロパティ)を付け加えることで、SAML認証機能を利用できるようになります。以下に記述例を挙げます。

設定例1: 必須項目のみ設定する場合

<Context docBase="/usr/local/tomcat/webapps/fusionplace" path="/fusionplace">

  <!-- ここより、SAML認証機能のための記述項目 -->
  <Environment name="fusionplace/use_saml" type="java.lang.Boolean" value="true" />
  <Environment name="fusionplace/saml2/idp/entityid" value="https://sts.windows.net/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/idp/single_sign_on_service/url" value="https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/saml2" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/idp/x509cert" value= "-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/sp/contact/company" value="(会社の名称(英語表記))" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/sp/contact/email_address" value="(会社のメールアドレス)" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/sp/contact/telephone_number" value="(会社の電話番号)" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/security/authnrequest_signed" type="java.lang.Boolean" value="false" />
  <Environment name="fusionplace/saml2/security/logoutrequest_signed" type="java.lang.Boolean" value="false" />
  <Environment name="fusionplace/saml2/security/logoutresponse_signed" type="java.lang.Boolean" value="false" />
  <!-- ここまで、SAML認証機能のための記述項目 -->
</Context>

設定例1: 項目の説明

SAML 認証のための設定項目(すなわち、server.xml 中に指定する Environment 要素)は以下の通りです。

name (JNDI 環境プロパティ名) type (JNDI 環境プロパティの型) 設定すべき値の意味 value (設定可能な値) 設定値の例

fusionplace/use_saml

java.lang.Boolean

SAML認証利用の有無を指定

true, false

デフォルト: false

true

fusionplace/saml2/idp/entityid

java.lang.String

IdP のエンティティ識別子

IdPの提供する情報を参照

https://sts.windows.net/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/

fusionplace/saml2/idp/single_sign_on_service/url

java.lang.String

ログインURL

IdPの提供する情報を参照

https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/saml2

fusionplace/saml2/idp/x509cert

java.lang.String

SAML証明書

SAML証明書を 1 行にしてセットする(ヘッダー・フッターを含む))

-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----

fusionplace/saml2/sp/contact/company

java.lang.String

会社の名称(英語表記)

会社の名称(英語表記)

fusions corporation

fusionplace/saml2/sp/contact/email_address

java.lang.String

会社のメールアドレス

会社のメールアドレス(fusion_place担当者)

xxxxxxxxx@fusions.co.jp

fusionplace/saml2/sp/contact/telephone_number

java.lang.String

会社のメールアドレス(fusion_place担当者)

会社のメールアドレス(fusion_place担当者)

080-xxxx-xxxx

fusionplace/saml2/security/authnrequest_signed

java.lang.Boolean

AuthnRequestの署名の有無

true, false

デフォルト: true

false

fusionplace/saml2/security/logoutrequest_signed

java.lang.Boolean

LogoutRequestの署名の有無

true, false

デフォルト: true

false

fusionplace/saml2/security/logoutresponse_signed

java.lang.Boolean

LogoutResponseの署名の有無

true, false

デフォルト: true

false

設定例2: シングルログアウトを使用する場合(オプション)

<Context docBase="/usr/local/tomcat/webapps/fusionplace" path="/fusionplace">
  ...
<!-- 設定例1に以下の行を追加する。 -->
  <Environment name="fusionplace/saml2/idp/single_logout_service/url" value="https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/saml2" type="java.lang.String"/>
</Context>

設定例2: 項目の説明

SAML 認証のための設定項目(すなわち、server.xml 中に指定する Environment 要素)は以下の通りです。

name (JNDI 環境プロパティ名) type (JNDI 環境プロパティの型) 設定すべき値の意味 value (設定可能な値) 設定値の例

fusionplace/saml2/idp/single_logout_service/url

java.lang.String

ログアウトURL

IdPの提供する情報を参照

https://login.microsoftonline.com/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/saml2

設定例3: fusion_place (SP) から IdP に送信するデータに署名する場合

fusion_placeにSSLを設定している場合、以下の設定を行う必要性は少ないです。

<Context docBase="/usr/local/tomcat/webapps/fusionplace" path="/fusionplace">
 ...
  <!-- 設定例1から以下の行を削除する。 -->
  <!-- <Environment name="fusionplace/saml2/security/authnrequest_signed" type="java.lang.Boolean" value="false" /> -->
  <!-- <Environment name="fusionplace/saml2/security/logoutrequest_signed" type="java.lang.Boolean" value="false" /> -->
  <!-- <Environment name="fusionplace/saml2/security/logoutresponse_signed" type="java.lang.Boolean" value="false" /> -->
  <!-- 設定例1に以下の行を追加する。 -->
  <Environment name="fusionplace/saml2/sp/x509cert" value="-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/sp/privatekey" value="-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----" type="java.lang.String"/>
</Context>

設定例3: 項目の説明

SAML 認証のための設定項目(すなわち、server.xml 中に指定する Environment 要素)は以下の通りです。

name (JNDI 環境プロパティ名) type (JNDI 環境プロパティの型) 設定すべき値の意味 value (設定可能な値) 設定値の例

fusionplace/saml2/sp/x509cert

java.lang.String

X.509 証明書 (ヘッダー・フッターを含む)

IdPの提供する情報を参照

-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----

fusionplace/saml2/sp/privatekey

java.lang.String

X.509 証明書に対応した秘密鍵 (ヘッダー・フッターを含む)

IdPの提供する情報を参照

-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----

設定例4: fusion_place (SP) とIdPの間でやりとりするデータ(Assertion)を暗号化する場合

fusion_placeにSSLを設定している場合、以下の設定を行う必要性は少ないです。

<Context docBase="/usr/local/tomcat/webapps/fusionplace" path="/fusionplace">
 ...
  <!-- <Environment name="fusionplace/saml2/security/authnrequest_signed" type="java.lang.Boolean" value="false" /> -->
  <!-- <Environment name="fusionplace/saml2/security/logoutrequest_signed" type="java.lang.Boolean" value="false" /> -->
  <!-- <Environment name="fusionplace/saml2/security/logoutresponse_signed" type="java.lang.Boolean" value="false" /> -->
  <Environment name="fusionplace/saml2/sp/x509cert" value="-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----" type="java.lang.String"/>
  <Environment name="fusionplace/saml2/sp/privatekey" value="-----BEGIN CERTIFICATE-----xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-----END CERTIFICATE-----" type="java.lang.String"/>
  <!-- ここまで、設定例3と同様 -->
  <!-- 以下の行を追加する -->
  <Environment name="fusionplace/saml2/security/want_assertions_encrypted" type="java.lang.Boolean" value="true" />
</Context>

設定例4: 項目の説明

SAML 認証のための設定項目(すなわち、server.xml 中に指定する Environment 要素)は以下の通りです。

name (JNDI 環境プロパティ名) type (JNDI 環境プロパティの型) 設定すべき値の意味 value (設定可能な値) 設定値の例

fusionplace/saml2/security/want_assertions_encrypted

java.lang.Boolean

fusion_place (SP) とIdPの間でやりとりするデータ(Assertion)を暗号化する

true, false

デフォルト: false

true