org.apache.accumulo.core.client.admin
Class SecurityOperationsImpl

java.lang.Object
  extended by org.apache.accumulo.core.client.admin.SecurityOperations
      extended by org.apache.accumulo.core.client.admin.SecurityOperationsImpl

public class SecurityOperationsImpl
extends SecurityOperations


Constructor Summary
SecurityOperationsImpl(Instance instance, AuthInfo credentials)
           
 
Method Summary
 boolean authenticateUser(java.lang.String user, byte[] password)
          Verify a username/password combination is valid
 void changeUserAuthorizations(java.lang.String user, Authorizations authorizations)
          Set the user's record-level authorizations
 void changeUserPassword(java.lang.String user, byte[] password)
          Set the user's password
 void createUser(java.lang.String user, byte[] password, Authorizations authorizations)
          Create a user
 void dropUser(java.lang.String user)
          Delete a user
 Authorizations getUserAuthorizations(java.lang.String user)
          Retrieves the user's authorizations for scanning
 void grantSystemPermission(java.lang.String user, SystemPermission permission)
          Grant a user a system permission
 void grantTablePermission(java.lang.String user, java.lang.String table, TablePermission permission)
          Grant a user a specific permission for a specific table
 boolean hasSystemPermission(java.lang.String user, SystemPermission perm)
          Verify the user has a particular system permission
 boolean hasTablePermission(java.lang.String user, java.lang.String table, TablePermission perm)
          Verify the user has a particular table permission
 java.util.Set<java.lang.String> listUsers()
          Return a list of users in accumulo
 void revokeSystemPermission(java.lang.String user, SystemPermission permission)
          Revoke a system permission from a user
 void revokeTablePermission(java.lang.String user, java.lang.String table, TablePermission permission)
          Revoke a table permission for a specific user on a specific table
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SecurityOperationsImpl

public SecurityOperationsImpl(Instance instance,
                              AuthInfo credentials)
Parameters:
instance - the connection information
credentials - the user credentials to use for security operations
Method Detail

createUser

public void createUser(java.lang.String user,
                       byte[] password,
                       Authorizations authorizations)
                throws AccumuloException,
                       AccumuloSecurityException
Create a user

Overrides:
createUser in class SecurityOperations
Parameters:
user - the name of the user to create
password - the plaintext password for the user
authorizations - the authorizations that the user has for scanning
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to create a user

dropUser

public void dropUser(java.lang.String user)
              throws AccumuloException,
                     AccumuloSecurityException
Delete a user

Overrides:
dropUser in class SecurityOperations
Parameters:
user - the user name to delete
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to delete a user

authenticateUser

public boolean authenticateUser(java.lang.String user,
                                byte[] password)
                         throws AccumuloException,
                                AccumuloSecurityException
Verify a username/password combination is valid

Overrides:
authenticateUser in class SecurityOperations
Parameters:
user - the name of the user to authenticate
password - the plaintext password for the user
Returns:
true if the user asking is allowed to know and the specified user/password is valid, false otherwise
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to ask

changeUserPassword

public void changeUserPassword(java.lang.String user,
                               byte[] password)
                        throws AccumuloException,
                               AccumuloSecurityException
Set the user's password

Overrides:
changeUserPassword in class SecurityOperations
Parameters:
user - the name of the user to modify
password - the plaintext password for the user
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to modify a user

changeUserAuthorizations

public void changeUserAuthorizations(java.lang.String user,
                                     Authorizations authorizations)
                              throws AccumuloException,
                                     AccumuloSecurityException
Set the user's record-level authorizations

Overrides:
changeUserAuthorizations in class SecurityOperations
Parameters:
user - the name of the user to modify
authorizations - the authorizations that the user has for scanning
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to modify a user

getUserAuthorizations

public Authorizations getUserAuthorizations(java.lang.String user)
                                     throws AccumuloException,
                                            AccumuloSecurityException
Retrieves the user's authorizations for scanning

Overrides:
getUserAuthorizations in class SecurityOperations
Parameters:
user - the name of the user to query
Returns:
the set of authorizations the user has available for scanning
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to query a user

hasSystemPermission

public boolean hasSystemPermission(java.lang.String user,
                                   SystemPermission perm)
                            throws AccumuloException,
                                   AccumuloSecurityException
Verify the user has a particular system permission

Overrides:
hasSystemPermission in class SecurityOperations
Parameters:
user - the name of the user to query
perm - the system permission to check for
Returns:
true if user has that permission; false otherwise
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to query a user

hasTablePermission

public boolean hasTablePermission(java.lang.String user,
                                  java.lang.String table,
                                  TablePermission perm)
                           throws AccumuloException,
                                  AccumuloSecurityException
Verify the user has a particular table permission

Overrides:
hasTablePermission in class SecurityOperations
Parameters:
user - the name of the user to query
table - the name of the table to query about
perm - the table permission to check for
Returns:
true if user has that permission; false otherwise
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to query a user

grantSystemPermission

public void grantSystemPermission(java.lang.String user,
                                  SystemPermission permission)
                           throws AccumuloException,
                                  AccumuloSecurityException
Grant a user a system permission

Overrides:
grantSystemPermission in class SecurityOperations
Parameters:
user - the name of the user to modify
permission - the system permission to grant to the user
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to grant a user permissions

grantTablePermission

public void grantTablePermission(java.lang.String user,
                                 java.lang.String table,
                                 TablePermission permission)
                          throws AccumuloException,
                                 AccumuloSecurityException
Grant a user a specific permission for a specific table

Overrides:
grantTablePermission in class SecurityOperations
Parameters:
user - the name of the user to modify
table - the name of the table to modify for the user
permission - the table permission to grant to the user
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to grant a user permissions

revokeSystemPermission

public void revokeSystemPermission(java.lang.String user,
                                   SystemPermission permission)
                            throws AccumuloException,
                                   AccumuloSecurityException
Revoke a system permission from a user

Overrides:
revokeSystemPermission in class SecurityOperations
Parameters:
user - the name of the user to modify
permission - the system permission to revoke for the user
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to revoke a user's permissions

revokeTablePermission

public void revokeTablePermission(java.lang.String user,
                                  java.lang.String table,
                                  TablePermission permission)
                           throws AccumuloException,
                                  AccumuloSecurityException
Revoke a table permission for a specific user on a specific table

Overrides:
revokeTablePermission in class SecurityOperations
Parameters:
user - the name of the user to modify
table - the name of the table to modify for the user
permission - the table permission to revoke for the user
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to revoke a user's permissions

listUsers

public java.util.Set<java.lang.String> listUsers()
                                          throws AccumuloException,
                                                 AccumuloSecurityException
Return a list of users in accumulo

Overrides:
listUsers in class SecurityOperations
Returns:
a set of user names
Throws:
AccumuloException - if a general error occurs
AccumuloSecurityException - if the user does not have permission to query users


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