Class ImpersonationAuthenticator


  • @ThreadSafe
    public final class ImpersonationAuthenticator
    extends java.lang.Object
    An authenticator for impersonation users. This determines if a connection user (the user making the connection) is configured to impersonate as a separate impersonation user. To enable impersonation for a particular connection user, the configuration parameter templates PropertyKey.Template.MASTER_IMPERSONATION_USERS_OPTION and/or PropertyKey.Template.MASTER_IMPERSONATION_GROUPS_OPTION must be used to specify the users and groups the connection user is allowed to impersonate.
    • Constructor Detail

      • ImpersonationAuthenticator

        public ImpersonationAuthenticator​(AlluxioConfiguration conf)
        Constructs a new ImpersonationAuthenticator. Note the constructor for this object is expensive. Take care with how many of these are instantiated.
        Parameters:
        conf - conf Alluxio configuration
    • Method Detail

      • authenticate

        public void authenticate​(java.lang.String connectionUser,
                                 java.lang.String impersonationUser)
                          throws javax.security.sasl.AuthenticationException
        Parameters:
        connectionUser - the user of the connection
        impersonationUser - the user to impersonate
        Throws:
        javax.security.sasl.AuthenticationException - if the connectionUser is not allowed to impersonate the impersonationUser