Skip to main content

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.

OperationOwnership required?Catalog permissionsSchema permissionsVolume permissionsExternal location permissions
Read or list filesNoUSE CATALOGUSE SCHEMAREAD VOLUMENone
Create, delete, or update filesNoUSE CATALOGUSE SCHEMAREAD VOLUME, WRITE VOLUMENone
Create managed volumeNoUSE CATALOGUSE SCHEMA, CREATE VOLUMENoneNone
Create external volumeNoUSE CATALOGUSE SCHEMA, CREATE VOLUMENoneCREATE EXTERNAL VOLUME
Drop a volumeYesUSE CATALOGUSE SCHEMANoneNone
Manage volume privilegesYesUSE CATALOGUSE SCHEMANoneNone
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 and MANAGE privileges

You must be the owner or have the MANAGE privilege on the 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.
  • Users with the MANAGE privilege on the volume, its parent schema, or its parent catalog.

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. The MANAGE privilege can be granted to multiple principals. See Manage Unity Catalog object ownership.