本指南說明如何建立及管理 Secret Manager 密鑰的標記。 您可以使用標籤將相關的 Secret Manager 密鑰分組,並根據標籤儲存這些資源的中繼資料。
關於代碼
標記是可附加至Google Cloud內資源的鍵/值組合。您可以根據資源是否具備特定標記,有條件地允許或拒絕政策。舉例來說,您可以根據資源是否具備特定標記,有條件地授予 Identity and Access Management (IAM) 角色。如要進一步瞭解標記,請參閱「標記總覽」。
如要將標記附加至資源,請建立標記繫結資源,將值連結至 Google Cloud 資源。
所需權限
您需要的權限取決於要執行的動作。
如要取得這些權限,請要求管理員在資源階層的適當層級授予建議的角色。
查看代碼
如要查看標記定義和附加至資源的標記,您需要「標記檢視者」角色 (roles/resourcemanager.tagViewer
),或是包含下列權限的其他角色:
所需權限
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.tagValues.list
resourcemanager.tagValues.get
listTagBindings
,適用於適當的資源類型。舉例來說,compute.instances.listTagBindings
可查看附加至 Compute Engine 執行個體的標記。listEffectiveTags
適用的資源類型。
例如,
compute.instances.listEffectiveTags
可查看附加至 Compute Engine 執行個體或由其沿用的所有標記。如要在機構層級查看標記,您必須在機構資源上擁有機構檢視者角色 (roles/resourcemanager.organizationViewer
)。
管理標記
如要建立、更新及刪除代碼定義,您需要「代碼管理員」角色 (roles/resourcemanager.tagAdmin
),或是包含下列權限的其他角色:
所需權限
resourcemanager.tagKeys.create
resourcemanager.tagKeys.update
resourcemanager.tagKeys.delete
resourcemanager.tagKeys.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.getIamPolicy
resourcemanager.tagKeys.setIamPolicy
resourcemanager.tagValues.create
resourcemanager.tagValues.update
resourcemanager.tagValues.delete
resourcemanager.tagValues.list
resourcemanager.tagValues.get
resourcemanager.tagValues.getIamPolicy
resourcemanager.tagValues.setIamPolicy
如要在機構層級管理標記,您需要機構資源的機構檢視者角色 (roles/resourcemanager.organizationViewer
)。
管理資源標記
如要新增及移除附加至資源的標記,您必須在標記值和要附加標記值的資源上,都具備「標記使用者」 (roles/resourcemanager.tagUser
) 角色,或是其他具有同等權限的角色。「標記使用者」角色具備下列權限:
所需權限
- 附加標記值時,您必須具備資源的權限
- 資源專屬的
createTagBinding
權限,例如 Compute Engine 執行個體的compute.instances.createTagBinding
。 - 資源專屬的
deleteTagBinding
權限,例如 Compute Engine 執行個體的compute.instances.deleteTagBinding
。 - 標記值所需的權限:
resourcemanager.tagValueBindings.create
resourcemanager.tagValueBindings.delete
- 可查看專案和標記定義的權限:
resourcemanager.tagValues.get
resourcemanager.tagValues.list
resourcemanager.tagKeys.get
resourcemanager.tagKeys.list
resourcemanager.projects.get
如要將標記附加至 Secret Manager 密鑰,您需要 Secret Manager 管理員角色 (roles/secretmanager.admin
)。
建立標記鍵和值
您必須先建立代碼並設定其值,才能附加代碼。 如要建立標記鍵和標記值,請參閱「建立標記」和「新增標記值」。
在建立資源時新增標記
您可以在建立密鑰時新增標記。在建立資源時新增標記,可立即提供資源的重要中繼資料,並協助您妥善整理資源、追蹤費用,以及自動套用政策。
控制台
- 前往 Google Cloud 控制台的「Secret Manager」頁面。
- 選取建立新密鑰的選項。
- 按一下「管理代碼」 。
- 如果貴機構未顯示在「管理代碼」面板中,請按一下「選取範圍」。選擇要新增在機構或專案層級定義的標記,然後輸入標記 ID。
- 按一下「新增標記」。
- 從清單中選取要附加的代碼鍵。您可以輸入關鍵字來篩選清單。
- 從清單中選取要附加的標記值。您可以輸入關鍵字來篩選清單。
- 按一下 [儲存]。「標記」部分會更新標記資訊。
- 建立密鑰。系統會使用提供的標記建立新密鑰。
gcloud
如要在建立 secret 時新增標記,請執行下列指令:
gcloud secrets create SECRET_ID --tags=TAG_KEY=TAG_VALUE
更改下列內容:
- SECRET_ID:密鑰的專屬 ID
- TAG_KEY:附加標記鍵的永久 ID 或命名空間名稱,例如 tagKeys/567890123456
- :附加的標記值永久 ID 或命名空間名稱,例如 tagValues/567890123456TAG_VALUE
如要指定多個標記,請以半形逗號分隔,例如 TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2
API
向下列網址傳送 POST
要求:
https://secretmanager.googleapis.com/v1/projects/PROJECT_ID/secrets?secretId=SECRET_ID
在要求內文中提供下列 JSON:
{ "replication": { "automatic": {} }, "tags": { "TAGKEY_NAME": "TAGVALUE_NAME" } }
更改下列內容:
- PROJECT_ID:專案 ID
- SECRET_ID:密鑰的專屬 ID
- TAGKEY_NAME:附加標記鍵的永久 ID 或命名空間名稱,例如 tagKeys/567890123456
- :附加的標記值永久 ID 或命名空間名稱,例如 tagValues/567890123456TAGVALUE_NAME
為現有資源新增標記
如要為現有密鑰新增標記,請按照下列步驟操作:
控制台
- 前往 Google Cloud 控制台的「Secret Manager」頁面。
- 選取要附加標記的密鑰。
- 按一下「代碼」 。
- 如果「標記」面板中未顯示貴機構,請按一下「選取範圍」。選取機構,然後按一下「開啟」。
- 按一下「新增標記」。
- 從清單中選取要附加的代碼鍵。輸入關鍵字即可篩選清單。
- 從清單中選取要附加的標記值。輸入關鍵字即可篩選清單。
- 按一下 [儲存]。
- 在「確認」對話方塊中,按一下「確認」即可附加代碼。
系統會顯示通知,確認代碼已更新。
gcloud
如要將標記附加至密鑰,請使用 gcloud resource-manager tags bindings create
指令建立標記繫結資源:
gcloud resource-manager tags bindings create \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
更改下列內容:
TAGVALUE_NAME
:附加標記值的永久 ID 或命名空間名稱,例如tagValues/567890123456
。-
RESOURCE_ID
是資源的完整 ID,包括 API 網域名稱,用於識別資源類型 (//secretmanager.googleapis.com/
)。舉例來說,如要將標記附加至/projects/PROJECT_ID/secrets/SECRET_ID
,完整 ID 為//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID
。
列出附加至資源的標記
您可以查看直接附加至或由密鑰沿用的標記繫結清單。
控制台
- 前往 Google Cloud 控制台的「Secret Manager」頁面。
- 標記會顯示在密碼的「標記」欄中。
gcloud
如要取得附加至資源的標記繫結清單,請使用 gcloud resource-manager tags bindings list
指令:
gcloud resource-manager tags bindings list \ --parent=RESOURCE_ID
更改下列內容:
-
RESOURCE_ID
是資源的完整 ID,包括 API 網域名稱,用於識別資源類型 (//secretmanager.googleapis.com/
)。舉例來說,如要將標記附加至/projects/PROJECT_ID/secrets/SECRET_ID
,完整 ID 為//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID
。
您應該會得到類似以下的回覆:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456 tagValue: tagValues/567890123456 resource: //secretmanager.googleapis.com/projects/project-abc/secrets/secret-xyz
從資源卸離標記
您可以卸除直接附加至密鑰的標記。如要覆寫繼承的標記,請附加具有相同鍵和不同值的標記,但無法卸離。
控制台
- 前往 Google Cloud 控制台的「Secret Manager」頁面。
- 選取要移除標記的密碼。
- 按一下「代碼」 。
- 在「標記」面板中,找出要取消連結的標記,然後按一下旁邊的「刪除項目」 。
- 按一下 [儲存]。
- 在「確認」對話方塊中,按一下「確認」即可取消連結代碼。
系統會顯示通知,確認代碼已更新。
gcloud
如要刪除標記繫結,請使用 gcloud resource-manager tags bindings delete
指令:
gcloud resource-manager tags bindings delete \ --tag-value=TAGVALUE_NAME \ --parent=RESOURCE_ID
更改下列內容:
TAGVALUE_NAME
:附加標記值的永久 ID 或命名空間名稱,例如tagValues/567890123456
。-
RESOURCE_ID
是資源的完整 ID,包括 API 網域名稱,用於識別資源類型 (//secretmanager.googleapis.com/
)。舉例來說,如要將標記附加至/projects/PROJECT_ID/secrets/SECRET_ID
,完整 ID 為//secretmanager.googleapis.com/projects/PROJECT_ID/secrets/SECRET_ID
。
刪除標籤鍵和值
移除標記鍵或值定義時,請務必將標記從密鑰中分離。您必須先刪除現有代碼附件 (稱為代碼繫結),才能刪除代碼定義本身。如要刪除標記鍵和標記值,請參閱刪除標記。
身分與存取權管理條件和標記
您可以使用標記和 IAM 條件,有條件地將角色繫結授予階層中的使用者。如果已套用具有條件角色繫結的 IAM 政策,變更或刪除附加至資源的標記,可能會移除使用者對該資源的存取權。詳情請參閱「身分與存取權管理條件和標記」。