Lakehouse IAM 角色

Lakehouse for Apache Iceberg 定義了多個 Identity and Access Management (IAM) 角色,可管理資源。每個預先定義的角色都包含一組 IAM 權限,可讓主體執行特定動作。您可以使用 IAM 政策,為主體提供一或多個 IAM 角色。

IAM 也能建立自訂 IAM 角色。您可以建立自訂身分與存取權管理角色,並為角色指派一或多個權限。接著,您可以授予主體新角色。您可以使用自訂角色,直接根據自己的需求建立存取控管模型;此外,Google 也提供預先定義的角色。

本頁面著重說明與 Lakehouse 執行階段目錄相關的 IAM 角色。

事前準備

  • 請參閱 IAM 說明文件。

Lakehouse 角色

IAM Lakehouse 角色是由一或多個權限集合而成。您可以將角色授予主體,讓他們能夠對專案中的 Lakehouse 資源執行動作。舉例來說,BigLake 檢視者角色包含 biglake.*.getbiglake.*.list 權限,可讓使用者取得及列出專案中的 Lakehouse 資源。

下表列出所有 Lakehouse 角色,以及與各角色有關的權限:

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.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.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.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

後續步驟