<Context docBase="fusionplace.war" path="/fusionplace">
<Environment name="fusionplace/dbms" value="H2" type="java.lang.String"/>
<Environment name="fusionplace/pivot_time_out" value="60000" type="java.lang.Integer"/>
<!-- ... -->
<!-- Configuration items for LDAP authentication start here -->
<Environment name="fusionplace/authentication_scheme" type="java.lang.String" value="basic_authentication"/>
<Environment name="fusionplace/identity_asserter" type="java.lang.String" value="ldap"/>
<Environment name="fusionplace/identity_asserter_ldap/host" type="java.lang.String" value="directory.example.com"/>
<Environment name="fusionplace/identity_asserter_ldap/username_format" type="java.lang.String" value="uid=${USERNAME},dc=example,dc=com"/>
<!-- Configuration items for LDAP authentication end here -->
<!-- ... -->
</Context>
Configuration for Using LDAP Authentication
This manual is in pilot operation.
|
To enable LDAP authentication in fusion_place, you need to add entries to the Tomcat configuration file on which the fusion_place server runs. When configuring, please check and consider the following items:
-
Host name and port number of the LDAP server
-
Whether to use security mechanisms such as TLS/SSL, SASL (Simple Authentication and Security Layer)[1], or STARTTLS for connecting to the LDAP server
-
Format of the distinguished name (DN) used to bind to the LDAP server
Configuration Method
Modify Tomcat’s configuration file server.xml
to support LDAP authentication. For the location of server.xml
, refer to Location for Recording Installation Information.
The content of server.xml
is in XML format. By adding several Environment
elements (JNDI environment properties) under the single Context element, you can enable LDAP authentication. Below is an example configuration:
List of Configuration Items
The configuration items for LDAP authentication (i.e., Environment elements specified in server.xml) are as follows:
name (JNDI Environment Property Name) | type (JNDI Environment Property Type) | Meaning of the Value to Set | value (Permissible Values) | Example Value |
---|---|---|---|---|
fusionplace/authentication_scheme |
java.lang.String |
HTTP authentication scheme applied to communication between fusion_place client and fusion_place server. When using LDAP authentication, this must be "Basic authentication". |
Default: |
|
fusionplace/identity_asserter |
java.lang.String |
Authentication method applied by the fusion_place server for backend authentication. When using LDAP authentication, this must be "LDAP authentication". |
If not using LDAP authentication, this item may be omitted. In that case, the backend authentication method will be the same as the HTTP authentication method. |
|
fusionplace/use_ldap |
java.lang.Boolean |
Set when the fusion_place server uses "LDAP authentication". |
Default: |
|
fusionplace/identity_asserter_ldap/host |
java.lang.String |
Host name or IP address of the LDAP server for authentication requests. |
Appropriate string as host name or IP address. |
|
fusionplace/identity_asserter_ldap/port |
java.lang.Integer |
Port number of the LDAP server. |
Appropriate integer as port number. Default: |
|
fusionplace/identity_asserter_ldap/ssl |
java.lang.Boolean |
Specifies whether to use LDAP over TLS/SSL (LDAPS). When using TLS/SSL or STARTTLS, the certificate of the CA that issued the LDAP server’s certificate must be added to the keystore of the Java runtime environment running the fusion_place server. |
Default: |
|
fusionplace/identity_asserter_ldap/username_format |
java.lang.String |
Format of the user name used for LDAP binding. In the format string, specify the fusion_place user account part as |
String |
|
fusionplace/authentication/system_identity_assertion_enforcement_user_account_names |
java.lang.String |
Comma-separated user account names for which an authentication method suitable for the HTTP authentication scheme is enforced. User accounts specified here are authenticated using passwords registered in fusion_place, not via LDAP binding. |
String |
|
fusionplace/identity_asserter_ldap_sasl |
java.lang.Boolean |
Specifies whether or not to use SASL. |
Default: |
|
fusionplace/identity_asserter_ldap/sasl/mechanism |
java.lang.String |
Specifies the SASL mechanism to use. |
Default: |
digest_md5 |
fusionplace/identity_asserter_ldap/starttls |
java.lang.Boolean |
Specifies whether or not to use STARTTLS. |
Default: |
true |
About Security-Related Configuration Items
You can encrypt all or part of the communication between the fusion_place server and the LDAP server to protect authentication information. The available security mechanisms and their combinations in fusion_place are as follows:
Security Mechanism Usage Patterns | Security Provided | ||||
---|---|---|---|---|---|
Case |
TLS/SSL (LDAPS)[2] |
SASL (SASL Mechanism) |
STARTTLS[2] |
Scope of Encryption |
Required LDAP Version[3] |
(1) |
None |
>= LDAPv2 |
|||
(2) |
Used |
All communication |
>= LDAPv2 |
||
(3) |
Used (Digest-MD5) |
Authentication information |
>= LDAPv3 |
||
(4) |
Used |
Used (Digest-MD5) |
All communication |
>= LDAPv3 |
|
(5) |
Used |
Communication after TLS session starts |
>= LDAPv3 |
Example Configurations
Examples for each case in the table above.
(1) No encryption
<Environment name="fusionplace/authentication_scheme" type="java.lang.String" value="basic_authentication"/>
<Environment name="fusionplace/identity_asserter" type="java.lang.String" value="ldap"/>
<Environment name="fusionplace/identity_asserter_ldap/host" type="java.lang.String" value="directory.example.com"/>
<Environment name="fusionplace/identity_asserter_ldap/username_format" type="java.lang.String" value="uid=${USERNAME},dc=example,dc=com"/>
(2) TLS/SSL (LDAPS)
<Environment name="fusionplace/authentication_scheme" type="java.lang.String" value="basic_authentication"/>
<Environment name="fusionplace/identity_asserter" type="java.lang.String" value="ldap"/>
<Environment name="fusionplace/identity_asserter_ldap/host" type="java.lang.String" value="directory.example.com"/>
<Environment name="fusionplace/identity_asserter_ldap/ssl" type="java.lang.Boolean" value="true"/>
<Environment name="fusionplace/identity_asserter_ldap/username_format" type="java.lang.String" value="uid=${USERNAME},dc=example,dc=com"/>
(3) SASL + Digest-MD5
<Environment name="fusionplace/authentication_scheme" type="java.lang.String" value="basic_authentication"/>
<Environment name="fusionplace/identity_asserter" type="java.lang.String" value="ldap"/>
<Environment name="fusionplace/identity_asserter_ldap/host" type="java.lang.String" value="directory.example.com"/>
<Environment name="fusionplace/identity_asserter_ldap/username_format" type="java.lang.String" value="${USERNAME}"/>
<Environment name="fusionplace/identity_asserter_ldap_sasl" type="java.lang.Boolean" value="true"/>
(4) SASL + Digest-MD5 + TLS/SSL (LDAPS)
<Environment name="fusionplace/authentication_scheme" type="java.lang.String" value="basic_authentication"/>
<Environment name="fusionplace/identity_asserter" type="java.lang.String" value="ldap"/>
<Environment name="fusionplace/identity_asserter_ldap/host" type="java.lang.String" value="directory.example.com"/>
<Environment name="fusionplace/identity_asserter_ldap/ssl" type="java.lang.Boolean" value="true"/>
<Environment name="fusionplace/identity_asserter_ldap/username_format" type="java.lang.String" value="${USERNAME}"/>
<Environment name="fusionplace/identity_asserter_ldap_sasl" type="java.lang.Boolean" value="true"/>
(5) STARTTLS
<Environment name="fusionplace/authentication_scheme" type="java.lang.String" value="basic_authentication"/>
<Environment name="fusionplace/identity_asserter" type="java.lang.String" value="ldap"/>
<Environment name="fusionplace/identity_asserter_ldap/host" type="java.lang.String" value="directory.example.com"/>
<Environment name="fusionplace/identity_asserter_ldap/username_format" type="java.lang.String" value="uid=${USERNAME},dc=example,dc=com"/>
<Environment name="fusionplace/identity_asserter_ldap/starttls" type="java.lang.Boolean" value="true"/>
Example Setting for use_ldap (fusion_place >= 14.0)
From v14.0 onward, fusionplace/use_ldap
was added. By using this setting, you can omit the fusionplace/authentication_scheme
and fusionplace/identity_asserter
settings. Previous settings are still available, but the new setting is recommended.
<Environment name="fusionplace/authentication_scheme" type="java.lang.String" value="basic_authentication"/>
<Environment name="fusionplace/identity_asserter" type="java.lang.String" value="ldap"/>
↓
<Environment name="fusionplace/use_ldap" type="java.lang.Boolean" value="true"/>
digest_md5
). Other SASL mechanisms, GSSAPI (Kerberos v5), and others are not supported at this time.