Lightweight Directory Access Protocol (LDAP)
Below is an example and description of configuring a Login Identity Provider that integrates with a Directory Server to authenticate users.
<provider> <identifier>ldap-provider</identifier> <class>org.apache.nifi.ldap.LdapProvider</class> <property name="Authentication Strategy">START_TLS</property> <property name="Manager DN"></property> <property name="Manager Password"></property> <property name="TLS - Keystore"></property> <property name="TLS - Keystore Password"></property> <property name="TLS - Keystore Type"></property> <property name="TLS - Truststore"></property> <property name="TLS - Truststore Password"></property> <property name="TLS - Truststore Type"></property> <property name="TLS - Client Auth"></property> <property name="TLS - Protocol"></property> <property name="TLS - Shutdown Gracefully"></property> <property name="Referral Strategy">FOLLOW</property> <property name="Connect Timeout">10 secs</property> <property name="Read Timeout">10 secs</property> <property name="Url"></property> <property name="User Search Base"></property> <property name="User Search Filter"></property> <property name="Identity Strategy">USE_DN</property> <property name="Authentication Expiration">12 hours</property> </provider>
With this configuration, username/password authentication can be enabled by referencing this provider in nifi.properties.
nifi.security.user.login.identity.provider=ldap-provider
Property Name | Description |
---|---|
| The duration of how long the user authentication is valid for. If the user never logs out, they will be required to log back in following this duration. |
| How the connection to the LDAP server is authenticated. Possible values are ANONYMOUS, SIMPLE, LDAPS, or START_TLS. |
| The DN of the manager that is used to bind to the LDAP server to search for users. |
| The password of the manager that is used to bind to the LDAP server to search for users. |
| Path to the Keystore that is used when connecting to LDAP using LDAPS or START_TLS. |
| Password for the Keystore that is used when connecting to LDAP using LDAPS or START_TLS. |
| Type of the Keystore that is used when connecting to LDAP using LDAPS or START_TLS (i.e. JKS or PKCS12). |
| Path to the Truststore that is used when connecting to LDAP using LDAPS or START_TLS. |
| Password for the Truststore that is used when connecting to LDAP using LDAPS or START_TLS. |
| Type of the Truststore that is used when connecting to LDAP using LDAPS or START_TLS (i.e. JKS or PKCS12). |
| Client authentication policy when connecting to LDAP using LDAPS or START_TLS. Possible values are REQUIRED, WANT, NONE. |
| Protocol to use when connecting to LDAP using LDAPS or START_TLS. (i.e. TLS, TLSv1.1, TLSv1.2, etc). |
| Specifies whether the TLS should be shut down gracefully before the target context is closed. Defaults to false. |
| Strategy for handling referrals. Possible values are FOLLOW, IGNORE, THROW. |
| Duration of connect timeout. (i.e. 10 secs). |
| Duration of read timeout. (i.e. 10 secs). |
| Space-separated list of URLs of the LDAP servers (i.e. ldap://<hostname>:<port>). |
| Base DN for searching for users (i.e. CN=Users,DC=example,DC=com). |
| Filter for searching for users against the User Search Base. (i.e. sAMAccountName={0}). The user specified name is inserted into {0}. |
| Strategy to identify users. Possible values are USE_DN and USE_USERNAME. The default functionality if this property is missing is USE_DN in order to retain backward compatibility. USE_DN will use the full DN of the user entry if possible. USE_USERNAME will use the username the user logged in with. |