建立及管理授權檢視表
本文說明如何使用 Google Cloud CLI 或Google Cloud 控制台,定義、建立授權檢視區,以及對其執行其他管理作業。閱讀本文之前,請先熟悉授權檢視區塊總覽。
必要的角色
如要取得對授權檢視區執行管理作業所需的權限,請要求管理員授予基礎資料表的 Bigtable 管理員 (roles/bigtable.admin
) IAM 角色。 如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
這個預先定義的角色具備對授權檢視執行管理作業所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要對授權檢視區執行管理作業,必須具備下列權限:
-
bigtable.authorizedViews.get
-
bigtable.authorizedViews.list
-
bigtable.authorizedViews.create
-
bigtable.authorizedViews.update
-
bigtable.authorizedViews.delete
-
bigtable.authorizedViews.getIamPolicy
-
bigtable.authorizedViews.setIamPolicy
-
bigtable.authorizedViews.readRows
-
bigtable.authorizedViews.sampleRowKeys
-
bigtable.authorizedViews.mutateRows
如要瞭解如何管理授權檢視層級的 Bigtable IAM 角色,請參閱授權檢視層級的 IAM 管理。
建立授權檢視表
建立授權檢視表時,請考量將對其執行的查詢。傳送至授權檢視區塊的讀取、寫入和刪除要求,只能參照授權檢視區塊中的資料。舉例來說,如果您嘗試讀取、寫入或刪除資料列,但該資料列在資料表中的某些資料欄不在授權檢視畫面中,要求就會失敗。
為避免因資料表新增資料欄,導致授權檢視畫面無法處理資料要求,您可以為資料欄系列指定空白的資料欄限定符前置字元「」。
每個授權檢視最多可指定 100 個定義參數。
控制台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
按一下含有您要授權檢視資料表的執行個體。
在導覽窗格中,按一下「Bigtable Studio」。
按一下「建構工具」開啟查詢建構工具。
選擇要授權檢視的資料表。
新增子句,建構查詢,只傳回您希望授權檢視使用者存取的資料。
- 授權 view 可接受的子句為資料列索引鍵前置字串和資料欄 (資料欄限定詞)。
- 如要指定資料欄限定符前置字串,請在前置字串後加上星號。舉例來說,如要納入所有以「data」開頭的資料欄,請在資料欄系列名稱後方的「資料欄」欄位中輸入
data*
。 - 儲存授權 view 時,系統會忽略 LIMIT 子句。
- 如要進一步瞭解如何使用查詢產生器,請參閱「在控制台中建立查詢」。
按一下「執行」。
確認結果窗格顯示的資料應納入授權檢視區後,請按一下「另存為檢視區」。
輸入授權檢視區塊的永久 ID,該 ID 目前未用於資料表。
選用:如要在不授予存取權的情況下儲存,請按一下「儲存」。
選用:如要儲存授權檢視表,然後設定存取權,請按一下「儲存並授予存取權」。如要進一步瞭解存取權控管,請參閱「使用 IAM 控管 Bigtable 存取權」。
- 新增至少一個主體,並選取要指派給該主體或主體群組的角色。
- 選用:如要授予其他角色的存取權,請按一下「新增其他角色」,然後輸入每個其他角色的主體和角色。
- 按一下 [儲存]。
gcloud
請執行 bigtable authorized-views create
指令。詳情請參閱 gcloud bigtable authorized-views create 的參考說明文件。
gcloud bigtable authorized-views create AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
更改下列內容:
AUTHORIZED_VIEW_ID
:授權檢視區塊的永久 ID,不得已用於資料表INSTANCE_ID
:包含資料表的執行個體永久 IDTABLE_ID
:您要建立授權檢視區塊的資料表永久 IDDEFINITION_FILE_PATH
:授權檢視畫面的有效 JSON 格式表示法路徑。如需格式正確的定義檔案範例,請參閱「定義檔案範例」。
您也可以執行指令,不必提供定義檔。在本例中,gcloud CLI 會開啟編輯器,並提示您輸入值。
如要確認授權檢視表已建立,請取得資料表的授權檢視表清單。
Java
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
修改授權檢視表
控制台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
按一下包含授權檢視區塊的執行個體。
在導覽窗格中,按一下「Bigtable Studio」。
在檔案總管中,展開資料表和「已授權檢視表」。
在要修改的授權檢視畫面旁,按一下 more_vert 動作選單,然後點選「開啟」。
修改或新增子句,建構查詢,只傳回您希望授權檢視使用者存取的資料。
- 授權 view 可接受的子句為資料列索引鍵前置字串和資料欄 (資料欄限定詞)。
- 如要指定資料欄限定符前置字串,請在前置字串後加上星號。舉例來說,如要納入所有以「data」開頭的資料欄,請在資料欄系列名稱後方的「資料欄」欄位中輸入
data*
。 - 儲存授權 view 時,系統會忽略 LIMIT 子句。
- 如要進一步瞭解如何使用查詢產生器,請參閱「在控制台中建立查詢」。
按一下「執行」。
確認結果窗格顯示的資料應納入授權檢視區後,請按一下「另存為檢視區」。
在對話方塊中,輸入您修改的授權檢視 ID。
對話方塊會顯示警告訊息,指出您即將覆寫現有的授權檢視畫面。
選用:如要在不授予存取權的情況下儲存,請按一下「儲存」。
選用:如要儲存授權檢視表,然後設定存取權,請按一下「儲存並授予存取權」。如要進一步瞭解存取權控管,請參閱「使用 IAM 控管 Bigtable 存取權」。
- 新增至少一個主體,並選取要指派給該主體或主體群組的角色。
- 選用:如要授予其他角色的存取權,請按一下「新增其他角色」,然後輸入每個其他角色的主體和角色。
- 按一下 [儲存]。
gcloud
使用 bigtable authorized-views
update
指令修改授權檢視區塊。詳情請參閱 gcloud bigtable authorized-views update 參考說明文件。
gcloud bigtable authorized-views update AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID \
--definition-file=DEFINITION_FILE_PATH
更改下列內容:
AUTHORIZED_VIEW_ID
:授權檢視區塊的永久 IDINSTANCE_ID
:執行個體的永久 IDTABLE_ID
:來源資料表的永久 IDDEFINITION_FILE_PATH
:授權檢視畫面有效 JSON 格式表示法的路徑。如需格式正確的定義檔案範例,請參閱「定義檔案範例」。
您也可以執行指令,不必提供定義檔。在本例中,gcloud CLI 會開啟編輯器,並提示您輸入值。
選用:如要避免 gcloud CLI 顯示確認提示,說明目前授權檢視結構與更新後結構的差異,請在指令中附加 --no-interactive
標記。
Java
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
啟用或停用防刪除功能
如要為授權檢視表啟用防刪除功能,請修改定義授權檢視表的 JSON 檔案,將 deletionProtection
標記設為 true
。
如要停用刪除保護機制,請將 deletionProtection
旗標設為 false
,藉此修改定義授權檢視區塊的 JSON 檔案。
執行 bigtable
authorized-views update
指令,並提供更新後的 JSON 檔案名稱,即可完成授權檢視表的變更。詳情請參閱 gcloud bigtable authorized-views update 參考說明文件。
刪除授權檢視表
刪除資料表時,系統也會一併刪除該資料表的所有授權檢視畫面。
授權檢視區刪除後就無法復原。不過,如果您刪除資料表,然後取消刪除,系統會連同資料表一併還原所有授權檢視畫面。然後您必須重新設定授權檢視區塊和資料表的 IAM。詳情請參閱「取消刪除資料表」。
控制台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
按一下包含授權檢視區塊的執行個體。
在導覽窗格中,按一下「Bigtable Studio」。
在檔案總管中,展開資料表和「已授權檢視表」。
找到要刪除的授權檢視畫面,然後按一下 more_vert 動作選單,再按一下「刪除」。
gcloud
使用 bigtable instances tables
authorized-views delete
指令刪除授權檢視表。詳情請參閱 gcloud bigtable authorized-views delete 的參考說明文件。
gcloud bigtable authorized-views delete AUTHORIZED_VIEW_ID \
--instance=INSTANCE_ID \
--table=TABLE_ID
更改下列內容:
AUTHORIZED_VIEW_ID
:授權檢視區塊的永久 IDINSTANCE_ID
:執行個體的永久 IDTABLE_ID
:來源資料表的永久 ID
選用:如要避免 gcloud CLI 顯示確認提示,要求您確認或取消刪除作業,請在指令中附加 --nointeractive
旗標。
Java
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
取得資料表的授權檢視表清單
控制台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
按一下包含授權檢視區塊的執行個體。
在導覽窗格中,按一下「Bigtable Studio」。
在檔案總管中,展開資料表和「已授權檢視表」。
gcloud
請執行 bigtable authorized-views list
指令。詳情請參閱 gcloud bigtable authorized-views list 的參考說明文件。
gcloud bigtable authorized-views list \
--instance=INSTANCE_ID \
--table=TABLE_ID
更改下列內容:
INSTANCE_ID
:執行個體的永久 IDTABLE_ID
:資料表的永久 ID
Java
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
查看授權檢視的詳細資料
控制台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
按一下包含授權檢視區塊的執行個體。
在導覽窗格中,按一下「Bigtable Studio」。
在檔案總管中,展開資料表和「已授權檢視表」。
在要查看的授權檢視畫面旁,按一下 more_vert 動作選單,然後點選「開啟」。
gcloud
如要取得授權檢視表的詳細資料,請執行 bigtable instances
tables authorized-views describe
指令。詳情請參閱 gcloud bigtable authorized-views describe 的參考說明文件。
gcloud bigtable authorized-views describe \
–-instance=INSTANCE_ID \
–-table=TABLE_ID \
AUTHORIZED_VIEW_ID
更改下列內容:
INSTANCE_ID
:執行個體的永久 IDTABLE_ID
:資料表的永久 IDAUTHORIZED_VIEW_ID
:授權檢視區塊的永久 ID
Java
如要瞭解如何安裝及使用 Bigtable 的用戶端程式庫,請參閱這篇文章。
如要向 Bigtable 進行驗證,請設定應用程式預設憑證。 詳情請參閱「設定用戶端程式庫的驗證機制」。
授予已授權檢視表的存取權
如要進一步瞭解存取權控管,請參閱「使用 IAM 控管 Bigtable 存取權」。
控制台
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
按一下包含授權檢視區塊的執行個體。
在導覽窗格中,按一下「Bigtable Studio」。
在「Explorer」窗格中,展開資料表和「Authorized views」(已授權檢視表)。
在授權檢視名稱旁,按一下 more_vert 動作選單,然後點選「授予存取權」。
新增至少一個主體,並選取要指派給該主體或主體群組的角色。
選用:如要授予其他角色的存取權,請按一下「新增其他角色」,然後輸入每個其他角色的主體和角色。
按一下 [儲存]。
gcloud
如要授予授權 view 的存取權,請使用 bigtable
authorized-views add-iam-policy-binding
指令。詳情請參閱 gcloud bigtable authorized-views add-iam-policy-binding 參考文件。
gcloud bigtable authorized-views add-iam-policy-binding AUTH_VIEW_ID \
--instance=INSTANCE_ID --table=TABLE_ID \
--member=PRINCIPAL --role=ROLE
更改下列內容:
AUTH_VIEW_ID
:授權檢視的 IDTABLE_ID
:授權檢視區所屬資料表的 IDINSTANCE_ID
:包含資料表的例項PRINCIPAL
:要授予存取權的主體 (使用者),例如user:222larabrown@gmail.com
ROLE
:您要授予的角色,例如roles/bigtable.reader
。