存取權控管

此頁面說明了 Cloud Bigtable 中可使用的存取權控制項目。

總覽

Cloud Bigtable 使用 Google 身分與權限管理系統 (IAM) 來進行存取權控制。

在 Cloud Bigtable 中,您可以在專案層級與執行個體層級進行存取權控制設定。請參考以下的範例,瞭解如何在專案層級進行存取權控制設定:

  • 授予權限,讓使用者可以讀取專案中的任何資料表,但不能寫入資料。
  • 授予權限,讓使用者可以讀取專案中的任何資料表並寫入資料,但是沒有執行個體的管理權限。
  • 授予權限,讓使用者可以讀取專案中的任何資料表並寫入資料,並且擁有執行個體的管理權限。

請參考以下的範例,瞭解如何在執行個體層級進行存取權控制設定:

  • 授予權限,讓使用者可以讀取開發執行個體中的任何資料表,但無法存取生產執行個體中的資料表。
  • 授予權限,讓使用者可以讀取開發執行個體中的任何資料表並寫入資料,且能夠讀取生產執行個體中的資料表。
  • 授予權限,讓使用者擁有開發執行個體的管理權限,但是沒有生產執行個體的管理權限。

如果想要查看更多有關於 IAM 的詳細說明,請參考開發人員專用的 Google Cloud 身分與權限管理系統指南,特別是授予、變更及撤銷專案成員存取權的部分。

如需 Cloud Bigtable 所支援的權限與角色清單,請參閱後續章節。

開始使用 Cloud Bigtable 的 API

如果要查看及分配 Cloud Bigtable 中身分與權限管理系統的角色,您須在您的專案中啟用 Cloud Bigtable API。在您還沒啟用 Cloud Bigtable API 之前,您無法在 GCP 主控台中查看 Cloud Bigtable 的角色。

啟用 API

權限

本章節說明 Cloud Bigtable 所支援的權限設定。

權限的設定可幫助使用者在 Cloud Bigtable 資源中執行特定操作。例如 bigtable.instances.list 指令可列舉出專案中的所有 Cloud Bigtable 執行個體。您不能直接授予使用者特定權限,而只能指派預先定義的角色自訂角色給他們;每個角色可用來授予一或多個權限。

下表列出與 Cloud Bigtable 有關的身分與存取權管理權限:

位置存取權名稱 說明
bigtable.locations.list 列出 Cloud Bigtable 位置。
執行個體權限名稱 說明
bigtable.instances.create 建立 Cloud Bigtable 執行個體。
bigtable.instances.delete 刪除 Cloud Bigtable 執行個體。
bigtable.instances.get 取得更多 Cloud Bigtable 執行個體的資訊。
bigtable.instances.list 列出專案中的 Cloud Bigtable 執行個體。
bigtable.instances.update 更新 Cloud Bigtable 執行個體的設定。
應用程式設定檔權限指令 說明
bigtable.appProfiles.create 建立 Cloud Bigtable 應用程式設定檔。
bigtable.appProfiles.delete 刪除 Cloud Bigtable 應用程式設定檔。
bigtable.appProfiles.get 取得更多 Cloud Bigtable 應用程式設定檔的資訊。
bigtable.appProfiles.list 列出執行個體中的 Cloud Bigtable 應用程式設定檔。
bigtable.appProfiles.update 更新 Cloud Bigtable 應用程式設定檔的設定。
叢集權限指令 說明
bigtable.clusters.create 建立 Cloud Bigtable 叢集。
bigtable.clusters.delete 刪除 Cloud Bigtable 叢集。
bigtable.clusters.get 取得更多 Cloud Bigtable 叢集的資訊。
bigtable.clusters.list 列出執行個體中的 Cloud Bigtable 叢集。
bigtable.clusters.update 更新 Cloud Bigtable 叢集的設定。
資料表權限指令 說明
bigtable.tables.checkConsistency 檢查複寫資料表是否為最新版本。
bigtable.tables.create 建立資料表。
bigtable.tables.delete 刪除資料表。
bigtable.tables.generateConsistencyToken 建立憑證來檢查複寫資料表是否為最新版本。
bigtable.tables.get 取得資料表的資訊,包含資料欄系列及每欄的個別設定。
bigtable.tables.list 列舉出執行個體中的資料表。
bigtable.tables.mutateRows 修改資料表中的列,或截斷資料表中的資料。
bigtable.tables.readRows 讀取資料表中的列。
bigtable.tables.sampleRowKeys 從資料表所使用的資料列索引鍵值中取樣。
bigtable.tables.update 更新資料表的設定,包含資料欄系列及每欄的個別設定。

預先定義角色

每個預先定義角色是由一或多個權限集合而成。例如 roles/bigtable.reader 即針對關於 Cloud Bigtable 執行個體、叢集、資料表和資料欄系列的資訊,以及資料表中涵蓋的資料提供唯讀權限。您可以分配角色給使用者或群組,讓他們能夠對專案中的資源進行操作。

下列資料表中列舉了 Cloud Bigtable 的預先定義角色及每個角色擁有的權限:

角色 權限 說明
roles/bigtable.admin

具備使用所有 Cloud Bigtable 功能的權限:

bigtable.*.*

對 GCP 主控台中的監控圖表擁有檢視權限:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

對專案層級中繼資料擁有存取權限:

resourcemanager.projects.get

可管理專案中的所有執行個體,包含資料表中儲存的資料,且能夠建立新的執行個體。通常適用於專案管理員。
roles/bigtable.user

對執行個體、叢集、資料表、資料欄系列的中繼資料擁有唯讀權限:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

對資料表擁有讀取/寫入的權限:

  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys

對 GCP 主控台中的監控圖表擁有檢視權限:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

對專案層級中繼資料擁有存取權限:

resourcemanager.projects.get

對資料表中儲存的資料擁有讀寫權限。通常適用於應用程式開發人員或服務帳戶。
roles/bigtable.reader

對執行個體、叢集、資料表、資料欄系列的中繼資料擁有唯讀權限:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

對資料表擁有唯讀權限:

  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys

對 GCP 主控台中的監測圖表擁有檢視權限:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

對專案層級中繼資料擁有存取權限:

resourcemanager.projects.get

對資料表中儲存的資料擁有唯讀權限。通常適用於資料科學家、資訊主頁建立者及其他資料分析情境。
roles/bigtable.viewer

對執行個體、叢集、資料表、資料欄系列的中繼資料擁有唯讀權限:

  • bigtable.*.get
  • bigtable.*.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.generateConsistencyToken

對 GCP 主控台中的監控圖表擁有檢視權限:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

對專案層級中繼資料擁有存取權限:

resourcemanager.projects.get

無資料存取權限。此為 GCP 主控台中對 Cloud Bigtable 的最低存取權限。

自訂角色

如果 Cloud Bigtable 中的預先定義角色不符合您的業務需求,您可以使用自訂角色,並為這些角色指定權限。

如果您的自訂角色支援使用 GCP 主控台,您必須先瞭解使用者將來會執行的工作,並確認自訂角色具備每一個工作的所需權限,如下方的表格所示。若自訂角色缺乏執行工作的所需權限,那麼當使用者執行該項工作時,GCP 主控台將會無法正常運作。

GCP 主控台工作項目 所需權限
GCP 主控台的基本操作
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • resourcemanager.projects.get
新增執行個體或是叢集

基本操作權限,以及:

  • bigtable.clusters.create
  • bigtable.instances.create
變更執行個體或是叢集

基本操作權限,以及:

  • bigtable.clusters.update
  • bigtable.instances.update
管理資料庫複寫設定

基本操作權限,以及:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
刪除執行個體或叢集

基本操作權限,以及:

  • bigtable.clusters.delete
  • bigtable.instances.delete
透過圖表對執行個體進行監控

基本操作權限,以及:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list

專案層級的 IAM 管理

在專案層級中,您可以透過 Google Cloud Platform 主控台、IAM API 或是 gcloud 指令列工具來授予、變更及撤銷 IAM 角色。詳細內容請參考 授予、變更及撤銷專案成員存取權

執行個體層級的 IAM 管理

在這個章節中,將會說明如何在執行個體層級中管理 Cloud Bigtable 的 IAM 角色。

事前準備

在您為使用者設定「執行個體層級」的 IAM 角色之前,請先確認他們擁有以下其中一項「執行個體層級」的 IAM 角色:

  • Bigtable 檢視者 (推薦)
  • Bigtable 讀取者
  • Bigtable 使用者
  • Bigtable 管理員

請選擇一個專案層級的角色,且該角色的權限不能超過使用者對於專案內所有執行個體所實際需要的權限。正因為如此,您幾乎在所有情況下都要授予使用者「Bigtable 檢視者」的角色。

使用者如果沒有任何一項專案層級的角色,就無法透過 GCP 主控台來使用 Cloud Bigtable。GCP 主控台要求使用者必須擁有至少一個專案層級的角色,以便透過使用者的身分截取執行個體及叢集的資訊。

授予執行個體層級的 IAM 角色

在執行個體層級中,您可以授予任何 Cloud Bigtable 的預先定義角色給使用者或服務帳戶。您亦可以授予任何自訂角色

若您要在執行個體層級下授予預先定義角色或自訂角色給使用者或服務帳戶,請進行以下操作:

  1. 前往 GCP 主控台中的 Cloud Bigtable 執行個體頁面。

    前往「執行個體」頁面

  2. 在執行個體旁邊的方塊勾選您所要管理的角色,這時即會出現一個資訊面版。

  3. 在資訊面版中點選 [權限]

  4. 在「新增成員」下方開始輸入您要新增的使用者或服務帳戶電子郵件,接著點擊一下您所輸入的信箱。

  5. 點選 [選擇角色] 的下拉式清單,接著點選 [Cloud Bigtable] 選擇預先定義角色或是點選 [自訂],以選擇自訂角色。

  6. 點選您所想要指派的角色名稱。

  7. 點擊 [新增]。這時,系統即會將您在執行個體層級中所指派的角色授予使用者或服務帳戶。

相關資源

進一步瞭解 Google Cloud Identity and Access Management

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Bigtable 說明文件