Password Authenticator
Presto supports authentication with a username and password via a custom password authenticator that validates the credentials and creates a principal.
Implementation
PasswordAuthenticatorFactory
is responsible for creating a PasswordAuthenticator
instance. It also defines the name of this authenticator which is used by the administrator in a Presto configuration.
PasswordAuthenticator
contains a single method, createAuthenticatedPrincipal()
, that validates the credential and returns a Principal
, which is then authorized by the System Access Control.
The implementation of PasswordAuthenticatorFactory
must be wrapped as a plugin and installed on the Presto cluster.
Configuration
After a plugin that implements PasswordAuthenticatorFactory
has been installed on the coordinator, it is configured using an etc/password-authenticator.properties
file. All of the properties other than access-control.name
are specific to the PasswordAuthenticatorFactory
implementation.
The password-authenticator.name
property is used by Presto to find a registered PasswordAuthenticatorFactory
based on the name returned by PasswordAuthenticatorFactory.getName()
. The remaining properties are passed as a map to PasswordAuthenticatorFactory.create()
.
Example configuration file:
password-authenticator.name=custom-access-control
custom-property1=custom-value1
custom-property2=custom-value2
Additionally, the coordinator must be configured to use password authentication and have HTTPS enabled.