關於代碼
標記是可附加至Google Cloud內資源的鍵/值組合。您可以根據資源是否具備特定標記,有條件地允許或拒絕政策。舉例來說,您可以根據資源是否具備特定標記,有條件地授予 Identity and Access Management (IAM) 角色。如要進一步瞭解標記,請參閱「標記總覽」。
如要將標記附加至資源,請建立標記繫結資源,將值連結至 Google Cloud 資源。
如要將 Cloud Deploy 中的推送管道或目標分組,以利自動化和帳單作業,請使用標籤。 標記和標籤各自獨立運作,您可以同時將兩者套用至資源。所需權限
如要取得管理標記所需的權限,請管理員授予下列 IAM 角色:
-
標記檢視者 (
roles/resourcemanager.tagViewer) 標記附加的資源 -
在機構層級查看及管理標記:
機構檢視者 (
roles/resourcemanager.organizationViewer) 機構 -
建立、更新及刪除代碼定義:
您要建立、更新或刪除代碼的資源必須具備代碼管理員 (
roles/resourcemanager.tagAdmin) 權限 -
在資源中附加及移除標記:
標記使用者 (
roles/resourcemanager.tagUser) 在標記值和要附加/移除標記值的資源上
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
如要將標記附加至 Cloud Deploy 推送管道或目標,您需要「Cloud Deploy 運算子」角色 (roles/clouddeploy.operator)。
建立標記鍵和值
您必須先建立標記並設定其值,才能附加標記。 如要建立標記鍵和標記值,請參閱「建立標記」和「新增標記值」。
為現有資源新增標記
如要將標記新增至現有的發布管道或目標,請按照下列步驟操作:
gcloud
如要將標記附加至發布管道或目標,請使用 gcloud resource-manager tags bindings create 指令建立標記繫結資源:
gcloud resource-manager tags bindings create \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID \
--location=LOCATION
更改下列內容:
TAGVALUE_NAME:附加標記值的永久 ID 或命名空間名稱,例如tagValues/567890123456。-
RESOURCE_ID是資源的完整 ID,包括用於識別資源類型的 API 網域名稱 (//clouddeploy.googleapis.com/)。舉例來說,如要在projects/7890123456的us-central1區域中,將標記附加至傳送管道myPipeline,完整 ID 為://clouddeploy.googleapis.com/projects/7890123456/locations/us-central1/deliveryPipelines/myPipeline。 LOCATION:資源位置。如要將標記附加至全域資源 (例如資料夾或專案),請省略這個旗標。如要將標記附加至區域或地區資源,請務必指定位置,例如us-central1(區域) 或us-central1-a(地區)。
列出附加至資源的標記
您可以查看直接附加至或由推送管道或目標沿用的代碼繫結清單。
gcloud
如要取得附加至資源的標記繫結清單,請使用 gcloud resource-manager tags bindings list 指令:
gcloud resource-manager tags bindings list \
--parent=RESOURCE_ID \
--location=LOCATION
更改下列內容:
-
RESOURCE_ID是資源的完整 ID,包括用於識別資源類型的 API 網域名稱 (//clouddeploy.googleapis.com/)。舉例來說,如要在projects/7890123456的us-central1區域中,將標記附加至傳送管道myPipeline,完整 ID 為://clouddeploy.googleapis.com/projects/7890123456/locations/us-central1/deliveryPipelines/myPipeline。 LOCATION:資源位置。如果您要查看附加至資料夾或專案等全域資源的標記,請省略這個標記。如果查看附加至區域或地區資源的標記,則必須指定位置,例如us-central1(區域) 或us-central1-a(地區)。
您應該會得到類似以下的回覆:
name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
tagValue: tagValues/567890123456
resource: //clouddeploy.googleapis.com/projects/PROJECT_ID/locations/REGION/DELIVERY_PIPELINE_ID
從資源卸離標記
您可以將直接附加至推送管道或目標的代碼分離。如要覆寫繼承的標記,請附加具有相同鍵和不同值的標記,但無法卸離。
gcloud
如要刪除標記繫結,請使用 gcloud resource-manager tags bindings delete 指令:
gcloud resource-manager tags bindings delete \
--tag-value=TAGVALUE_NAME \
--parent=RESOURCE_ID \
--location=LOCATION
更改下列內容:
TAGVALUE_NAME:附加標記值的永久 ID 或命名空間名稱,例如tagValues/567890123456。-
RESOURCE_ID是資源的完整 ID,包括用於識別資源類型的 API 網域名稱 (//clouddeploy.googleapis.com/)。舉例來說,如要在projects/7890123456的us-central1區域中,將標記附加至傳送管道myPipeline,完整 ID 為://clouddeploy.googleapis.com/projects/7890123456/locations/us-central1/deliveryPipelines/myPipeline。 LOCATION:資源位置。如要將標記附加至全域資源 (例如資料夾或專案),請省略這個旗標。如要將標記附加至區域或地區資源,請務必指定位置,例如us-central1(區域) 或us-central1-a(地區)。
刪除標籤鍵和值
移除標籤鍵或值定義時,請務必將標籤從放送管道或目標中分離。您必須先刪除現有代碼附件 (稱為代碼繫結),才能刪除代碼定義本身。如要刪除標記鍵和標記值,請參閱刪除標記。
身分與存取權管理條件和標記
您可以使用標記和 IAM 條件,有條件地將角色繫結授予階層中的使用者。如果已套用具有條件角色繫結的 IAM 政策,變更或刪除附加至資源的標記,可能會移除使用者對該資源的存取權。詳情請參閱「身分與存取權管理條件和標記」。