public class RangerBasedAccessControl extends Object implements com.facebook.presto.spi.connector.ConnectorAccessControl
| Constructor and Description |
|---|
RangerBasedAccessControl(RangerBasedAccessControlConfig config,
com.facebook.airlift.http.client.HttpClient httpClient) |
| Modifier and Type | Method and Description |
|---|---|
void |
checkCanAddColumn(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
Check if identity is allowed to add columns to the specified table in this catalog.
|
void |
checkCanCreateSchema(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String schemaName)
Check if identity is allowed to create the specified schema in this catalog.
|
void |
checkCanCreateTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
Check if identity is allowed to create the specified table in this catalog.
|
void |
checkCanCreateView(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName viewName)
Check if identity is allowed to create the specified view in this catalog.
|
void |
checkCanCreateViewWithSelectFromColumns(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName,
Set<String> columnNames)
Check if identity is allowed to create a view that selects from the specified columns in a relation.
|
void |
checkCanDeleteFromTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
Check if identity is allowed to delete from the specified table in this catalog.
|
void |
checkCanDropColumn(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
Check if identity is allowed to drop columns from the specified table in this catalog.
|
void |
checkCanDropSchema(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String schemaName)
Check if identity is allowed to drop the specified schema in this catalog.
|
void |
checkCanDropTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
Check if identity is allowed to drop the specified table in this catalog.
|
void |
checkCanDropView(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName viewName)
Check if identity is allowed to drop the specified view in this catalog.
|
void |
checkCanInsertIntoTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
Check if identity is allowed to insert into the specified table in this catalog.
|
void |
checkCanRenameColumn(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
Check if identity is allowed to rename a column in the specified table in this catalog.
|
void |
checkCanRenameTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName,
com.facebook.presto.spi.SchemaTableName newTableName)
Check if identity is allowed to rename the specified table in this catalog.
|
void |
checkCanSelectFromColumns(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName,
Set<com.facebook.presto.common.Subfield> columnOrSubfieldNames)
Check if identity is allowed to select from the specified columns in a relation.
|
void |
checkCanSetCatalogSessionProperty(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String propertyName)
Check if identity is allowed to set the specified property in this catalog.
|
void |
checkCanShowSchemas(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context)
Check if identity is allowed to execute SHOW SCHEMAS in a catalog.
|
void |
checkCanShowTablesMetadata(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String schemaName)
Check if identity is allowed to show metadata of tables by executing SHOW TABLES, SHOW GRANTS etc.
|
Set<String> |
filterSchemas(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
Set<String> schemaNames)
Filter the list of schemas to those visible to the identity.
|
Set<com.facebook.presto.spi.SchemaTableName> |
filterTables(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
Set<com.facebook.presto.spi.SchemaTableName> tableNames)
Filter the list of tables and views to those visible to the identity.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcheckCanCreateRole, checkCanDropRole, checkCanGrantRoles, checkCanGrantTablePrivilege, checkCanRenameSchema, checkCanRevokeRoles, checkCanRevokeTablePrivilege, checkCanSetRole, checkCanShowCurrentRoles, checkCanShowRoleGrants, checkCanShowRoles, checkCanTruncateTable@Inject public RangerBasedAccessControl(RangerBasedAccessControlConfig config, com.facebook.airlift.http.client.HttpClient httpClient)
public void checkCanCreateSchema(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String schemaName)
checkCanCreateSchema in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanDropSchema(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String schemaName)
checkCanDropSchema in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanShowSchemas(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context)
NOTE: This method is only present to give users an error message when listing is not allowed.
The filterSchemas(com.facebook.presto.spi.connector.ConnectorTransactionHandle, com.facebook.presto.spi.security.ConnectorIdentity, com.facebook.presto.spi.security.AccessControlContext, java.util.Set<java.lang.String>) method must handle filter all results for unauthorized users,
since there are multiple way to list schemas.
checkCanShowSchemas in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic Set<String> filterSchemas(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle, com.facebook.presto.spi.security.ConnectorIdentity identity, com.facebook.presto.spi.security.AccessControlContext context, Set<String> schemaNames)
filterSchemas in interface com.facebook.presto.spi.connector.ConnectorAccessControlpublic void checkCanCreateTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
checkCanCreateTable in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic Set<com.facebook.presto.spi.SchemaTableName> filterTables(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle, com.facebook.presto.spi.security.ConnectorIdentity identity, com.facebook.presto.spi.security.AccessControlContext context, Set<com.facebook.presto.spi.SchemaTableName> tableNames)
filterTables in interface com.facebook.presto.spi.connector.ConnectorAccessControlpublic void checkCanAddColumn(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
checkCanAddColumn in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanDropColumn(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
checkCanDropColumn in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanRenameColumn(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
checkCanRenameColumn in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanSelectFromColumns(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName,
Set<com.facebook.presto.common.Subfield> columnOrSubfieldNames)
checkCanSelectFromColumns in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanDropTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
checkCanDropTable in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanRenameTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName,
com.facebook.presto.spi.SchemaTableName newTableName)
checkCanRenameTable in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanShowTablesMetadata(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String schemaName)
NOTE: This method is only present to give users an error message when listing is not allowed.
The filterTables(com.facebook.presto.spi.connector.ConnectorTransactionHandle, com.facebook.presto.spi.security.ConnectorIdentity, com.facebook.presto.spi.security.AccessControlContext, java.util.Set<com.facebook.presto.spi.SchemaTableName>) method must filter all results for unauthorized users,
since there are multiple ways to list tables.
checkCanShowTablesMetadata in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanInsertIntoTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
checkCanInsertIntoTable in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanDeleteFromTable(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName)
checkCanDeleteFromTable in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanCreateView(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName viewName)
checkCanCreateView in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanDropView(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName viewName)
checkCanDropView in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanCreateViewWithSelectFromColumns(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
com.facebook.presto.spi.SchemaTableName tableName,
Set<String> columnNames)
checkCanCreateViewWithSelectFromColumns in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedpublic void checkCanSetCatalogSessionProperty(com.facebook.presto.spi.connector.ConnectorTransactionHandle transactionHandle,
com.facebook.presto.spi.security.ConnectorIdentity identity,
com.facebook.presto.spi.security.AccessControlContext context,
String propertyName)
checkCanSetCatalogSessionProperty in interface com.facebook.presto.spi.connector.ConnectorAccessControlcom.facebook.presto.spi.security.AccessDeniedException - if not allowedCopyright © 2012–2023. All rights reserved.