Hide unaccessible schemas from users

Details

Detail name Value
Changelog Number 3056
Type Improvement
Status Resolved
Fix Versions Exasol 6.2.0
Resolution Date 2020-03-17

Previous behavior

Before version 6.2 every user could see all schemas (including virtual schemas) and tables independently of access privileges or ownership.

On database systems with many schemas (users, departments, logical parts) this caused the undesired effects that

  • SQL client browsers were flooded with inaccessible schemas, making it difficult to find the relevant schemas that could be accessed 
  • users could gain unwanted insight by interpreting schema names

Change

Starting with version 6.2 a user can only "see" a schema or table if the user is owner or if the user has an object or system privilege for that schema.

Please refer to the section "Schema and Virtual Schema Accessibility" in the documentation for the precise definition of accessibility. As a consequence, the tables EXA_SCHEMAS, EXA_VIRTUAL_SCHEMAS, EXA_ALL_OBJECTS and EXA_ALL_OBJECT_SIZES only show accessible schemas and virtual schemas to a user. This restriction also affects metadata connections via JDBC, ODBC and ADO.NET. Note that even under the new restriction a user can open any schema even without any apropriate privilege. However, the user cannot directly gather further information about a schema or virtual schema because the system tables CAT and EXA_SCHEMA_OBJECTS are restricted to accessible objects, too.

Changed behavior

Tables EXA_SCHEMAS, EXA_VIRTUAL_SCHEMAS, EXA_ALL_OBJECTS and EXA_ALL_OBJECT_SIZES only show accessible schemas and virtual schemas if the commandline parameter -extendedSchemaVisibility=0 is set.