Class FileBasedSystemAccessControl
- java.lang.Object
-
- io.prestosql.plugin.base.security.FileBasedSystemAccessControl
-
- All Implemented Interfaces:
io.prestosql.spi.security.SystemAccessControl
public class FileBasedSystemAccessControl extends java.lang.Object implements io.prestosql.spi.security.SystemAccessControl
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFileBasedSystemAccessControl.Factory
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringNAME
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidcheckCanAccessCatalog(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)voidcheckCanAddColumn(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanCreateSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema)voidcheckCanCreateTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanCreateView(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName view)voidcheckCanCreateViewWithSelectFromColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, java.util.Set<java.lang.String> columns)voidcheckCanDeleteFromTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanDropColumn(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanDropSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema)voidcheckCanDropTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanDropView(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName view)voidcheckCanExecuteFunction(io.prestosql.spi.security.SystemSecurityContext systemSecurityContext, java.lang.String functionName)voidcheckCanExecuteProcedure(io.prestosql.spi.security.SystemSecurityContext systemSecurityContext, io.prestosql.spi.connector.CatalogSchemaRoutineName procedure)voidcheckCanExecuteQuery(io.prestosql.spi.security.SystemSecurityContext context)voidcheckCanGrantExecuteFunctionPrivilege(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String functionName, io.prestosql.spi.security.PrestoPrincipal grantee, boolean grantOption)voidcheckCanGrantTablePrivilege(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.security.Privilege privilege, io.prestosql.spi.connector.CatalogSchemaTableName table, io.prestosql.spi.security.PrestoPrincipal grantee, boolean grantOption)voidcheckCanImpersonateUser(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String userName)voidcheckCanInsertIntoTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanKillQueryOwnedBy(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String queryOwner)voidcheckCanReadSystemInformation(io.prestosql.spi.security.SystemSecurityContext context)voidcheckCanRenameColumn(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanRenameSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema, java.lang.String newSchemaName)voidcheckCanRenameTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, io.prestosql.spi.connector.CatalogSchemaTableName newTable)voidcheckCanRenameView(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName view, io.prestosql.spi.connector.CatalogSchemaTableName newView)voidcheckCanRevokeTablePrivilege(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.security.Privilege privilege, io.prestosql.spi.connector.CatalogSchemaTableName table, io.prestosql.spi.security.PrestoPrincipal revokee, boolean grantOption)voidcheckCanSelectFromColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, java.util.Set<java.lang.String> columns)voidcheckCanSetCatalogSessionProperty(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName, java.lang.String propertyName)voidcheckCanSetColumnComment(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanSetSchemaAuthorization(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema, io.prestosql.spi.security.PrestoPrincipal principal)voidcheckCanSetSystemSessionProperty(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String propertyName)voidcheckCanSetTableComment(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanSetUser(java.util.Optional<java.security.Principal> principal, java.lang.String userName)voidcheckCanShowColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanShowCreateSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schemaName)voidcheckCanShowCreateTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)voidcheckCanShowRoles(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)voidcheckCanShowSchemas(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)voidcheckCanShowTables(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema)voidcheckCanViewQueryOwnedBy(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String queryOwner)voidcheckCanWriteSystemInformation(io.prestosql.spi.security.SystemSecurityContext context)java.util.Set<java.lang.String>filterCatalogs(io.prestosql.spi.security.SystemSecurityContext context, java.util.Set<java.lang.String> catalogs)java.util.List<io.prestosql.spi.connector.ColumnMetadata>filterColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName tableName, java.util.List<io.prestosql.spi.connector.ColumnMetadata> columns)java.util.Set<java.lang.String>filterSchemas(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName, java.util.Set<java.lang.String> schemaNames)java.util.Set<io.prestosql.spi.connector.SchemaTableName>filterTables(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName, java.util.Set<io.prestosql.spi.connector.SchemaTableName> tableNames)java.util.Set<java.lang.String>filterViewQueryOwnedBy(io.prestosql.spi.security.SystemSecurityContext context, java.util.Set<java.lang.String> queryOwners)java.util.Optional<io.prestosql.spi.security.ViewExpression>getColumnMask(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName tableName, java.lang.String columnName, io.prestosql.spi.type.Type type)java.lang.Iterable<io.prestosql.spi.eventlistener.EventListener>getEventListeners()java.util.Optional<io.prestosql.spi.security.ViewExpression>getRowFilter(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName tableName)
-
-
-
Field Detail
-
NAME
public static final java.lang.String NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
checkCanImpersonateUser
public void checkCanImpersonateUser(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String userName)- Specified by:
checkCanImpersonateUserin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanSetUser
public void checkCanSetUser(java.util.Optional<java.security.Principal> principal, java.lang.String userName)- Specified by:
checkCanSetUserin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanExecuteQuery
public void checkCanExecuteQuery(io.prestosql.spi.security.SystemSecurityContext context)
- Specified by:
checkCanExecuteQueryin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanViewQueryOwnedBy
public void checkCanViewQueryOwnedBy(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String queryOwner)- Specified by:
checkCanViewQueryOwnedByin interfaceio.prestosql.spi.security.SystemAccessControl
-
filterViewQueryOwnedBy
public java.util.Set<java.lang.String> filterViewQueryOwnedBy(io.prestosql.spi.security.SystemSecurityContext context, java.util.Set<java.lang.String> queryOwners)- Specified by:
filterViewQueryOwnedByin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanKillQueryOwnedBy
public void checkCanKillQueryOwnedBy(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String queryOwner)- Specified by:
checkCanKillQueryOwnedByin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanReadSystemInformation
public void checkCanReadSystemInformation(io.prestosql.spi.security.SystemSecurityContext context)
- Specified by:
checkCanReadSystemInformationin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanWriteSystemInformation
public void checkCanWriteSystemInformation(io.prestosql.spi.security.SystemSecurityContext context)
- Specified by:
checkCanWriteSystemInformationin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanSetSystemSessionProperty
public void checkCanSetSystemSessionProperty(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String propertyName)- Specified by:
checkCanSetSystemSessionPropertyin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanAccessCatalog
public void checkCanAccessCatalog(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)- Specified by:
checkCanAccessCatalogin interfaceio.prestosql.spi.security.SystemAccessControl
-
filterCatalogs
public java.util.Set<java.lang.String> filterCatalogs(io.prestosql.spi.security.SystemSecurityContext context, java.util.Set<java.lang.String> catalogs)- Specified by:
filterCatalogsin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanCreateSchema
public void checkCanCreateSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema)- Specified by:
checkCanCreateSchemain interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanDropSchema
public void checkCanDropSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema)- Specified by:
checkCanDropSchemain interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanRenameSchema
public void checkCanRenameSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema, java.lang.String newSchemaName)- Specified by:
checkCanRenameSchemain interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanSetSchemaAuthorization
public void checkCanSetSchemaAuthorization(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema, io.prestosql.spi.security.PrestoPrincipal principal)- Specified by:
checkCanSetSchemaAuthorizationin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanShowSchemas
public void checkCanShowSchemas(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)- Specified by:
checkCanShowSchemasin interfaceio.prestosql.spi.security.SystemAccessControl
-
filterSchemas
public java.util.Set<java.lang.String> filterSchemas(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName, java.util.Set<java.lang.String> schemaNames)- Specified by:
filterSchemasin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanShowCreateTable
public void checkCanShowCreateTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanShowCreateTablein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanShowCreateSchema
public void checkCanShowCreateSchema(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schemaName)- Specified by:
checkCanShowCreateSchemain interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanCreateTable
public void checkCanCreateTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanCreateTablein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanDropTable
public void checkCanDropTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanDropTablein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanRenameTable
public void checkCanRenameTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, io.prestosql.spi.connector.CatalogSchemaTableName newTable)- Specified by:
checkCanRenameTablein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanSetTableComment
public void checkCanSetTableComment(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanSetTableCommentin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanSetColumnComment
public void checkCanSetColumnComment(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanSetColumnCommentin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanShowTables
public void checkCanShowTables(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema)- Specified by:
checkCanShowTablesin interfaceio.prestosql.spi.security.SystemAccessControl
-
filterTables
public java.util.Set<io.prestosql.spi.connector.SchemaTableName> filterTables(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName, java.util.Set<io.prestosql.spi.connector.SchemaTableName> tableNames)- Specified by:
filterTablesin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanShowColumns
public void checkCanShowColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanShowColumnsin interfaceio.prestosql.spi.security.SystemAccessControl
-
filterColumns
public java.util.List<io.prestosql.spi.connector.ColumnMetadata> filterColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName tableName, java.util.List<io.prestosql.spi.connector.ColumnMetadata> columns)- Specified by:
filterColumnsin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanAddColumn
public void checkCanAddColumn(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanAddColumnin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanDropColumn
public void checkCanDropColumn(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanDropColumnin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanRenameColumn
public void checkCanRenameColumn(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanRenameColumnin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanSelectFromColumns
public void checkCanSelectFromColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, java.util.Set<java.lang.String> columns)- Specified by:
checkCanSelectFromColumnsin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanInsertIntoTable
public void checkCanInsertIntoTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanInsertIntoTablein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanDeleteFromTable
public void checkCanDeleteFromTable(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)- Specified by:
checkCanDeleteFromTablein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanCreateView
public void checkCanCreateView(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName view)- Specified by:
checkCanCreateViewin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanRenameView
public void checkCanRenameView(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName view, io.prestosql.spi.connector.CatalogSchemaTableName newView)- Specified by:
checkCanRenameViewin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanDropView
public void checkCanDropView(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName view)- Specified by:
checkCanDropViewin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanCreateViewWithSelectFromColumns
public void checkCanCreateViewWithSelectFromColumns(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, java.util.Set<java.lang.String> columns)- Specified by:
checkCanCreateViewWithSelectFromColumnsin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanGrantExecuteFunctionPrivilege
public void checkCanGrantExecuteFunctionPrivilege(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String functionName, io.prestosql.spi.security.PrestoPrincipal grantee, boolean grantOption)- Specified by:
checkCanGrantExecuteFunctionPrivilegein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanSetCatalogSessionProperty
public void checkCanSetCatalogSessionProperty(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName, java.lang.String propertyName)- Specified by:
checkCanSetCatalogSessionPropertyin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanGrantTablePrivilege
public void checkCanGrantTablePrivilege(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.security.Privilege privilege, io.prestosql.spi.connector.CatalogSchemaTableName table, io.prestosql.spi.security.PrestoPrincipal grantee, boolean grantOption)- Specified by:
checkCanGrantTablePrivilegein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanRevokeTablePrivilege
public void checkCanRevokeTablePrivilege(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.security.Privilege privilege, io.prestosql.spi.connector.CatalogSchemaTableName table, io.prestosql.spi.security.PrestoPrincipal revokee, boolean grantOption)- Specified by:
checkCanRevokeTablePrivilegein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanShowRoles
public void checkCanShowRoles(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)- Specified by:
checkCanShowRolesin interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanExecuteProcedure
public void checkCanExecuteProcedure(io.prestosql.spi.security.SystemSecurityContext systemSecurityContext, io.prestosql.spi.connector.CatalogSchemaRoutineName procedure)- Specified by:
checkCanExecuteProcedurein interfaceio.prestosql.spi.security.SystemAccessControl
-
checkCanExecuteFunction
public void checkCanExecuteFunction(io.prestosql.spi.security.SystemSecurityContext systemSecurityContext, java.lang.String functionName)- Specified by:
checkCanExecuteFunctionin interfaceio.prestosql.spi.security.SystemAccessControl
-
getEventListeners
public java.lang.Iterable<io.prestosql.spi.eventlistener.EventListener> getEventListeners()
- Specified by:
getEventListenersin interfaceio.prestosql.spi.security.SystemAccessControl
-
getRowFilter
public java.util.Optional<io.prestosql.spi.security.ViewExpression> getRowFilter(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName tableName)- Specified by:
getRowFilterin interfaceio.prestosql.spi.security.SystemAccessControl
-
getColumnMask
public java.util.Optional<io.prestosql.spi.security.ViewExpression> getColumnMask(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName tableName, java.lang.String columnName, io.prestosql.spi.type.Type type)- Specified by:
getColumnMaskin interfaceio.prestosql.spi.security.SystemAccessControl
-
-