public class ZKPermHandler extends Object implements PermissionHandler
Constructor and Description |
---|
ZKPermHandler() |
Modifier and Type | Method and Description |
---|---|
void |
cleanNamespacePermissions(String namespace)
Cleans up the permissions for a namespace.
|
void |
cleanTablePermissions(String table)
Cleans up the permissions for a table.
|
void |
cleanUser(String user)
Deletes a user
|
static PermissionHandler |
getInstance() |
void |
grantNamespacePermission(String user,
String namespace,
NamespacePermission permission)
Gives the user the given namespace permission
|
void |
grantSystemPermission(String user,
SystemPermission permission)
Gives the user the given system permission
|
void |
grantTablePermission(String user,
String table,
TablePermission permission)
Gives the user the given table permission
|
boolean |
hasCachedNamespacePermission(String user,
String namespace,
NamespacePermission permission)
Used to get the namespace permission of a user for a namespace, with caching.
|
boolean |
hasCachedSystemPermission(String user,
SystemPermission permission)
Used to get the system permission for the user, with caching due to high frequency operation.
|
boolean |
hasCachedTablePermission(String user,
String table,
TablePermission permission)
Used to get the table permission of a user for a table, with caching.
|
boolean |
hasNamespacePermission(String user,
String namespace,
NamespacePermission permission)
Used to get the namespace permission of a user for a namespace
|
boolean |
hasSystemPermission(String user,
SystemPermission permission)
Used to get the system permission for the user
|
boolean |
hasTablePermission(String user,
String table,
TablePermission permission)
Used to get the table permission of a user for a table
|
void |
initialize(ServerContext context,
boolean initialize)
Sets up the permission handler for a new instance of Accumulo
|
void |
initializeSecurity(TCredentials itw,
String rootuser)
Used to initialize security for the root user
|
void |
initUser(String user)
Initializes a new user
|
void |
revokeNamespacePermission(String user,
String namespace,
NamespacePermission permission)
Denies the user the given namespace permission.
|
void |
revokeSystemPermission(String user,
SystemPermission permission)
Denies the user the given system permission
|
void |
revokeTablePermission(String user,
String table,
TablePermission permission)
Denies the user the given table permission.
|
boolean |
validSecurityHandlers(Authenticator authent,
Authorizor author)
Used to validate that the Authorizor, Authenticator, and permission handler can coexist
|
public static PermissionHandler getInstance()
public void initialize(ServerContext context, boolean initialize)
PermissionHandler
initialize
in interface PermissionHandler
public boolean hasTablePermission(String user, String table, TablePermission permission) throws TableNotFoundException
PermissionHandler
hasTablePermission
in interface PermissionHandler
TableNotFoundException
public boolean hasCachedTablePermission(String user, String table, TablePermission permission)
PermissionHandler
hasCachedTablePermission
in interface PermissionHandler
public boolean hasNamespacePermission(String user, String namespace, NamespacePermission permission) throws NamespaceNotFoundException
PermissionHandler
hasNamespacePermission
in interface PermissionHandler
NamespaceNotFoundException
public boolean hasCachedNamespacePermission(String user, String namespace, NamespacePermission permission)
PermissionHandler
hasCachedNamespacePermission
in interface PermissionHandler
public void grantSystemPermission(String user, SystemPermission permission) throws AccumuloSecurityException
PermissionHandler
grantSystemPermission
in interface PermissionHandler
AccumuloSecurityException
public void grantTablePermission(String user, String table, TablePermission permission) throws AccumuloSecurityException
PermissionHandler
grantTablePermission
in interface PermissionHandler
AccumuloSecurityException
public void grantNamespacePermission(String user, String namespace, NamespacePermission permission) throws AccumuloSecurityException
PermissionHandler
grantNamespacePermission
in interface PermissionHandler
AccumuloSecurityException
public void revokeSystemPermission(String user, SystemPermission permission) throws AccumuloSecurityException
PermissionHandler
revokeSystemPermission
in interface PermissionHandler
AccumuloSecurityException
public void revokeTablePermission(String user, String table, TablePermission permission) throws AccumuloSecurityException
PermissionHandler
revokeTablePermission
in interface PermissionHandler
AccumuloSecurityException
public void revokeNamespacePermission(String user, String namespace, NamespacePermission permission) throws AccumuloSecurityException
PermissionHandler
revokeNamespacePermission
in interface PermissionHandler
AccumuloSecurityException
public void cleanTablePermissions(String table) throws AccumuloSecurityException
PermissionHandler
cleanTablePermissions
in interface PermissionHandler
AccumuloSecurityException
public void cleanNamespacePermissions(String namespace) throws AccumuloSecurityException
PermissionHandler
cleanNamespacePermissions
in interface PermissionHandler
AccumuloSecurityException
public void initializeSecurity(TCredentials itw, String rootuser) throws AccumuloSecurityException
PermissionHandler
initializeSecurity
in interface PermissionHandler
AccumuloSecurityException
public void initUser(String user) throws AccumuloSecurityException
PermissionHandler
initUser
in interface PermissionHandler
AccumuloSecurityException
public void cleanUser(String user) throws AccumuloSecurityException
PermissionHandler
cleanUser
in interface PermissionHandler
AccumuloSecurityException
public boolean hasSystemPermission(String user, SystemPermission permission)
PermissionHandler
hasSystemPermission
in interface PermissionHandler
public boolean hasCachedSystemPermission(String user, SystemPermission permission)
PermissionHandler
hasCachedSystemPermission
in interface PermissionHandler
public boolean validSecurityHandlers(Authenticator authent, Authorizor author)
PermissionHandler
validSecurityHandlers
in interface PermissionHandler
Copyright © 2011–2019 The Apache Software Foundation. All rights reserved.