<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>
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: 必須項目のみ設定する場合
設定例1: 項目の説明
SAML 認証のための設定項目(すなわち、server.xml 中に指定する Environment 要素)は以下の通りです。
name (JNDI 環境プロパティ名) | type (JNDI 環境プロパティの型) | 設定すべき値の意味 | value (設定可能な値) | 設定値の例 |
---|---|---|---|---|
fusionplace/use_saml |
java.lang.Boolean |
SAML認証利用の有無を指定 |
true, 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担当者) |
|
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 デフォルト: |
false |
fusionplace/saml2/security/logoutrequest_signed |
java.lang.Boolean |
LogoutRequestの署名の有無 |
true, false デフォルト: |
false |
fusionplace/saml2/security/logoutresponse_signed |
java.lang.Boolean |
LogoutResponseの署名の有無 |
true, false デフォルト: |
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 デフォルト: |
true |