本頁說明如何使用 Google Cloud 標記管理 Spanner 執行個體的存取權。
Google Cloud 標記是一種鍵/值組合,可附加至 Google Cloud 資源,例如專案或 Spanner 執行個體。您可以使用標記將執行個體分組及整理,並根據執行個體是否具有特定標記,有條件地設定身分與存取權管理 (IAM) 存取權政策。您可以使用 Google Cloud CLI 或Google Cloud 控制台,建立及管理 Spanner 執行個體標記。建立標記後,您可以建立標記繫結,將標記附加至 Google Cloud 資源。資源的子項會根據Google Cloud 資源階層繼承標記繫結。舉例來說,如果您將標記附加至專案,該專案中的所有執行個體都會沿用該標記。您也可以使用標籤整理 Google Cloud 資源,但無法使用標籤在 IAM 政策中設定條件。
如要進一步瞭解代碼,請參閱「代碼總覽」。
Spanner 執行個體標記的常見用途
標記的常見用途包括:
IAM 標記:根據執行個體是否具有特定標記,指派 IAM 角色。標記值是否存在是該 IAM 政策的條件,有助於控管 Spanner 執行個體的存取權。
狀態標記:建立標記,指出及管理執行個體的狀態。 例如
state:active
、state:todelete
和state:archive
。環境標記:建立
env:prod
、env:dev
和env:test
等鍵/值組合,為執行個體指定正式版、測試和開發環境。
如何建立及管理 Spanner 執行個體標記
標記的結構為鍵/值組合。您可以在機構資源下建立標記鍵,然後將標記值附加至標記鍵 (例如,標記鍵 environment
具有 prod
和 dev
值)。接著,您可以建立標記繫結,將標記值連結至 Google Cloud 資源,例如專案或 Spanner 執行個體。請注意,您無法將標記指派給資料庫。
所需權限
您需要的權限取決於要執行的動作。詳情請參閱 Resource Manager 說明文件中的「必要權限」。
建立標記鍵和值
如要將標記附加至執行個體,必須先建立標記並指派值。如要建立標籤鍵和標籤值,請參閱「建立標籤」和「新增標籤值」。
將標記附加至執行個體
建立標記鍵/值組合後,即可建立標記繫結,並將其附加至 Spanner 執行個體。
主控台
前往 Google Cloud 控制台的「Spanner Instances」(Spanner 執行個體) 頁面。
選取要附加標記的執行個體。
按一下「代碼」
。如果機構未顯示在「標記」面板中,請按一下「選取範圍」。選取機構,然後按一下「開啟」。
在「標記」面板中,選取「新增標記」。
在「鍵」欄位中,從清單選取要附加的代碼鍵。輸入關鍵字即可篩選清單。
在「值」欄位中,從清單選取要附加的標記值。輸入關鍵字即可篩選清單。
如要附加更多標記,請按一下「新增標記」
,然後選取每個標記的鍵和值。按一下 [儲存]。
在「確認」對話方塊中,按一下「確認」即可附加標記。
系統會發送通知,確認代碼已更新。
gcloud
如要建立標記繫結並附加至執行個體,請執行下列指令:
gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/VALUE_NAME
--location=LOCATION
PROJECT_ID
:專案 ID。INSTANCE_ID
:執行個體的 ID。ORG_ID
:機構的 ID。KEY_NAME
:標記鍵的顯示 (簡短) 名稱。例如:env
。VALUE_NAME
:標籤值的顯示 (簡短) 名稱。例如:prod
。LOCATION
:執行個體的位置。例如:us-east1
。
舉例來說,如要在 Spanner 執行個體 my-instance
上建立標籤繫結,並使用標籤鍵/值組合 env:prod
,請執行下列指令:
gcloud resource-manager tags bindings create
--parent=//spanner.googleapis.com/projects/my-project/instances/my-instance
--tag-value=123456789012/env/prod
--location=us-east1
IAM 條件和標記
您可以運用標記和 IAM 條件,有條件地將角色繫結授予使用者。如果套用具有條件式角色繫結的 IAM 政策,變更或刪除附加至資源的標記,可能會移除使用者對該資源的存取權。
詳情請參閱「身分與存取權管理條件總覽」。
主控台
如要使用標記有條件地將角色繫結授予使用者,請參閱「管理標記存取權」。
gcloud
如要將以標記為準的條件套用至 IAM 政策,請確認您具備必要權限,然後執行下列指令:
gcloud organizations add-iam-policy-binding ORG_ID
--role=roles/ROLE --member=PRINCIPAL
--condition=resource.matchTag('PROJECT_ID/KEY_NAME', 'VALUE_NAME')
ORG_ID
:機構的 ID。ROLE
:要指派給主體的角色名稱。角色名稱是預先定義角色的完整路徑,例如roles/logging.viewer
,或是自訂角色的角色 ID,例如organizations/{ORG_ID}/roles/logging.viewer
。PRINCIPAL
:要新增角色繫結的主體。格式應為user|group|serviceAccount:email
或domain:domain
。例如user:test-user@gmail.com
、group:admins@example.com
、serviceAccount:test123@example.domain.com
或domain:example.domain.com
。PROJECT_ID
:專案 ID。KEY_NAME
:標記鍵的顯示 (簡短) 名稱。例如:env
。VALUE_NAME
:標籤值的顯示 (簡短) 名稱。例如:prod
。
這項指令會將 IAM 政策繫結新增至機構的 IAM 政策。政策繫結包含成員、角色和選用條件。
舉例來說,如要在所有 123456789012
專案資源中,有條件地授予 user1@example.com
spanner.backupAdmin
角色,並使用 env:prod
標記,請執行下列指令:
gcloud organizations add-iam-policy-binding my-project
--member=user1@example.com --role=roles/spanner.backupAdmin
--condition=resource.matchTag('123456789012/env', 'prod')
列出附加至執行個體的標記
您可以查看直接附加至執行個體或由執行個體繼承的標記繫結清單。
gcloud
如要取得直接附加至資源的標記繫結清單,請使用 gcloud resource-manager tags bindings list
指令。如果您加入 --effective
標記,也會取得這個資源繼承的所有標記繫結。
如要列出附加至執行個體的所有標記繫結,請執行下列指令:
gcloud resource-manager tags bindings list
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--location=LOCATION
--effective
PROJECT_ID
:專案 ID。INSTANCE_ID
:執行個體的 ID。LOCATION
:執行個體的位置。例如:us-east1
。
刪除標記繫結
移除標籤鍵或值定義時,請務必將標籤從執行個體中分離。您必須先刪除現有標記繫結,才能刪除標記。
主控台
前往 Google Cloud 控制台的「Spanner Instances」(Spanner 執行個體) 頁面。
選取要刪除標記繫結的執行個體。
按一下「代碼」
。在「標籤」面板中,找出要取消連結的標籤,然後按一下旁邊的「刪除項目」圖示
。按一下 [儲存]。
在「確認」對話方塊中,按一下「確認」即可取消連結代碼。
系統會發送通知,確認代碼已更新。
gcloud
如要刪除標記繫結,請執行下列指令:
gcloud resource-manager tags bindings delete
--parent=//spanner.googleapis.com/projects/PROJECT_ID/instances/INSTANCE_ID
--tag-value=ORG_ID/KEY_NAME/KEY_VALUE
--location=LOCATION
PROJECT_ID
:專案 ID。INSTANCE_ID
:執行個體的 ID。ORG_ID
:機構的 ID。KEY_NAME
:標記鍵的顯示 (簡短) 名稱。例如:env
。VALUE_NAME
:標籤值的顯示 (簡短) 名稱。例如:prod
。LOCATION
:執行個體的位置。例如:us-east1
。
刪除標記
刪除標記繫結後,即可刪除標記。如要刪除標記鍵和標記值,請參閱刪除標記。
後續步驟
進一步瞭解 Google Cloud 標記。
進一步瞭解如何使用 Resource Manager,在 Spanner 執行個體上建立及管理標記。
進一步瞭解標籤,這是整理 Google Cloud 資源的另一種方式。
進一步瞭解如何建立含有條件的 IAM 允許政策。