Borderless Lakehouse IAM roles

Borderless Lakehouse defines several Identity and Access Management (IAM) roles for managing resources. Predefined roles, which you grant by using IAM policies, contain permissions that let principals perform specific actions. You can also create custom IAM roles to tailor access control to your needs.

This reference lists the IAM roles and permissions for the Lakehouse runtime catalog.

Before you begin

  • Read the IAM documentation.

Lakehouse roles

IAM Lakehouse roles are a bundle of one or more permissions. You grant roles to principals to let them perform actions on the Lakehouse resources in your project. For example, the BigLake Viewer role contains the biglake.*.get and biglake.*.list permissions, which let a user get and list Lakehouse resources in a project.

The following table lists all Lakehouse roles and the permissions associated with each role:

Role Permissions

(roles/biglake.admin)

Provides full access to all BigLake resources.

biglake.*

  • biglake.catalogs.create
  • biglake.catalogs.delete
  • biglake.catalogs.get
  • biglake.catalogs.getIamPolicy
  • biglake.catalogs.list
  • biglake.catalogs.setIamPolicy
  • biglake.catalogs.update
  • biglake.databases.create
  • biglake.databases.delete
  • biglake.databases.get
  • biglake.databases.list
  • biglake.databases.update
  • biglake.locks.check
  • biglake.locks.create
  • biglake.locks.delete
  • biglake.locks.list
  • biglake.namespaces.create
  • biglake.namespaces.delete
  • biglake.namespaces.get
  • biglake.namespaces.getIamPolicy
  • biglake.namespaces.list
  • biglake.namespaces.setIamPolicy
  • biglake.namespaces.update
  • biglake.tables.create
  • biglake.tables.createPartitions
  • biglake.tables.delete
  • biglake.tables.deletePartitions
  • biglake.tables.get
  • biglake.tables.getData
  • biglake.tables.getIamPolicy
  • biglake.tables.list
  • biglake.tables.listPartitions
  • biglake.tables.lock
  • biglake.tables.register
  • biglake.tables.setIamPolicy
  • biglake.tables.update
  • biglake.tables.updateData
  • biglake.tables.updatePartitions

resourcemanager.projects.get

resourcemanager.projects.list

(roles/biglake.editor)

Provides read and write access to all BigLake resources.

biglake.catalogs.create

biglake.catalogs.delete

biglake.catalogs.get

biglake.catalogs.getIamPolicy

biglake.catalogs.list

biglake.catalogs.update

biglake.databases.*

  • biglake.databases.create
  • biglake.databases.delete
  • biglake.databases.get
  • biglake.databases.list
  • biglake.databases.update

biglake.locks.*

  • biglake.locks.check
  • biglake.locks.create
  • biglake.locks.delete
  • biglake.locks.list

biglake.namespaces.create

biglake.namespaces.delete

biglake.namespaces.get

biglake.namespaces.getIamPolicy

biglake.namespaces.list

biglake.namespaces.update

biglake.tables.create

biglake.tables.createPartitions

biglake.tables.delete

biglake.tables.deletePartitions

biglake.tables.get

biglake.tables.getData

biglake.tables.getIamPolicy

biglake.tables.list

biglake.tables.listPartitions

biglake.tables.lock

biglake.tables.update

biglake.tables.updateData

biglake.tables.updatePartitions

resourcemanager.projects.get

resourcemanager.projects.list

(roles/biglake.viewer)

Provides read-only access to all BigLake resources.

biglake.catalogs.get

biglake.catalogs.getIamPolicy

biglake.catalogs.list

biglake.databases.get

biglake.databases.list

biglake.locks.list

biglake.namespaces.get

biglake.namespaces.getIamPolicy

biglake.namespaces.list

biglake.tables.get

biglake.tables.getData

biglake.tables.getIamPolicy

biglake.tables.list

biglake.tables.listPartitions

resourcemanager.projects.get

resourcemanager.projects.list

(roles/biglake.metadataViewer)

Provides read-only metadata access to all BigLake resources.

biglake.catalogs.get

biglake.catalogs.getIamPolicy

biglake.catalogs.list

biglake.namespaces.get

biglake.namespaces.getIamPolicy

biglake.namespaces.list

biglake.tables.get

biglake.tables.getIamPolicy

biglake.tables.list

biglake.tables.listPartitions

resourcemanager.projects.get

resourcemanager.projects.list

What's next