User Authentication
NiFi supports user authentication via client certificates, via username/password, via Apache Knox, or via http://openid.net/connect.
Username/password authentication is performed by a 'Login Identity Provider'. The Login
Identity Provider is a pluggable mechanism for authenticating users via their
username/password. Which Login Identity Provider to use is configured in the
nifi.properties file. Currently NiFi offers username/password with Login Identity
Providers options for ldap_login_identity_provider
and
kerberos_login_identity_provider
.
The nifi.login.identity.provider.configuration.file
property specifies the configuration file for Login Identity Providers. By default, this property is set to ./conf/login-identity-providers.xml
.
The nifi.security.user.login.identity.provider
property indicates which of the configured Login Identity Provider should be used. By default, this property is not configured meaning that username/password must be explicitly enabled.
During OpenId Connect authentication, NiFi will redirect users to login with the Provider before returning to NiFi. NiFi will then call the Provider to obtain the user identity.
During Apache Knox authentication, NiFi will redirect users to login with Apache Knox before returning to NiFi. NiFi will verify the Apache Knox token during authentication.
Note | |
---|---|
NiFi can only be configured for username/password, OpenId Connect, or Apache Knox at a given time. It does not support running each of these concurrently. NiFi will require client certificates for authenticating users over HTTPS if none of these are configured. |
A secured instance of NiFi cannot be accessed anonymously unless configured to use an
ldap_login_identity_provider
or
kerberos_login_identity_provider
Login Identity Provider, which in turn
must be configured to explicitly allow anonymous access. Anonymous access is not currently
possible by the default
FileAuthorizer,
but is a future effort (https://issues.apache.org/jira/browse/NIFI-2730).
Note | |
---|---|
NiFi does not perform user authentication over HTTP. Using HTTP, all users will be granted all roles. |