org.apache.accumulo.server.security
Class ZKAuthenticator

java.lang.Object
  extended by org.apache.accumulo.server.security.ZKAuthenticator
All Implemented Interfaces:
Authenticator

public final class ZKAuthenticator
extends Object
implements Authenticator


Constructor Summary
ZKAuthenticator(String instanceId)
           
 
Method Summary
 boolean authenticateUser(AuthInfo credentials, String user, byte[] pass)
           
 boolean authenticateUser(AuthInfo credentials, String user, ByteBuffer pass)
           
 void changeAuthorizations(AuthInfo credentials, String user, Authorizations authorizations)
           
 void changePassword(AuthInfo credentials, String user, byte[] pass)
           
 void clearCache(String user)
           
 void clearCache(String user, String tableId)
           
 void createUser(AuthInfo credentials, String user, byte[] pass, Authorizations authorizations)
          Creates a user with no permissions whatsoever
 void deleteTable(AuthInfo credentials, String table)
           
 void dropUser(AuthInfo credentials, String user)
           
static Authenticator getInstance()
           
 String getRootUsername()
           
 Authorizations getUserAuthorizations(AuthInfo credentials, String user)
           
 void grantSystemPermission(AuthInfo credentials, String user, SystemPermission permission)
           
 void grantTablePermission(AuthInfo credentials, String user, String table, TablePermission permission)
           
 boolean hasSystemPermission(AuthInfo credentials, String user, SystemPermission permission)
          Checks if a user has a system permission
 boolean hasTablePermission(AuthInfo credentials, String user, String table, TablePermission permission)
           
 void initializeSecurity(AuthInfo credentials, String rootuser, byte[] rootpass)
          Only SYSTEM user can call this method
 Set<String> listUsers(AuthInfo credentials)
           
 void revokeSystemPermission(AuthInfo credentials, String user, SystemPermission permission)
           
 void revokeTablePermission(AuthInfo credentials, String user, String table, TablePermission permission)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ZKAuthenticator

public ZKAuthenticator(String instanceId)
Method Detail

getInstance

public static Authenticator getInstance()

initializeSecurity

public void initializeSecurity(AuthInfo credentials,
                               String rootuser,
                               byte[] rootpass)
                        throws AccumuloSecurityException
Only SYSTEM user can call this method

Specified by:
initializeSecurity in interface Authenticator
Throws:
AccumuloSecurityException

getRootUsername

public String getRootUsername()
Specified by:
getRootUsername in interface Authenticator

authenticateUser

public boolean authenticateUser(AuthInfo credentials,
                                String user,
                                ByteBuffer pass)
                         throws AccumuloSecurityException
Specified by:
authenticateUser in interface Authenticator
Throws:
AccumuloSecurityException

authenticateUser

public boolean authenticateUser(AuthInfo credentials,
                                String user,
                                byte[] pass)
                         throws AccumuloSecurityException
Throws:
AccumuloSecurityException

listUsers

public Set<String> listUsers(AuthInfo credentials)
                      throws AccumuloSecurityException
Specified by:
listUsers in interface Authenticator
Throws:
AccumuloSecurityException

createUser

public void createUser(AuthInfo credentials,
                       String user,
                       byte[] pass,
                       Authorizations authorizations)
                throws AccumuloSecurityException
Creates a user with no permissions whatsoever

Specified by:
createUser in interface Authenticator
Throws:
AccumuloSecurityException

dropUser

public void dropUser(AuthInfo credentials,
                     String user)
              throws AccumuloSecurityException
Specified by:
dropUser in interface Authenticator
Throws:
AccumuloSecurityException

changePassword

public void changePassword(AuthInfo credentials,
                           String user,
                           byte[] pass)
                    throws AccumuloSecurityException
Specified by:
changePassword in interface Authenticator
Throws:
AccumuloSecurityException

changeAuthorizations

public void changeAuthorizations(AuthInfo credentials,
                                 String user,
                                 Authorizations authorizations)
                          throws AccumuloSecurityException
Specified by:
changeAuthorizations in interface Authenticator
Throws:
AccumuloSecurityException

getUserAuthorizations

public Authorizations getUserAuthorizations(AuthInfo credentials,
                                            String user)
                                     throws AccumuloSecurityException
Specified by:
getUserAuthorizations in interface Authenticator
Throws:
AccumuloSecurityException

hasSystemPermission

public boolean hasSystemPermission(AuthInfo credentials,
                                   String user,
                                   SystemPermission permission)
                            throws AccumuloSecurityException
Checks if a user has a system permission

Specified by:
hasSystemPermission in interface Authenticator
Returns:
true if a user exists and has permission; false otherwise
Throws:
AccumuloSecurityException

hasTablePermission

public boolean hasTablePermission(AuthInfo credentials,
                                  String user,
                                  String table,
                                  TablePermission permission)
                           throws AccumuloSecurityException
Specified by:
hasTablePermission in interface Authenticator
Throws:
AccumuloSecurityException

grantSystemPermission

public void grantSystemPermission(AuthInfo credentials,
                                  String user,
                                  SystemPermission permission)
                           throws AccumuloSecurityException
Specified by:
grantSystemPermission in interface Authenticator
Throws:
AccumuloSecurityException

grantTablePermission

public void grantTablePermission(AuthInfo credentials,
                                 String user,
                                 String table,
                                 TablePermission permission)
                          throws AccumuloSecurityException
Specified by:
grantTablePermission in interface Authenticator
Throws:
AccumuloSecurityException

revokeSystemPermission

public void revokeSystemPermission(AuthInfo credentials,
                                   String user,
                                   SystemPermission permission)
                            throws AccumuloSecurityException
Specified by:
revokeSystemPermission in interface Authenticator
Throws:
AccumuloSecurityException

revokeTablePermission

public void revokeTablePermission(AuthInfo credentials,
                                  String user,
                                  String table,
                                  TablePermission permission)
                           throws AccumuloSecurityException
Specified by:
revokeTablePermission in interface Authenticator
Throws:
AccumuloSecurityException

deleteTable

public void deleteTable(AuthInfo credentials,
                        String table)
                 throws AccumuloSecurityException
Specified by:
deleteTable in interface Authenticator
Throws:
AccumuloSecurityException

clearCache

public void clearCache(String user)
Specified by:
clearCache in interface Authenticator

clearCache

public void clearCache(String user,
                       String tableId)
Specified by:
clearCache in interface Authenticator


Copyright © 2012 The Apache Software Foundation. All Rights Reserved.