What are the privileges for volumes?

Privileges for volumes focus on working with files stored in cloud object storage.

Volumes introduce the following privileges:

See Unity Catalog privileges and securable objects.

Privileges required for volume operations

The following table lists the permissions required to work with volumes. Volumes rely on Unity Catalog, so you must be in a Unity Catalog-enabled workspace and use Unity Catalog-compatible compute to interact with volumes.

Operation Ownership required? Catalog permissions Schema permissions Volume permissions External location permissions
Read or list files No USE CATALOG USE SCHEMA READ VOLUME None
Create, delete, or update files No USE CATALOG USE SCHEMA READ VOLUME, WRITE VOLUME None
Create managed volume No USE CATALOG USE SCHEMA, CREATE VOLUME None None
Create external volume No USE CATALOG USE SCHEMA, CREATE VOLUME None CREATE EXTERNAL VOLUME
Drop a volume Yes USE CATALOG USE SCHEMA None None
Manage volume privileges Yes USE CATALOG USE SCHEMA None None

Note

Owners automatically get all privileges for a volume, and you can set privileges such as READ VOLUME and WRITE VOLUME at the catalog or schema level to cascade privileges to all contained volumes.

Volume ownership

You must have owner privileges on a volume to complete the following operations:

  • Manage volume privileges.
  • Drop the volume.
  • Rename the volume.
  • Change volume ownership.

Each object in Unity Catalog can only have one principal assigned as an owner, and while ownership does not cascade (that is, the owner of a catalog does not automatically become the owner of all objects in that catalog), the privileges associated with ownership apply to all objects contained within an object.

This means that for Unity Catalog volumes, the following principals can manage volume privileges:

  • The owner of the parent catalog.
  • The owner of the parent schema.
  • The owner of the volume.

While each object can only have a single owner, Databricks recommends assigning ownership for most objects to a group rather than an individual user. Initial ownership for any object is assigned to the user who creates that object. See Manage Unity Catalog object ownership.