Managing user groups using LDAP
Learn how to enable user group management using the Lightweight Directory Access Protocol (LDAP).
Edge Flow Manager can be configured to retrieve group assignments from LDAP. This implies that user groups can only be added or modified using LDAP, and user-group assignments can exclusively be managed through LDAP. However, you still retain the ability to assign policies to users and groups within Edge Flow Manager.
-
Enable user group management by LDAP.
To enable user group management using LDAP, set the following property in the efm.properties file:
efm.security.user.auth.groups.manager=LDAP
-
Configure LDAP integration.
For a successful integration, make sure that the following properties are accurately configured.
Basic properties:- efm.security.ldap.url
- Enter a comma-separated list of LDAP server URLs (for example:
ldap://<hostname>:<port>
) - efm.security.ldap.syncInterval
- Specify the duration of time between synchronizing users and groups (for example: 30 m). The minimum allowable value is 30 seconds and the default value is 30 minutes.
- efm.security.ldap.managerDn
- Provide the Distinguished Name (DN) of the manager used to bind to the LDAP server to search for users and groups.
- efm.security.ldap.managerPassword
- Enter the password of the manager used to bind to the LDAP server to search for users and groups.
- efm.security.ldap.authenticationStrategy
- Select an authentication strategy for connecting to the LDAP server.
- Possible values:
- ANONYMOUS
- SIMPLE
- LDAPS
- START_TLS
- efm.security.ldap.referralStrategy
- Select a strategy for handling LDAP referrals.
- Possible values:
- FOLLOW (default value, automatically follow any referrals)
- IGNORE (ignore referrals)
- THROW (throw an error if a referral occurs)
- efm.security.ldap.connectTimeout
- Set the duration of the connection timeout. The default value is 10 seconds.
- efm.security.ldap.readTimeout
- Set the duration of the read timeout. The default value is 10 seconds.
- efm.security.ldap.pageSize
- Optionally, you can set the page size when retrieving users and groups. If not specified, no paging is performed.
- efm.security.ldap.groupMembershipCaseSensitive
- Indicate whether group membership decisions should be case-sensitive. The default value is false.
TLS properties
These properties are required whenefm.security.ldap.authenticationStrategy
is set to LDAPS or START_TLS.- efm.security.ldap.tls.keyStore
- Specify the path to the keystore used when connecting to LDAP.
- efm.security.ldap.tls.keyStorePassword
- Set the password for the keystore used when connecting to LDAP.
- efm.security.ldap.tls.keyStoreType
- Define the type of the keystore used when connecting to LDAP. Possible values are BCFKS, PKCS12, or JKS.
- efm.security.ldap.tls.trustStore
- Provide the path to the truststore used when connecting to LDAP.
- efm.security.ldap.tls.trustStorePassword
- Set the password for the truststore used when connecting to LDAP.
- efm.security.ldap.tls.trustStoreType
- Specify the type of the truststore used when connecting to LDAP. Possible values are BCFKS, PKCS12, or JKS.
- efm.security.ldap.tls.tlsProtocol
- Select the protocol to use when establishing LDAP connections. Possible values are TLS, TLSv1_1, or TLSv1_2.
- efm.security.ldap.tls.shutdownGracefully
- Determine whether TLS should be shut down gracefully before the target context is closed. The default setting is false and applies exclusively to the START_TLS authentication strategy.
Search properties
Synchronizing users and groups is possible through user, group, or both user and group searches, depending on your LDAP scheme and configuration. However, it is essential to configure at least one of these properties to enable user and group synchronization.
User search- efm.security.ldap.user.searchBase
- Specify the base DN for searching users (for example: ou=users, o=efm).
- efm.security.ldap.user.objectClass
- Define the object class for identifying users (for example: person).
- efm.security.ldap.user.searchScope
- Set the search scope for searching users. Possible values are ONE_LEVEL, OBJECT, or SUBTREE.
- efm.security.ldap.user.searchFilter
- Apply a filter for searching users in the User Search Base (for example: (memberof=cn=team1,ou=groups,o=efm)).
- efm.security.ldap.user.identityAttribute
- Optionally, you can specify the attribute used to extract user identity (for example: cn). If not set, the entire DN is used.
- efm.security.ldap.user.groupNameAttribute
- Optionally, you can define the attribute used to establish group membership (for example: memberof). If not set, group memberships are calculated based on efm.security.ldap.group.memberAttribute. If set, the value of this property is the name of the attribute in the user LDAP entry that associates them with a group. The value of this user attribute could be a DN or group name for instance. The expected value is configured in efm.security.ldap.user.referencedGroupAttribute.
- efm.security.ldap.user.referencedGroupAttribute
- If not set, the value of the attribute defined in efm.security.ldap.user.groupNameAttribute is expected to be the full DN of the group. If set, this property defines the attribute of the group LDAP entry to which the value of the attribute defined in efm.security.ldap.user.groupNameAttribute refers (for example: name). The use of this property requires that efm.security.ldap.group.searchBase is also configured.
Group search- efm.security.ldap.group.searchBase
- Specify the base DN for group searches (for example: ou=users,o=efm).
- efm.security.ldap.group.objectClass
- Identify the object class for groups (for example: groupOfNames).
- efm.security.ldap.group.searchScope
- Define the search scope for group searches. Possible values are ONE_LEVEL, OBJECT, or SUBTREE.
- efm.security.ldap.group.searchFilter
- Optionally, you can filter for group searches against
efm.security.ldap.group.searchBase
. - efm.security.ldap.group.nameAttribute
- Optionally, you can extract group names using the specified attribute (for example: cn). If not set, the entire DN is used.
- efm.security.ldap.group.memberAttribute
- Optionally, you can specify an attribute for defining group membership (for example: member). If not set, group membership will not be calculated through the groups. Instead, it relies on group membership defined using efm.security.ldap.user.groupNameAttribute. If set, the value of this property is the name of the attribute in the group LDAP entry that associates users with groups. The value of this group attribute can be a DN or memberUid, depending on your configuration (for example: member: cn=User 1,ou=users,o=efm vs. memberUid: user1).
- efm.security.ldap.group.referencedUserAttribute
- If not set, the value of the attribute defined in
efm.security.ldap.group.memberAttribute
is expected to be the full DN of the user. If set, this property defines the attribute of the user LDAP entry referenced byefm.security.ldap.group.memberAttribute
(for example: uid). Using this property requires thatefm.security.ldap.user.searchBase
is also configured (for example: member: cn=User 1,ou=users,o=efm vs. memberUid: user1).