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 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, checkCanImpersonateUser, checkCanInsertIntoTable, checkCanKillQueryOwnedBy, checkCanReadSystemInformation, checkCanRenameColumn, checkCanRenameSchema, checkCanRenameTable, checkCanRenameView, checkCanRevokeTablePrivilege, checkCanSetColumnComment, checkCanSetSchemaAuthorization, checkCanSetTableComment, checkCanShowCreateSchema, checkCanShowCreateTable, checkCanWriteSystemInformation, getColumnMask, getEventListeners, getRowFilter
    • Constructor Detail

      • ReadOnlySystemAccessControl

        public ReadOnlySystemAccessControl()
    • Method Detail

      • 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