@InterfaceAudience.Private public class TableAuthManager extends Object implements Closeable
| Modifier and Type | Method and Description |
|---|---|
boolean |
authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Authorize a global permission based on ACLs for the given user and the
user's groups.
|
boolean |
authorize(org.apache.hadoop.hbase.security.User user,
String namespace,
org.apache.hadoop.hbase.security.access.Permission.Action action) |
boolean |
authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
byte[] qualifier,
org.apache.hadoop.hbase.security.access.Permission.Action action) |
boolean |
authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
org.apache.hadoop.hbase.security.access.Permission.Action action) |
boolean |
authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.Cell cell,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Authorize a user for a given KV.
|
boolean |
authorizeGroup(String groupName,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Checks global authorization for a given action for a group, based on the stored
permissions.
|
boolean |
authorizeGroup(String groupName,
org.apache.hadoop.hbase.TableName table,
byte[] family,
byte[] qualifier,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Checks authorization to a given table, column family and column for a group, based
on the stored permissions.
|
boolean |
authorizeUser(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
byte[] qualifier,
org.apache.hadoop.hbase.security.access.Permission.Action action) |
boolean |
authorizeUser(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Checks authorization to a given table and column family for a user, based on the
stored user permissions.
|
void |
close() |
long |
getMTime() |
static TableAuthManager |
getOrCreate(org.apache.hadoop.hbase.zookeeper.ZKWatcher watcher,
org.apache.hadoop.conf.Configuration conf)
Returns a TableAuthManager from the cache.
|
static int |
getTotalRefCount() |
ZKPermissionWatcher |
getZKPermissionWatcher() |
boolean |
groupHasAccess(String groupName,
org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Checks if the user has access to the full table or at least a family/qualifier
for the specified action.
|
boolean |
hasAccess(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.security.access.Permission.Action action) |
boolean |
matchPermission(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
byte[] qualifier,
org.apache.hadoop.hbase.security.access.Permission.Action action) |
boolean |
matchPermission(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Returns true if the given user has a
TablePermission matching up
to the column family portion of a permission. |
void |
refreshNamespaceCacheFromWritable(String namespace,
byte[] data) |
void |
refreshTableCacheFromWritable(org.apache.hadoop.hbase.TableName table,
byte[] data) |
static void |
release(TableAuthManager instance)
Releases the resources for the given TableAuthManager if the reference count is down to 0.
|
void |
removeNamespace(byte[] ns) |
void |
removeTable(org.apache.hadoop.hbase.TableName table) |
void |
setNamespaceGroupPermissions(String group,
String namespace,
List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
Overwrites the existing permission set for a group and triggers an update
for zookeeper synchronization.
|
void |
setNamespaceUserPermissions(String username,
String namespace,
List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
Overwrites the existing permission set for a given user for a table, and
triggers an update for zookeeper synchronization.
|
void |
setTableGroupPermissions(String group,
org.apache.hadoop.hbase.TableName table,
List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
Overwrites the existing permission set for a group and triggers an update
for zookeeper synchronization.
|
void |
setTableUserPermissions(String username,
org.apache.hadoop.hbase.TableName table,
List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
Overwrites the existing permission set for a given user for a table, and
triggers an update for zookeeper synchronization.
|
boolean |
userHasAccess(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.security.access.Permission.Action action)
Checks if the user has access to the full table or at least a family/qualifier
for the specified action.
|
void |
writeNamespaceToZooKeeper(String namespace,
org.apache.hadoop.hbase.security.access.TableAuthManager.PermissionCache<org.apache.hadoop.hbase.security.access.TablePermission> tablePerms) |
void |
writeTableToZooKeeper(org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.security.access.TableAuthManager.PermissionCache<org.apache.hadoop.hbase.security.access.TablePermission> tablePerms) |
public void close()
close in interface Closeableclose in interface AutoCloseablepublic ZKPermissionWatcher getZKPermissionWatcher()
public void refreshTableCacheFromWritable(org.apache.hadoop.hbase.TableName table,
byte[] data)
throws IOException
IOExceptionpublic void refreshNamespaceCacheFromWritable(String namespace, byte[] data) throws IOException
IOExceptionpublic boolean authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.security.access.Permission.Action action)
user - action - public boolean authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.Cell cell,
org.apache.hadoop.hbase.security.access.Permission.Action action)
public boolean authorize(org.apache.hadoop.hbase.security.User user,
String namespace,
org.apache.hadoop.hbase.security.access.Permission.Action action)
public boolean authorizeUser(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
org.apache.hadoop.hbase.security.access.Permission.Action action)
user - table - family - action - public boolean authorizeUser(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
byte[] qualifier,
org.apache.hadoop.hbase.security.access.Permission.Action action)
public boolean userHasAccess(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.security.access.Permission.Action action)
user - table - action - public boolean authorizeGroup(String groupName, org.apache.hadoop.hbase.security.access.Permission.Action action)
public boolean authorizeGroup(String groupName, org.apache.hadoop.hbase.TableName table, byte[] family, byte[] qualifier, org.apache.hadoop.hbase.security.access.Permission.Action action)
groupName - table - family - qualifier - action - public boolean groupHasAccess(String groupName, org.apache.hadoop.hbase.TableName table, org.apache.hadoop.hbase.security.access.Permission.Action action)
groupName - table - action - public boolean authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
byte[] qualifier,
org.apache.hadoop.hbase.security.access.Permission.Action action)
public boolean hasAccess(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.security.access.Permission.Action action)
public boolean authorize(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
org.apache.hadoop.hbase.security.access.Permission.Action action)
public boolean matchPermission(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
org.apache.hadoop.hbase.security.access.Permission.Action action)
TablePermission matching up
to the column family portion of a permission. Note that this permission
may be scoped to a given column qualifier and does not guarantee that
authorize() on the same column family would return true.public boolean matchPermission(org.apache.hadoop.hbase.security.User user,
org.apache.hadoop.hbase.TableName table,
byte[] family,
byte[] qualifier,
org.apache.hadoop.hbase.security.access.Permission.Action action)
public void removeNamespace(byte[] ns)
public void removeTable(org.apache.hadoop.hbase.TableName table)
public void setTableUserPermissions(String username, org.apache.hadoop.hbase.TableName table, List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
username - table - perms - public void setTableGroupPermissions(String group, org.apache.hadoop.hbase.TableName table, List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
group - table - perms - public void setNamespaceUserPermissions(String username, String namespace, List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
username - namespace - perms - public void setNamespaceGroupPermissions(String group, String namespace, List<org.apache.hadoop.hbase.security.access.TablePermission> perms)
group - namespace - perms - public void writeTableToZooKeeper(org.apache.hadoop.hbase.TableName table,
org.apache.hadoop.hbase.security.access.TableAuthManager.PermissionCache<org.apache.hadoop.hbase.security.access.TablePermission> tablePerms)
public void writeNamespaceToZooKeeper(String namespace, org.apache.hadoop.hbase.security.access.TableAuthManager.PermissionCache<org.apache.hadoop.hbase.security.access.TablePermission> tablePerms)
public long getMTime()
public static TableAuthManager getOrCreate(org.apache.hadoop.hbase.zookeeper.ZKWatcher watcher, org.apache.hadoop.conf.Configuration conf) throws IOException
release(TableAuthManager).IOExceptionpublic static int getTotalRefCount()
public static void release(TableAuthManager instance)
instance - TableAuthManager to be releasedCopyright © 2007–2020 The Apache Software Foundation. All rights reserved.