What is the purpose of the USAGE privilege?

hello_world
Databricks Partner

I watched a couple of courses on Databricks Academy, none of which clearly explains or demonstrates the purpose of the USAGE privilege.

USAGE: does not give any abilities, but is an additional requirement to perform any action on a schema object.

I have many questions about this statement.

  1. By "any action", does it mean CREATE and DROP a schema? How about other actions for instance SHOW and DESCRIBE?
  2. By "on a schema object", does it mean I do not need USAGE if I am only to perform CREATE, DROP, and SELECT on table objects? Or do I still need it considering tables are under schemas?
  3. Similar to question 2, do I need USAGE if all operations will be on the catalog level?
  4. Lastly, why does Databricks have USAGE? It sounds to me just overcomplicates the hierarchy.

Rishabh-Pandey
Databricks MVP

hey @S L​ ​ I also have these questions , and what i get to know that usage is the minimum and mandot requirement which individual should have to perform any actions , that does not mean that you can do any actions by only usage permission , usage is the required permisson with any other permissons . simple if you want to perform drop , show and other actions you should also have a usage permisson.

Rishabh Pandey

Celebal2
Databricks Partner

In Databricks (Unity Catalog), USAGE is a basic access privilege that allows a user to access a container object but not read or modify data inside it.

Think like:

“Permission to enter the building, but not open any rooms.”