Class ReadOnlySystemAccessControl

  • All Implemented Interfaces:
    io.prestosql.spi.security.SystemAccessControl

    public class ReadOnlySystemAccessControl
    extends java.lang.Object
    implements io.prestosql.spi.security.SystemAccessControl
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String NAME  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void checkCanAccessCatalog​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)  
      void checkCanCreateViewWithSelectFromColumns​(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, java.util.Set<java.lang.String> columns)  
      void checkCanExecuteFunction​(io.prestosql.spi.security.SystemSecurityContext systemSecurityContext, java.lang.String functionName)  
      void checkCanExecuteQuery​(io.prestosql.spi.security.SystemSecurityContext context)  
      void checkCanGrantExecuteFunctionPrivilege​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String functionName, io.prestosql.spi.security.PrestoPrincipal grantee, boolean grantOption)  
      void checkCanImpersonateUser​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String userName)  
      void checkCanSelectFromColumns​(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table, java.util.Set<java.lang.String> columns)  
      void checkCanSetCatalogSessionProperty​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName, java.lang.String propertyName)  
      void checkCanSetSystemSessionProperty​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String propertyName)  
      void checkCanSetUser​(java.util.Optional<java.security.Principal> principal, java.lang.String userName)  
      void checkCanShowColumns​(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaTableName table)  
      void checkCanShowRoles​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)  
      void checkCanShowSchemas​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String catalogName)  
      void checkCanShowTables​(io.prestosql.spi.security.SystemSecurityContext context, io.prestosql.spi.connector.CatalogSchemaName schema)  
      void checkCanViewQueryOwnedBy​(io.prestosql.spi.security.SystemSecurityContext context, java.lang.String queryOwner)  
      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)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.prestosql.spi.security.SystemAccessControl

        checkCanAddColumn, checkCanCreateSchema, checkCanCreateTable, checkCanCreateView, checkCanDeleteFromTable, checkCanDropColumn, checkCanDropSchema, checkCanDropTable, checkCanDropView, checkCanExecuteProcedure, checkCanGrantTablePrivilege, checkCanInsertIntoTable, checkCanKillQueryOwnedBy, checkCanRenameColumn, checkCanRenameSchema, checkCanRenameTable, checkCanRenameView, checkCanRevokeTablePrivilege, checkCanSetSchemaAuthorization, checkCanSetTableComment, checkCanShowCreateSchema, checkCanShowCreateTable, getColumnMask, getEventListeners, getRowFilter
    • Constructor Detail

      • ReadOnlySystemAccessControl

        public ReadOnlySystemAccessControl()
    • Method Detail

      • checkCanImpersonateUser

        public void checkCanImpersonateUser​(io.prestosql.spi.security.SystemSecurityContext context,
                                            java.lang.String userName)
        Specified by:
        checkCanImpersonateUser in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanSetUser

        public void checkCanSetUser​(java.util.Optional<java.security.Principal> principal,
                                    java.lang.String userName)
        Specified by:
        checkCanSetUser in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanExecuteQuery

        public void checkCanExecuteQuery​(io.prestosql.spi.security.SystemSecurityContext context)
        Specified by:
        checkCanExecuteQuery in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanViewQueryOwnedBy

        public void checkCanViewQueryOwnedBy​(io.prestosql.spi.security.SystemSecurityContext context,
                                             java.lang.String queryOwner)
        Specified by:
        checkCanViewQueryOwnedBy in interface io.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:
        filterViewQueryOwnedBy in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanSetSystemSessionProperty

        public void checkCanSetSystemSessionProperty​(io.prestosql.spi.security.SystemSecurityContext context,
                                                     java.lang.String propertyName)
        Specified by:
        checkCanSetSystemSessionProperty in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanAccessCatalog

        public void checkCanAccessCatalog​(io.prestosql.spi.security.SystemSecurityContext context,
                                          java.lang.String catalogName)
        Specified by:
        checkCanAccessCatalog in interface io.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:
        checkCanSelectFromColumns in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanSetCatalogSessionProperty

        public void checkCanSetCatalogSessionProperty​(io.prestosql.spi.security.SystemSecurityContext context,
                                                      java.lang.String catalogName,
                                                      java.lang.String propertyName)
        Specified by:
        checkCanSetCatalogSessionProperty in interface io.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:
        checkCanCreateViewWithSelectFromColumns in interface io.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:
        checkCanGrantExecuteFunctionPrivilege in interface io.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:
        filterCatalogs in interface io.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:
        filterSchemas in interface io.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:
        filterTables in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanShowColumns

        public void checkCanShowColumns​(io.prestosql.spi.security.SystemSecurityContext context,
                                        io.prestosql.spi.connector.CatalogSchemaTableName table)
        Specified by:
        checkCanShowColumns in interface io.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:
        filterColumns in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanShowSchemas

        public void checkCanShowSchemas​(io.prestosql.spi.security.SystemSecurityContext context,
                                        java.lang.String catalogName)
        Specified by:
        checkCanShowSchemas in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanShowTables

        public void checkCanShowTables​(io.prestosql.spi.security.SystemSecurityContext context,
                                       io.prestosql.spi.connector.CatalogSchemaName schema)
        Specified by:
        checkCanShowTables in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanShowRoles

        public void checkCanShowRoles​(io.prestosql.spi.security.SystemSecurityContext context,
                                      java.lang.String catalogName)
        Specified by:
        checkCanShowRoles in interface io.prestosql.spi.security.SystemAccessControl
      • checkCanExecuteFunction

        public void checkCanExecuteFunction​(io.prestosql.spi.security.SystemSecurityContext systemSecurityContext,
                                            java.lang.String functionName)
        Specified by:
        checkCanExecuteFunction in interface io.prestosql.spi.security.SystemAccessControl