IAM 總覽

身分與存取權管理 (IAM) 可讓您控制使用者和群組對專案的 Spanner 資源、Spanner 執行個體和 Spanner 資料庫層級的存取權。舉例來說,您可以指定賦予使用者在專案中特定執行個體內特定資料庫的完整控制權,但是不能建立、修改或刪除專案內的任何執行個體。搭配 IAM 使用存取權控管機制,可讓您授予使用者或群組權限,而無需個別修改每個 Spanner 執行個體或資料庫權限。

本文件著重說明與 Spanner 相關的 IAM 權限,以及授予這些權限的 IAM 角色。如需 IAM 和其功能的詳細說明,請參閱 Identity and Access Management 開發人員指南。特別是「管理 IAM 政策」一節。

權限

權限的設定可幫助使用者在 Spanner 資源中執行特定操作。例如:spanner.databases.read 權限可讓使用者使用 Spanner 的讀取 API 讀取資料庫,而 spanner.databases.select 可讓使用者在資料庫上執行 SQL Select 陳述式。您不能直接授予使用者權限,而是將預先定義的角色自訂角色指派給他們,每個角色可能具備一或多項權限。

下表列出與 Spanner 相關的 IAM 權限。

執行個體設定

下列權限適用於 Spanner 執行個體設定。詳情請參閱 RESTRPC API 的執行個體設定參考資料。

執行個體設定權限名稱 說明
spanner.instanceConfigs.create 建立自訂執行個體設定。
spanner.instanceConfigs.delete 刪除自訂執行個體設定。
spanner.instanceConfigs.get 取得執行個體設定。
spanner.instanceConfigs.list 列出一組執行個體設定。
spanner.instanceConfigs.update 更新自訂執行個體設定。

執行個體設定作業

下列權限適用於 Spanner 執行個體設定作業。詳情請參閱 RESTRPC API 的例項參照資料。

執行個體設定作業權限名稱 說明
spanner.instanceConfigOperations.cancel 取消執行個體設定作業。
spanner.instanceConfigOperations.delete 刪除執行個體設定作業。
spanner.instanceConfigOperations.get 取得執行個體設定作業。
spanner.instanceConfigOperations.list 列出執行個體設定作業。

執行個體

下列權限適用於 Spanner 執行個體。詳情請參閱 RESTRPC API 的例項參考資料。

執行個體權限名稱 說明
spanner.instances.create 建立執行個體。
spanner.instances.delete 刪除執行個體。
spanner.instances.get 取得特定執行個體的設定。
spanner.instances.getIamPolicy 取得執行個體的 IAM 政策。
spanner.instances.list 列出執行個體。
spanner.instances.setIamPolicy 設定執行個體的 IAM 政策。
spanner.instances.update 更新執行個體。

執行個體作業

下列權限適用於 Spanner 執行個體作業。詳情請參閱 RESTRPC API 的例項參照。

執行個體作業權限名稱 說明
spanner.instanceOperations.cancel 取消執行個體作業。
spanner.instanceOperations.delete 刪除執行個體作業。
spanner.instanceOperations.get 取得特定執行個體作業。
spanner.instanceOperations.list 列出執行個體作業。

執行個體分區

以下權限適用於 Spanner 執行個體區隔。詳情請參閱 RESTRPC API 的執行個體分割區參照資料。

執行個體權限名稱 說明
spanner.instancePartitions.create 建立執行個體分區。
spanner.instancePartitions.delete 刪除執行個體分區。
spanner.instancePartitions.get 取得特定執行個體分區的設定。
spanner.instancePartitions.list 列出執行個體區隔。
spanner.instancePartitions.update 更新執行個體分區。

執行個體分區作業

下列權限適用於 Spanner 執行個體分割作業。詳情請參閱 RESTRPC API 的執行個體分割區參考資料。

執行個體分區作業權限名稱 說明
spanner.instancePartitionOperations.cancel 取消執行個體分區作業。
spanner.instancePartitionOperations.delete 刪除執行個體分區作業。
spanner.instancePartitionOperations.get 取得特定執行個體分區作業。
spanner.instancePartitionOperations.list 列出執行個體分區作業。

資料庫

下列權限適用於 Spanner 資料庫。詳情請參閱 RESTRPC API 的資料庫參考資料。

資料庫權限名稱 說明
spanner.databases.adapt Spanner Adapter API 直接與 Spanner 互動。
spanner.databases.beginOrRollbackReadWriteTransaction 可針對 Spanner 資料庫展開或復原讀寫交易
spanner.databases.beginPartitionedDmlTransaction 執行分區資料操縱語言 (DML) 陳述式。如要進一步瞭解執行個體分區查詢,請參閱「以平行方式讀取資料」。
spanner.databases.beginReadOnlyTransaction 可針對 Spanner 資料庫展開唯讀交易
spanner.databases.create 建立資料庫。
spanner.databases.createBackup 從資料庫建立備份。也需要 spanner.backups.create 才能建立備份資源。
spanner.databases.drop 捨棄資料庫。
spanner.databases.get 取得資料庫中繼資料。
spanner.databases.getDdl 取得資料庫結構定義。
spanner.databases.getIamPolicy 取得資料庫的 IAM 政策。
spanner.databases.list 列出資料庫。
spanner.databases.read 使用讀取 API 從資料庫中讀取。
spanner.databases.select 在資料庫上執行 SQL Select 陳述式。
spanner.databases.setIamPolicy 設定資料庫的 IAM 政策。
spanner.databases.update 更新資料庫中繼資料。
spanner.databases.updateDdl 更新資料表結構定義。
spanner.databases.useDataBoost 使用 Spanner Data Boost 的運算資源處理分區執行個體查詢。
spanner.databases.useRoleBasedAccess 使用精細的存取權控管機制
spanner.databases.write 寫入資料庫。

資料庫角色

以下權限適用於 Spanner 資料庫角色。詳情請參閱 RESTRPC API 的資料庫參考資料。

資料庫角色權限名稱 說明
spanner.databaseRoles.list 列出資料庫角色。
spanner.databaseRoles.use 使用指定的資料庫角色。

資料庫作業

下列權限適用於 Spanner 資料庫作業。詳情請參閱 RESTRPC API 的資料庫參考資料。

資料庫作業權限名稱 說明
spanner.databaseOperations.cancel 取消資料庫作業。
spanner.databaseOperations.get 取得特定資料庫作業。
spanner.databaseOperations.list 列出資料庫作業和還原資料庫作業。

備份

下列權限適用於 Spanner 備份。詳情請參閱 RESTRPC API 的備份參考資料。

備份權限名稱 說明
spanner.backups.create 建立備份。來源資料庫也必須有 spanner.databases.createBackup
spanner.backups.delete 刪除備份。
spanner.backups.get 取得備份。
spanner.backups.getIamPolicy 取得備份的 IAM 政策。
spanner.backups.list 列出備份。
spanner.backups.restoreDatabase 從備份還原資料庫。也需要 spanner.databases.create 在目標執行個體上建立已還原的資料庫。
spanner.backups.setIamPolicy 設定備份的 IAM 政策。
spanner.backups.update 更新備份。

備份作業

下列權限適用於 Spanner 備份作業。詳情請參閱 RESTRPC API 的資料庫參考資料。

備份作業權限名稱 說明
spanner.backupOperations.cancel 取消備份作業。
spanner.backupOperations.get 取得特定備份作業。
spanner.backupOperations.list 列出備份作業。

備份排程

下列權限適用於 Spanner 備份時間表。詳情請參閱 RESTRPC API 的資料庫參考資料。

備份排程權限名稱 說明
spanner.backupSchedules.create 建立備份時間表。來源資料庫也必須有 spanner.databases.createBackup
spanner.backupSchedules.delete 刪除備份排程。
spanner.backupSchedules.get 取得備份排程。
spanner.backupSchedules.list 列出備份排程。
spanner.backupSchedules.update 更新備份排程。

工作階段

下列權限適用於 Spanner 工作階段。詳情請參閱 RESTRPC API 的資料庫參考資料。

工作階段權限名稱 說明
spanner.sessions.create 建立工作階段。
spanner.sessions.delete 刪除工作階段。
spanner.sessions.get 取得工作階段。
spanner.sessions.list 列出工作階段。

預先定義的角色

預先定義角色是由一或多個權限集合而成。舉例來說,預先定義的角色 roles/spanner.databaseUser 包含權限 spanner.databases.readspanner.databases.write。Spanner 有兩種類型的預先定義角色:

  • 人類角色:授予使用者或群組,讓他們能夠對專案中的資源進行操作。
  • 機器角色:授予服務帳戶,讓機器有如這些服務帳戶般,對專案中的資源進行操作。

下表列出 IAM 預先定義角色的存取控制,包括與每個角色關聯的權限清單:

Role Permissions

(roles/spanner.admin)

Has complete access to all Spanner resources in a Google Cloud project. A principal with this role can:

  • Grant and revoke permissions to other principals for all Spanner resources in the project.
  • Allocate and delete chargeable Spanner resources.
  • Issue get/list/modify operations on Cloud Spanner resources.
  • Read from and write to all Cloud Spanner databases in the project.
  • Fetch project metadata.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.*

  • spanner.backupOperations.cancel
  • spanner.backupOperations.get
  • spanner.backupOperations.list
  • spanner.backupSchedules.create
  • spanner.backupSchedules.delete
  • spanner.backupSchedules.get
  • spanner.backupSchedules.getIamPolicy
  • spanner.backupSchedules.list
  • spanner.backupSchedules.setIamPolicy
  • spanner.backupSchedules.update
  • spanner.backups.copy
  • spanner.backups.create
  • spanner.backups.delete
  • spanner.backups.get
  • spanner.backups.getIamPolicy
  • spanner.backups.list
  • spanner.backups.restoreDatabase
  • spanner.backups.setIamPolicy
  • spanner.backups.update
  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list
  • spanner.databaseRoles.list
  • spanner.databases.adapt
  • spanner.databases.addSplitPoints
  • spanner.databases.beginOrRollbackReadWriteTransaction
  • spanner.databases.beginPartitionedDmlTransaction
  • spanner.databases.beginReadOnlyTransaction
  • spanner.databases.changequorum
  • spanner.databases.create
  • spanner.databases.createBackup
  • spanner.databases.drop
  • spanner.databases.get
  • spanner.databases.getDdl
  • spanner.databases.getIamPolicy
  • spanner.databases.list
  • spanner.databases.partitionQuery
  • spanner.databases.partitionRead
  • spanner.databases.read
  • spanner.databases.select
  • spanner.databases.setIamPolicy
  • spanner.databases.update
  • spanner.databases.updateDdl
  • spanner.databases.useDataBoost
  • spanner.databases.useRoleBasedAccess
  • spanner.databases.write
  • spanner.instanceConfigOperations.cancel
  • spanner.instanceConfigOperations.delete
  • spanner.instanceConfigOperations.get
  • spanner.instanceConfigOperations.list
  • spanner.instanceConfigs.create
  • spanner.instanceConfigs.delete
  • spanner.instanceConfigs.get
  • spanner.instanceConfigs.list
  • spanner.instanceConfigs.update
  • spanner.instanceOperations.cancel
  • spanner.instanceOperations.delete
  • spanner.instanceOperations.get
  • spanner.instanceOperations.list
  • spanner.instancePartitionOperations.cancel
  • spanner.instancePartitionOperations.delete
  • spanner.instancePartitionOperations.get
  • spanner.instancePartitionOperations.list
  • spanner.instancePartitions.create
  • spanner.instancePartitions.delete
  • spanner.instancePartitions.get
  • spanner.instancePartitions.list
  • spanner.instancePartitions.update
  • spanner.instances.create
  • spanner.instances.createTagBinding
  • spanner.instances.delete
  • spanner.instances.deleteTagBinding
  • spanner.instances.get
  • spanner.instances.getIamPolicy
  • spanner.instances.list
  • spanner.instances.listEffectiveTags
  • spanner.instances.listTagBindings
  • spanner.instances.setIamPolicy
  • spanner.instances.update
  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.backupAdmin)

A principal with this role can:

  • Create, view, update, and delete backups.
  • View and manage a backup's allow policy.

This role cannot restore a database from a backup.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.backupOperations.*

  • spanner.backupOperations.cancel
  • spanner.backupOperations.get
  • spanner.backupOperations.list

spanner.backupSchedules.create

spanner.backupSchedules.delete

spanner.backupSchedules.get

spanner.backupSchedules.list

spanner.backupSchedules.update

spanner.backups.copy

spanner.backups.create

spanner.backups.delete

spanner.backups.get

spanner.backups.getIamPolicy

spanner.backups.list

spanner.backups.setIamPolicy

spanner.backups.update

spanner.databases.createBackup

spanner.databases.get

spanner.databases.list

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

(roles/spanner.backupWriter)

This role is intended to be used by scripts that automate backup creation. A principal with this role can create backups, but cannot update or delete them.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

spanner.backupOperations.get

spanner.backupOperations.list

spanner.backupSchedules.create

spanner.backupSchedules.get

spanner.backupSchedules.list

spanner.backups.copy

spanner.backups.create

spanner.backups.get

spanner.backups.list

spanner.databases.createBackup

spanner.databases.get

spanner.databases.list

spanner.instancePartitions.get

spanner.instances.get

(roles/spanner.databaseAdmin)

A principal with this role can:

  • Get/list all Spanner instances in the project.
  • Create/list/drop databases in an instance.
  • Grant/revoke access to databases in the project.
  • Read from and write to all Cloud Spanner databases in the project.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

cloudkms.keyHandles.*

  • cloudkms.keyHandles.create
  • cloudkms.keyHandles.get
  • cloudkms.keyHandles.list

cloudkms.operations.get

cloudkms.projects.showEffectiveAutokeyConfig

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databaseRoles.list

spanner.databases.adapt

spanner.databases.addSplitPoints

spanner.databases.beginOrRollbackReadWriteTransaction

spanner.databases.beginPartitionedDmlTransaction

spanner.databases.beginReadOnlyTransaction

spanner.databases.changequorum

spanner.databases.create

spanner.databases.drop

spanner.databases.get

spanner.databases.getDdl

spanner.databases.getIamPolicy

spanner.databases.list

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.setIamPolicy

spanner.databases.update

spanner.databases.updateDdl

spanner.databases.useDataBoost

spanner.databases.useRoleBasedAccess

spanner.databases.write

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.getIamPolicy

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseReader)

A principal with this role can:

  • Read from the Spanner database.
  • Execute SQL queries on the database.
  • View schema for the database.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.create

spanner.databases.beginReadOnlyTransaction

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.instancePartitions.get

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseReaderWithDataBoost)

Includes all permissions in the spanner.databaseReader role enabling access to read and/or query a Cloud Spanner database using instance resources, as well as the permission to access the database with Data Boost, a fully managed serverless service that provides independent compute resources.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.create

spanner.databases.beginReadOnlyTransaction

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.useDataBoost

spanner.instancePartitions.get

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.databaseRoleUser)

In conjunction with the IAM role Cloud Spanner Fine-grained Access User, grants permissions to individual Spanner database roles. Add a condition for each desired Spanner database role that includes the resource type of `spanner.googleapis.com/DatabaseRole` and the resource name ending with `/YOUR_SPANNER_DATABASE_ROLE`.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

(roles/spanner.databaseUser)

A principal with this role can:

  • Read from and write to the Spanner database.
  • Execute SQL queries on the database, including DML and Partitioned DML.
  • View and update schema for the database.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.create

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databases.adapt

spanner.databases.beginOrRollbackReadWriteTransaction

spanner.databases.beginPartitionedDmlTransaction

spanner.databases.beginReadOnlyTransaction

spanner.databases.changequorum

spanner.databases.getDdl

spanner.databases.partitionQuery

spanner.databases.partitionRead

spanner.databases.read

spanner.databases.select

spanner.databases.updateDdl

spanner.databases.write

spanner.instancePartitions.get

spanner.instances.get

spanner.sessions.*

  • spanner.sessions.create
  • spanner.sessions.delete
  • spanner.sessions.get
  • spanner.sessions.list

(roles/spanner.fineGrainedAccessUser)

Grants permissions to use Spanner's fine-grained access control framework. To grant access to specific database roles, also add the `roles/spanner.databaseRoleUser` IAM role and its necessary conditions.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

spanner.databaseRoles.list

spanner.databases.useRoleBasedAccess

(roles/spanner.restoreAdmin)

A principal with this role can restore databases from backups.

If you need to restore a backup to a different instance, apply this role at the project level or to both instances. This role cannot create backups.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.backups.get

spanner.backups.list

spanner.backups.restoreDatabase

spanner.databaseOperations.*

  • spanner.databaseOperations.cancel
  • spanner.databaseOperations.get
  • spanner.databaseOperations.list

spanner.databases.create

spanner.databases.get

spanner.databases.list

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.createTagBinding

spanner.instances.deleteTagBinding

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

(roles/spanner.serviceAgent)

Cloud Spanner API Service Agent

aiplatform.endpoints.get

aiplatform.endpoints.list

aiplatform.endpoints.predict

aiplatform.models.get

aiplatform.models.list

(roles/spanner.viewer)

A principal with this role can:

  • View all Spanner instances (but cannot modify instances).
  • View all Spanner databases (but cannot modify or read from databases).

For example, you can combine this role with the roles/spanner.databaseUser role to grant a user with access to a specific database, but only view access to other instances and databases.

This role is recommended at the Google Cloud project level for users interacting with Cloud Spanner resources in the Google Cloud console.

Lowest-level resources where you can grant this role:

  • Instance
  • Database

monitoring.timeSeries.list

resourcemanager.projects.get

resourcemanager.projects.list

spanner.databases.list

spanner.instanceConfigs.get

spanner.instanceConfigs.list

spanner.instancePartitions.get

spanner.instancePartitions.list

spanner.instances.get

spanner.instances.list

spanner.instances.listEffectiveTags

spanner.instances.listTagBindings

基本角色

基本角色是在 IAM 之前專案層級的角色。詳情請參閱「基本角色」。

雖然 Spanner 支援下列基本角色,但您仍應盡可能使用上述其中一個預先定義的角色。基本角色包含多種適用於所有 Google Cloud 資源的權限;相反地,Spanner 的預先定義角色則包含僅適用於 Spanner 的精確權限。

基本角色 說明
roles/editor 可執行 roles/viewer 的所有功能,也可以建立執行個體和資料庫,並將資料寫入資料庫。
roles/owner 可執行 roles/editor 能執行的所有操作,也可以修改資料庫和執行個體的存取權。
roles/viewer 能夠列出並取得結構定義和執行個體的中繼資料,也可以在資料庫上使用 SQL 進行讀取與查詢。

自訂角色

如果 Spanner 的預先定義角色無法滿足您的業務需求,您可以使用自訂角色,並設定這些角色的權限。

在建立自訂角色前,您必須先找出需要執行的工作。您可以找出每項工作必要的權限,然後新增這些權限到自訂的角色。

服務帳戶工作的自訂角色

對大多數的工作而言,需要新增哪些權限到自訂的角色是顯而易見的。舉例來說,如果您希望服務帳戶能夠建立資料庫,就必須將 spanner.databases.create 權限新增至自訂角色。

然而,當您讀取或寫入 Spanner 資料表中的資料時,則必須新增數種不同的權限給自訂角色。下表列出讀取和寫入資料所需的權限。

服務帳戶工作 所需權限
建立備份 spanner.backups.create
spanner.databases.createBackup
讀取資料 spanner.databases.select
spanner.sessions.create
spanner.sessions.delete
還原資料庫 spanner.backups.restoreDatabase
spanner.databases.create
插入、更新或刪除資料 spanner.databases.beginOrRollbackReadWriteTransaction
spanner.sessions.create
spanner.sessions.delete
spanner.databases.write

Google Cloud 主控台工作自訂角色

為了要在Google Cloud 主控台中找出特定工作所需的權限清單,您要判定這項工作的工作流程並且編譯該工作流程的權限。例如,如要查看資料表中的資料,您必須在 Google Cloud 主控台中依循以下步驟:

步驟 權限
1. 存取專案 resourcemanager.projects.get
2. 檢視執行個體清單 spanner.instances.list
3. 選取執行個體 spanner.instances.get
4. 檢視資料庫清單 spanner.databases.list
5. 選取資料庫與資料表 spanner.databases.getDdl
6. 檢視資料表中的資料 spanner.databases.selectspanner.sessions.createspanner.sessions.delete

在這個範例中,您需要以下權限:

  • resourcemanager.projects.get
  • spanner.databases.getDdl
  • spanner.databases.list
  • spanner.databases.select
  • spanner.instances.get
  • spanner.instances.list
  • spanner.sessions.create
  • spanner.sessions.delete

下表列出Google Cloud 主控台中動作所需的權限。

權限 動作
spanner.databases.setIamPolicy 在「資料庫詳細資料」頁面的「權限」分頁上新增主要使用者
spanner.instances.setIamPolicy 在「執行個體」頁面的「權限」分頁中新增主體
spanner.backups.create
spanner.databases.createBackup
spanner.databases.list1
spanner.backupOperations.list1
建立備份
spanner.backupSchedules.create
spanner.databases.createBackup
建立備份時間表
spanner.databases.create 建立資料庫
spanner.instancePartitions.list
spanner.instancePartitionOperations.get
spanner.instancePartitions.create
建立執行個體分區
spanner.databaseOperations.get
spanner.databaseOperations.list
spanner.databases.updateDdl
建立資料表
更新資料表結構定義
spanner.instanceConfigs.list
spanner.instanceOperations.get
spanner.instances.create
建立執行個體
spanner.backups.delete 刪除備份
spanner.backupSchedules.delete 刪除備份排程
spanner.databases.drop 刪除資料庫
spanner.instancePartitions.delete 刪除執行個體分區
spanner.instances.delete 刪除執行個體
spanner.instancePartitionOperations.get
spanner.instancePartitions.update
修改執行個體分區
spanner.instanceOperations.get
spanner.instances.update
修改執行個體
spanner.databases.beginOrRollbackReadWriteTransaction
spanner.databases.select
spanner.databases.write
spanner.sessions.create
spanner.sessions.delete
修改資料表中的資料
spanner.instanceConfigs.list
spanner.instances.get
spanner.backups.get
spanner.backups.restoreDatabase
spanner.instances.list
spanner.databases.create
從備份還原資料庫
spanner.databases.get
spanner.databases.getDdl
從資料庫清單中選取一個資料庫並在「資料庫詳細資料」頁面中檢視結構定義
spanner.instances.get 從執行個體清單中選取執行個體,以檢視「執行個體詳細資料」頁面
spanner.backups.update 更新備份
spanner.backupSchedules.update 更新備份排程
spanner.databases.select
spanner.sessions.create
spanner.sessions.delete
在「資料庫詳細資料」頁面的「資料」分頁中查看資料
建立及執行查詢
spanner.backups.list
spanner.backups.get
查看「備份/復原」頁面
monitoring.metricDescriptors.get
monitoring.metricDescriptors.list
monitoring.timeSeries.list
spanner.instances.get
在「執行個體詳細資料」或「資料庫詳細資料」頁面上的「監控」分頁檢視圖表
spanner.backupOperations.list 查看備份作業清單
spanner.databases.list 在「執行個體詳細資料」頁面上檢視資料庫清單
resourcemanager.projects.get
spanner.instances.list
檢視「執行個體」頁面上的執行個體清單
spanner.databaseOperations.list 查看還原作業清單
spanner.databases.getIamPolicy 檢視「資料庫詳細資料」頁面「權限」分頁上的清單
spanner.instances.getIamPolicy 檢視「執行個體」頁面「權限」分頁上的清單
1 如果您要在執行個體層級 (而非資料庫層級) 的「備份/還原」頁面中建立備份,則必須提供此值。

Spanner IAM 政策管理

您可以在 Spanner 執行個體、資料庫和備份資源上,使用 REST 或 RPC API 取得、設定及測試 IAM 政策。

執行個體

REST API RPC API
projects.instances.getIamPolicy GetIamPolicy
projects.instances.setIamPolicy SetIamPolicy
projects.instances.testIamPermissions TestIamPermissions

資料庫

REST API RPC API
projects.instances.databases.getIamPolicy GetIamPolicy
projects.instances.databases.setIamPolicy SetIamPolicy
projects.instances.databases.testIamPermissions TestIamPermissions

備份

REST API RPC API
projects.instances.backups.getIamPolicy GetIamPolicy
projects.instances.backups.setIamPolicy SetIamPolicy
projects.instances.backups.testIamPermissions TestIamPermissions

後續步驟