建立及管理標記

本指南說明如何建立及管理代碼。標記是可附加至 Google Cloud 資源的鍵/值組合。您可以根據支援的資源是否具備特定標記,有條件地允許或拒絕政策。

事前準備

如要進一步瞭解標記及其運作方式,請參閱「標記總覽」。

所需權限

如要取得管理標記所需的權限,請要求管理員授予您下列 IAM 角色:

  • 標記檢視者 (roles/resourcemanager.tagViewer) 標記附加至的資源
  • 在機構層級查看及管理標記: 機構檢視者 (roles/resourcemanager.organizationViewer) 機構
  • 建立、更新及刪除代碼定義: 代碼管理員 (roles/resourcemanager.tagAdmin) 適用於您要建立、更新或刪除代碼的資源
  • 在資源中附加及移除標記: 標記使用者 (roles/resourcemanager.tagUser) 在標記值和您要附加或移除標記值的資源上

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

建立及定義新代碼

標記是鍵/值組合,會附加至Google Cloud 階層中的資源。如要建立新標記,請先建立標記鍵,說明要建立的標記。舉例來說,您可能想為資源階層中的資源指定正式版、測試版和開發環境,方法是建立名為 environment 的鍵。

接著,您可以建立金鑰可擁有的不同值。如果您建立名為 environment 的標記鍵,可能想指定有三種潛在環境,並為每個環境建立值:productiondevelopmenttest

最後,您可以將這些標記附加至資源,並連帶附加鍵/值組合關聯。將標記鍵和值附加至資源,也稱為建立標記繫結。舉例來說,您可以在整個機構中,將 test 附加至多個測試環境資料夾,每個資料夾都會攜帶 environment: test 鍵/值組合。

您也可以建立標記鍵,讓使用者在將標記繫結新增至資源時,動態指定值。這些值稱為動態代碼值 (預覽)。 您可以為動態代碼值設定驗證規則,在使用者附加資源時,對建立的代碼強制執行特定格式、值或限制。

如果無法預先定義所有可能的標記值,動態標記值就非常實用。舉例來說,擁有者應用程式 ID服務 ID成本中心等屬性可能有數千個不同的值。手動預先定義及維護如此龐大的標記值清單,會造成龐大的管理負擔。

標記鍵和值的限制

在特定機構或專案中,最多可建立 1,000 個標記鍵。這些限制互不影響。舉例來說,在專案下建立的標記鍵不會計入機構節點的限制。如需超過預設值,請提交支援要求,將每個機構或專案的標記鍵上限調高至 10,000 個。

預設情況下,每個預先定義的標記鍵最多可關聯 1000 個值。您也可以提出支援要求,將每個鍵的標記值上限提高至 10,000 個。不過,如果您使用動態代碼值,每個代碼鍵可用的不同代碼值數量就沒有上限。

  • 大多數接受標記的資源類型都支援動態標記值,但 Google Cloud 儲存空間資源和 Google Compute Engine 代管執行個體 (MIG) 除外。
  • 動態標記值無法用於 Identity and Access Management (IAM) 條件或 Organization Policy Service 限制。
  • 您只能使用 Google Cloud CLI 和 API,建立及更新具有動態值的標記鍵和標記繫結。

建立標記

首先,您需要建立標記鍵。

標記鍵的 shortName 長度上限為 256 個半形字元。shortName 的允許字元集包括 UTF-8 編碼的 Unicode 字元,但單引號 (')、雙引號 (")、反斜線 (\) 和正斜線 (/) 除外。

shortName 建立後就無法變更,且在相同命名空間內不得重複。

控制台

如要建立標記鍵,請執行下列步驟:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的「範圍選擇器」中,選取要建立標記鍵的機構或專案。

  3. 點選 「Create」(建立)

  4. 在「標籤鍵」方塊中,輸入標籤鍵的顯示名稱。這會成為代碼命名空間名稱的一部分。

  5. 在「標記鍵說明」方塊中,輸入標記鍵的說明。

  6. 如要為這個鍵新增代碼值,請為要建立的每個代碼值點選「新增值」

  7. 在「標記值」方塊中,輸入標記值的顯示名稱。這會成為代碼命名空間名稱的一部分。

  8. 在「標記值說明」方塊中,輸入標記值的說明。

  9. 新增完標記值後,請按一下「建立標記鍵」

gcloud

如要建立標記鍵,請使用 gcloud resource-manager tags keys create 指令:

gcloud resource-manager tags keys create SHORT_NAME \
    --parent=RESOURCE_ID

其中:

  • SHORT_NAME 是標記鍵的顯示名稱,例如:environment

  • RESOURCE_ID 是這個標記鍵的父項機構或專案資源 ID,例如:organizations/123456789012projects/test-project123projects/234567890123。如要瞭解如何取得機構 ID,請參閱建立及管理機構。 如要瞭解如何取得專案 ID,請參閱「建立及管理專案」。

您應該會收到類似以下的回覆:

Creating tag key environment in organization 1234567890...
<blocking wait until creation completes>
name: tagKeys/123456789012
short_name: environment
namespaced_name: 123456789012/environment
parent: organizations/123456789012

Terraform

使用 Terraform 建立標籤鍵之前,請先啟用 Cloud Resource Manager API

您可以使用 google_tags_tag_key 資源建立標記鍵。

resource "google_tags_tag_key" "key" {
  parent = "<var>RESOURCE</var>"
  short_name = "<var>KEY_SHORT_NAME</var>"
  description = "<var>DESCRIPTION</var>"
}

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

API

如要建立標記鍵,請建立鍵的 JSON 表示法。如要進一步瞭解標記鍵的格式,請參閱「TagKey 參考資料」。

然後使用 tagKeys.create 方法:

POST https://cloudresourcemanager.googleapis.com/v3/tagKeys/ -d

JSON 要求主體:

{
    "parent": RESOURCE_ID,
    "shortName": SHORT_NAME,
    "description": DESCRIPTION,
}

其中:

  • SHORT_NAME 是標記鍵的顯示名稱,例如:environment

  • RESOURCE_ID 是這個標記鍵的父項機構或專案資源 ID,例如:organizations/123456789012projects/test-project123projects/234567890123。如要瞭解如何取得機構 ID,請參閱建立及管理機構。 如要瞭解如何取得專案 ID,請參閱「建立及管理專案」。

  • DESCRIPTION」是金鑰的說明,長度不得超過 256 個字元。

建立金鑰後,您會看到可供人閱讀的專屬顯示名稱 (稱為 namespacedName),該名稱位於父項資源的命名空間中,以及全域不重複的永久 ID (稱為 name)。

使用動態鍵值建立標記鍵

如要建立支援動態值的標記鍵,請使用下列其中一種方法:

gcloud

gcloud alpha resource-manager tags keys create SHORT_NAME \
    --parent=RESOURCE_ID \
    --allowed-values-regex=VALID_REGEX

更改下列內容:

  • SHORT_NAME:標記鍵的顯示名稱,例如:environment

  • RESOURCE_ID:這個標記鍵的父項機構或專案資源 ID,例如:organizations/123456789012projects/test-project123projects/234567890123。如要瞭解如何取得機構 ID,請參閱建立及管理機構。 如要瞭解如何取得專案 ID,請參閱「建立及管理專案」。

  • VALID_REGEXRE2 語法的規則運算式,用於定義與新建立的標記鍵相關聯的標記值允許格式 (僅用於驗證動態值)。如要允許指定任何值,請使用規則運算式 .*

您應該會收到類似以下的回覆:

allowedValuesRegex: '[abc]'
name: tagKeys/123456789012
shortName: environment
namespacedName: 123456789012/environment
parent: organizations/123456789012

Terraform

使用 Terraform 建立標籤鍵之前,請先啟用 Cloud Resource Manager API

您可以使用 google_tags_tag_key 資源建立支援動態值的代碼鍵。

resource "google_tags_tag_key" "key" {
  parent = "organizations/123456789"
  short_name = "keyname"
  description = "For keyname resources."
  allowed_values_regex = "^[a-z]+$"
}

如要瞭解如何套用或移除 Terraform 設定,請參閱「基本 Terraform 指令」。

更改下列內容:

API

如要建立支援動態標記值的標記鍵,請建立鍵的 JSON 表示法。如要進一步瞭解標記鍵的格式,請參閱「TagKey 參考資料」。

然後使用 tagKeys.create 方法:

POST https://cloudresourcemanager.googleapis.com/v3/tagKeys/

JSON 要求主體:

{
    "parent": RESOURCE_ID,
    "shortName": SHORT_NAME,
    "description": DESCRIPTION,
    "allowedValuesRegex": VALID_REGEX
}

更改下列內容:

  • RESOURCE_ID:這個標記鍵的父項機構或專案資源 ID,例如:organizations/123456789012projects/test-project123projects/234567890123。如要瞭解如何取得機構 ID,請參閱建立及管理機構。 如要瞭解如何取得專案 ID,請參閱「建立及管理專案」。

  • SHORT_NAME:標記鍵的顯示名稱,例如:environment

  • DESCRIPTION:金鑰說明,長度不得超過 256 個字元。

  • VALID_REGEX:規則運算式,定義與新建立標記鍵相關聯的標記值允許格式。

建立金鑰後,您會看到稱為 namespacedName 的唯一可讀顯示名稱 (位於父項資源的命名空間內),以及稱為 name 的全域不重複永久 ID。

查看標記鍵

您可以使用永久 ID 或建立時顯示的命名空間名稱,找出特定標記鍵的相關資訊。

控制台

如要查看已建立的標記,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍挑選器中,選取包含代碼的機構或專案。

  3. 所選機構或專案中的所有標記都會顯示在清單中。 按一下要查看標記金鑰的標記。

gcloud

如要顯示與特定標記鍵相關的資訊,請使用 gcloud resource-manager tags keys describe 指令:

gcloud resource-manager tags keys describe TAGKEY_NAME

TAGKEY_NAME 是您要顯示資訊的標記鍵永久 ID 或命名空間名稱,例如:tagKeys/123456789012project-id/environment

您應該會收到類似以下的回覆:

name: tagKeys/123456789012
short_name: environment
namespaced_name: 123456789012/environment
parent: organizations/123456789012

如果是含有動態值的標記,回應也會包含 allowedValuesRegex 欄位,顯示用於驗證標記套用至資源時輸入的任何動態標記值的 RE2 規則運算式。

API

如要顯示與特定標記鍵相關的資訊,請使用 tagKeys.get 方法:

GET https://cloudresourcemanager.googleapis.com/v3/{name=TAGKEY_NAME}

TAGKEY_NAME 是您要顯示資訊的標記鍵永久 ID,例如:tagKeys/123456789012

如要使用命名空間名稱顯示特定標記鍵的相關資訊,請使用 tagKeys.getNamespaced 方法:

GET https://cloudresourcemanager.googleapis.com/v3/tagKeys/namespaced?name={TAGKEY_NAMESPACED_NAME}

TAGKEY_NAMESPACED_NAME 是標記鍵的命名空間名稱,格式為 parentNamespace/tagKeyShortName

如果是含有動態值的標記,回應也會包含 allowedValuesRegex 欄位,顯示用於驗證標記套用至資源時輸入的任何動態標記值的 RE2 規則運算式。

新增標記值

建立標記鍵後,即可為該鍵新增可接受的值。

代碼值的 shortName 必須符合下列規定:

  • shortName長度上限為 256 個半形字元。

  • shortName 開頭必須是英數字元。

  • shortName 可以包含 UTF-8 編碼的 Unicode 字元,但不能包含單引號 (')、雙引號 (")、反斜線 (\) 和正斜線 (/)。

  • shortName 一經建立即無法變更,且在相同命名空間內不得重複。

控制台

如要建立標記值,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的「範圍選擇器」中,選取要建立標記值的機構或專案。

  3. 在標記清單中,按一下要新增值的標記。

  4. 按一下 「新增值」

  5. 在「標記值」方塊中,輸入標記值的顯示名稱。這會成為代碼命名空間名稱的一部分。

  6. 在「標記值說明」方塊中,輸入標記值的說明。

  7. 按一下 [儲存]

gcloud

如要建立標記值,請使用 gcloud resource-manager tags values create 指令。您必須指定建立這個值的金鑰:

gcloud resource-manager tags values create TAGVALUE_SHORTNAME \
    --parent=TAGKEY_NAME

其中:

  • TAGVALUE_SHORTNAME 是新標記值的簡短名稱,例如:production

  • TAGKEY_NAME 是父項標記鍵的永久 ID 或命名空間名稱,例如:tagKeys/4567890123

您應該會收到類似以下的回覆:

Creating tag value production in tag key 123456789012/environment...
<blocking wait until creation completes>
name: tagValues/7890123456
short_name: production
namespaced_name: 123456789012/environment/production
parent: tagKeys/123456789012

Terraform

使用 google_tags_tag_value 資源。

使用 Terraform 建立標記值之前,請先啟用 Cloud Resource Manager API

下列範例會建立名為 prodsales 的標記值:

data "google_project" "default" {}

resource "google_tags_tag_key" "env_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "env1"
}

resource "google_tags_tag_key" "department_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "department1"
}

resource "google_tags_tag_value" "env_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.env_tag_key.name}"
  short_name = "prod"
}

resource "google_tags_tag_value" "department_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.department_tag_key.name}"
  short_name = "sales"
}

如要在 Google Cloud 專案中套用 Terraform 設定,請完成下列各節的步驟。

準備 Cloud Shell

  1. 啟動 Cloud Shell
  2. 設定要套用 Terraform 設定的預設 Google Cloud 專案。

    每個專案只需要執行一次這個指令,而且可以在任何目錄中執行。

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    如果您在 Terraform 設定檔中設定明確值,環境變數就會遭到覆寫。

準備目錄

每個 Terraform 設定檔都必須有自己的目錄 (也稱為根模組)。

  1. Cloud Shell 中建立目錄,並在該目錄中建立新檔案。檔案名稱的副檔名必須是 .tf,例如 main.tf。在本教學課程中,這個檔案稱為 main.tf
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. 如果您正在學習教學課程,可以複製每個章節或步驟中的範例程式碼。

    將範例程式碼複製到新建立的 main.tf 中。

    視需要從 GitHub 複製程式碼。如果 Terraform 代码片段是端對端解決方案的一部分,建議您使用這個方法。

  3. 查看並修改範例參數,套用至您的環境。
  4. 儲存變更。
  5. 初始化 Terraform。每個目錄只需執行一次這項操作。
    terraform init

    如要使用最新版 Google 供應商,請加入 -upgrade 選項:

    terraform init -upgrade

套用變更

  1. 檢查設定,確認 Terraform 即將建立或更新的資源符合您的預期:
    terraform plan

    視需要修正設定。

  2. 執行下列指令,並在提示中輸入 yes,套用 Terraform 設定:
    terraform apply

    等待 Terraform 顯示「Apply complete!」訊息。

  3. 開啟 Google Cloud 專案即可查看結果。在 Google Cloud 控制台中,前往 UI 中的資源,確認 Terraform 已建立或更新這些資源。

API

如要建立標記值,請建立值的 JSON 表示法。 如要進一步瞭解標記值的格式,請參閱「TagValue 參考資料」。

然後使用 tagValues.create 方法:

POST https://cloudresourcemanager.googleapis.com/v3/tagValues/ -d

JSON 要求主體:

{
    "parent": TAGKEY_NAME,
    "shortName": SHORT_NAME,
    "description": DESCRIPTION,
}

其中:

  • TAGKEY_NAME 是父項標記鍵的永久 ID,例如:tagKeys/4567890123

  • SHORT_NAME 是標記值的顯示名稱,例如:environment

  • DESCRIPTION 是值的說明,長度不得超過 256 個字元。

建立值後,您會看到可供人閱讀的專屬顯示名稱 (稱為 namespacedName),該名稱位於父項資源的命名空間中,以及稱為 name 的全域專屬永久 ID。

將代碼值新增至動態代碼鍵

如果標記鍵支援動態標記值,請在將標記附加至資源時提供標記值。系統會根據為該標記鍵定義的規則運算式,驗證動態值。如果提供的值與設定的規則運算式不符,系統會顯示驗證錯誤。

資源會繼承父項資源的動態代碼值繫結。

請注意,支援動態標記值的標記鍵「無法」同時擁有預先定義的標記值

擷取標記值

您可以使用永久 ID 或建立時顯示的命名空間名稱,尋找特定標記值的相關資訊。這僅適用於預先定義的代碼值,不適用於動態代碼值。

控制台

如要查看已建立的標記,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍挑選器中,選取包含代碼的機構或專案。

  3. 您在這個機構或專案下建立的所有標記都會顯示在清單中。按一下要查看標記值的標記。

gcloud

如要顯示與特定標記值相關的資訊,請使用 gcloud resource-manager tags values describe 指令:

gcloud resource-manager tags values describe TAGVALUE_NAME

TAGVALUE_NAME 是標記值的永久 ID 或命名空間名稱,例如:tagValues/4567890123123456789012/environment/production

您應該會收到類似以下的回覆:

name: tagValues/456789012345
short_name: production
namespaced_name: 123456789012/environment/production
parent: tagKeys/123456789012

API

如要顯示特定標記值相關資訊,請使用 tagValues.get 方法:

GET https://cloudresourcemanager.googleapis.com/v3/{name=TAGVALUE_NAME}

TAGVALUE_NAME 是標記值的永久 ID,例如:tagValues/4567890123

如要使用命名空間名稱顯示特定標記值相關資訊,請使用 tagValues.getNamespaced 方法:

GET https://cloudresourcemanager.googleapis.com/v3/tagValues/namespaced?name={TAGVALUE_NAMESPACED_NAME}

TAGVALUE_NAMESPACED_NAME 是標記值的命名空間名稱,格式為 parentNamespace/tagKeyShortName/tagValueShortName

使用 Google Cloud CLI 參照標記時,可以對標記鍵和值使用命名空間名稱或永久 ID。除了 getNamespaced 以外,對 API 的呼叫都應只使用永久 ID。如要進一步瞭解代碼使用的 ID 類型,請參閱「代碼定義和 ID」。

更新現有標記

如要修改現有標記,請更新與該標記相關聯的鍵或值。 您可以更新標記說明,但無法更新簡短名稱。如果是動態值標記,您可以更新說明和 allowed_values_regex 欄位,定義與標記鍵相關聯的標記值允許格式。對「allowed_values_regex」欄位所做的變更不會溯及既往,也不會影響代碼鍵的現有代碼繫結。

控制台

如要更新標記鍵的說明,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍選擇工具中,選取含有標記鍵的機構或專案。

  3. 找出要更新的代碼鍵,然後按一下旁邊的「動作」,再點選「查看詳細資料」

  4. 按一下畫面頂端「說明」旁的「編輯」圖示

  5. 更新標記鍵的說明。

  6. 按一下 [儲存]

gcloud

如要修改標記鍵說明,請使用 gcloud resource-manager tags keys update 指令:

gcloud resource-manager tags keys update TAGKEY_NAME \
    --description=NEW_DESCRIPTION

其中:

  • TAGKEY_NAME 是要更新的金鑰永久 ID 或命名空間名稱,例如:tagKeys/123456789012

  • NEW_DESCRIPTION 是長度上限為 256 個半形字元的字串,用做新的說明。

您應該會收到類似以下的回覆:

name: tagKeys/123456789012
short_name: environment
namespaced_name: 123456789012/environment
description: "new description"
parent: organizations/123456789012

API

如要修改標記鍵說明,請使用 tagKeys.patch 方法:

PATCH https://cloudresourcemanager.googleapis.com/v3/{tagKey.name=TAGKEY_NAME} -d

JSON 要求主體:

{
    "description": DESCRIPTION,
}

其中:

  • TAGKEY_NAME 是標記鍵的永久 ID,例如:tagKeys/123456789012

  • DESCRIPTION」是金鑰的說明,長度不得超過 256 個字元。

您也可以變更標記值的說明。

控制台

如要更新標記值的說明,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍選擇工具中,選取包含標記值的機構或專案。

  3. 按一下要更新值的代碼鍵旁的「動作」,然後點選「查看詳細資料」

  4. 找出要更新的代碼值,然後按一下旁邊的「動作」,再點選「查看詳細資料」

  5. 按一下畫面頂端「說明」旁的「編輯」圖示

  6. 更新標記值的說明。

  7. 按一下 [儲存]

gcloud

如要修改標記值說明,請使用 gcloud resource-manager tags values update 指令:

gcloud resource-manager tags values update TAGVALUE_NAME \
    --description="NEW_DESCRIPTION"

其中:

  • TAGVALUE_NAME 是要更新的標記值的永久 ID 或命名空間名稱,例如:tagValues/4567890123

  • NEW_DESCRIPTION 是長度上限為 256 個半形字元的字串,用做新的說明。

您應該會收到類似以下的回覆:

short_name: production
namespaced_name: 123456789012/environment/production
parent: tagKeys/123456789012
description: "new description"

API

如要修改標記值說明,請使用 tagValues.patch 指令:

PATCH https://cloudresourcemanager.googleapis.com/v3/{tagKey.name=TAGVALUE_NAME} -d

JSON 要求主體:

{
    "description": DESCRIPTION,
}

其中:

  • TAGVALUE_NAME 是標記值的永久 ID 名稱,例如:tagValues/4567890123

  • DESCRIPTION」是金鑰的說明,長度不得超過 256 個字元。

列出標記鍵

您可以使用 Google Cloud 控制台、gcloud CLI 或呼叫 API,列出與特定機構或專案資源相關聯的所有標記鍵。

控制台

如要查看所有標記:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍選擇工具中,選取含有標記的機構或專案。

  3. 您在這個機構或專案下建立的所有標記都會顯示在清單中。

gcloud

如要傳回機構或專案資源下建立的所有標記鍵清單,請使用 gcloud resource-manager tags keys list 指令:

gcloud resource-manager tags keys list --parent=RESOURCE_ID

RESOURCE_ID 是要尋找附加標記鍵的機構或專案資源 ID。

  • 請以 organizations/ORGANIZATION_IDprojects/PROJECT_NAME 格式提供機構或專案 ID,例如:organizations/123456789012projects/test-project123。如要瞭解如何取得機構 ID,請參閱建立及管理機構。如要瞭解如何取得專案 ID,請參閱「建立及管理專案」。您應該會收到類似以下的回覆:
NAME                     SHORT_NAME      DESCRIPTION
tagKeys/123456789012     environment     description of tag key

API

如要傳回特定資源的所有標籤鍵清單,請使用 tagKeys.list 方法,並在查詢中指定父項資源:

GET https://cloudresourcemanager.googleapis.com/v3/tagKeys

{
    "parent": "RESOURCE_ID"
}

RESOURCE_ID 是要尋找附加標記鍵的機構或專案資源 ID,例如:organizations/123456789012projects/test-project123

列出標記值

您可以使用Google Cloud 控制台、gcloud CLI 或呼叫 API,列出與特定標記鍵相關聯的所有標記值。

這項指令只會擷取預先定義的標記值,不會擷取動態標記值。

控制台

如要查看附加至標記鍵的所有標記值,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的「範圍選擇器」中,選取包含標記鍵的機構或專案。

  3. 找出含有要尋找代碼值的代碼鍵,然後按一下旁邊的 「動作」,再點選「查看詳細資料」

  4. 您在這個代碼鍵下建立的所有代碼值都會顯示在清單中。

gcloud

如要傳回附加至鍵的所有標記值清單,請使用 gcloud resource-manager tags values list 指令:

gcloud resource-manager tags values list --parent=TAGKEY_NAME

TAGKEY_NAME 是要尋找附加值的標記鍵的永久 ID 或命名空間限定名稱,例如:tagKeys/1234567890121234567/environment

您應該會收到類似以下的回覆:

NAME                     SHORT_NAME
tagValues/123456789012   production

API

如要傳回附加至鍵的所有標籤值清單,請使用 tagValues.list 方法,並在查詢中指定父項標籤鍵:

GET https://cloudresourcemanager.googleapis.com/v3/tagValues

{
    "parent": "TAGKEY_NAME"
}

TAGKEY_NAME 是標記鍵的永久 ID 名稱,例如:tagKeys/123456789012

管理標記存取權

您可以使用 Google Cloud 控制台,授予使用者管理標記及附加標記值至資源的特定權限。如需與代碼相關的角色清單及其包含的權限,請參閱「必要權限」。

標記鍵

如要管理標記鍵的使用者存取權,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍選擇工具中,選取要管理存取權的標記鍵所屬的機構或專案。

  3. 找出要管理存取權的代碼,然後勾選旁邊的核取方塊。

  4. 按一下「管理存取權」

  5. 如要為主體新增角色,請按一下 「新增主體」

    1. 在「New principals」(新增主體) 文字方塊中,輸入要授予新角色的主體電子郵件地址。

    2. 從「Select a role」(選取角色) 下拉式選單中選取角色。如要新增多個角色,請按一下 「Add another role」(新增其他角色)

    3. 按一下 [儲存]

  6. 如要編輯主體的角色,請找到要編輯的主體,然後按一下旁邊的「編輯」

    1. 如要變更指派給這個標記主體的任何角色,請點選「角色」下拉式選單,然後選擇新角色。

    2. 如要新增更多角色,請按一下 「Add another role」(新增其他角色)

    3. 如要從這個標籤中刪除主體的角色,請按一下要刪除角色旁的 「刪除角色」

    4. 按一下 [儲存]

  7. 如要刪除主體的角色,請按一下要刪除角色旁的 「刪除角色」

    1. 按一下「移除」

標記值

如要管理標記值的存取權,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍選擇工具中,選取要管理存取權的標記鍵所屬的機構或專案。

  3. 按一下要管理存取權的值的代碼鍵旁的「動作」,然後按一下「查看詳細資料」

  4. 按一下「管理存取權」

  5. 如要為主體新增角色,請按一下 「新增主體」

    1. 在「New principals」(新增主體) 文字方塊中,輸入要授予新角色的主體電子郵件地址。

    2. 從「Select a role」(選取角色) 下拉式選單中選取角色。如要新增多個角色,請按一下 「Add another role」(新增其他角色)

    3. 按一下 [儲存]

  6. 如要編輯主體的角色,請找到要編輯的主體,然後按一下旁邊的「編輯」

    1. 如要變更指派給這個標記主體的任何角色,請點選「角色」下拉式選單,然後選擇新角色。

    2. 如要新增更多角色,請按一下 「Add another role」(新增其他角色)

    3. 如要從這個標籤中刪除主體的角色,請按一下要刪除角色旁的 「刪除角色」

    4. 按一下 [儲存]

  7. 如要刪除主體的角色,請按一下要刪除角色旁的 「刪除角色」

    1. 按一下「移除」

將標記附加至資源

建立標記並授予標記和資源的適當存取權後,即可將標記以鍵/值組合的形式附加至 Google Cloud 資源。針對特定鍵,資源只能附加一個值。舉例來說,如果附加 environment: development,就無法附加 environment: productionenvironment: test。每項資源最多可附加 50 組鍵/值組合。

如要將標記附加至資源,請建立標記繫結資源,將值連結至 Google Cloud 資源。以下工作流程說明如何將標記附加至機構、資料夾或專案資源。如要瞭解如何將標記附加至其他類型的資源,請參閱「支援標記的服務」中該資源的說明文件。

控制台

如要將標記附加至機構、資料夾或專案資源,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Manage resources」(管理資源) 頁面。

    開啟「管理資源」頁面

  2. 按一下要附加標記的機構、資料夾或專案。

  3. 按一下「代碼」

  4. 在「標記」面板中,按一下「選取範圍」

  5. 選取包含標記的機構或專案,然後按一下「開啟」

  6. 在「標記」面板中,選取「新增標記」

  7. 在「鍵」欄位中,從清單選取要附加的代碼鍵。輸入關鍵字即可篩選清單。

  8. 在「值」欄位中,從清單選取要附加的標記值。輸入關鍵字即可篩選清單。

  9. 如要附加更多標記,請按一下「新增標記」,然後選取每個標記的鍵和值。

  10. 按一下 [儲存]

  11. 在「確認」對話方塊中,按一下「確認」即可附加代碼。

  12. 系統會發送通知,確認代碼已更新。新標記會顯示在「管理資源」頁面的「標記」欄下方。

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/456789012312345678/environment/production。如果是含有動態值的標記,請只提供命名空間名稱,因為動態標記值沒有 ID。

  • RESOURCE_ID 是資源的完整 ID,包括用於識別資源類型的 API 網域名稱 (//cloudresourcemanager.googleapis.com/)。舉例來說,如要將標記附加至 projects/7890123456,完整 ID 會是 //cloudresourcemanager.googleapis.com/projects/7890123456

  • LOCATION 是資源的位置。如果將標記附加至全域資源 (例如資料夾或專案),則應省略這個旗標。如要將標記附加至區域資源 (例如 Compute Engine 執行個體),請務必指定位置,例如:us-central1

API

如要將標記附加至資源,請先建立標記繫結的 JSON 表示法,其中包含標記值的永久 ID 或命名空間名稱,以及資源的永久 ID。如要進一步瞭解標記繫結的格式,請參閱「TagBinding 參考資料」。

如要將標記附加至機構等全域資源,請使用 tagBindings.create 方法和全域端點主機名稱:

POST https://cloudresourcemanager.googleapis.com/v3/tagBindings

如要將標記附加至地區性資源 (例如 Compute Engine 執行個體),請使用 tagBindings.create 方法,並搭配資源所在的地區端點。

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

JSON 要求主體:

{
    "parent": RESOURCE_ID,
    "tagValue": TAGVALUE_NAME,
}

{
    "parent": RESOURCE_ID,
    "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME,
}

其中:

  • RESOURCE_ID 是資源的完整 ID,包括用於識別資源類型的 API 網域名稱 (//cloudresourcemanager.googleapis.com/)。舉例來說,如要將標記附加至 projects/7890123456,完整 ID 會是 //cloudresourcemanager.googleapis.com/projects/7890123456

  • TAGVALUE_NAME 是附加標記值的永久 ID,例如:tagValues/4567890123

  • TAGVALUE_NAMESPACED_NAME 是附加的標記值命名空間名稱,格式為:parentNamespace/tagKeyShortName/tagValueShortName。含有動態值的標記只能使用命名空間名稱附加,因為動態標記值沒有 ID。

列出附加至資源的所有標記

您可以取得附加至資源的所有標記清單,包括沿用或直接附加的標記。

控制台

如要查看附加至資源或由資源繼承的所有標記,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Manage resources」(管理資源) 頁面。

    開啟「管理資源」頁面

  2. 在資源清單中找出您的機構、資料夾或專案。

  3. 資源附加的標記會顯示在「標記」欄下方。沿用的標籤會標示為「已沿用」

gcloud

如要取得直接附加至資源的標記繫結清單,請使用 gcloud resource-manager tags bindings list 指令。如果您新增 --effective 旗標,系統也會傳回這個資源繼承的標記清單。

gcloud resource-manager tags bindings list \
    --parent=RESOURCE_ID \
    --location=LOCATION

其中:

  • RESOURCE_ID 是資源的完整 ID,例如://cloudresourcemanager.googleapis.com/projects/7890123456

  • LOCATION 是資源的位置。如要列出附加至全域資源 (例如資料夾或專案) 的標記,請省略這個旗標。如要將標記附加至區域資源 (例如 Compute Engine 執行個體),您必須指定位置,例如:us-central1

您應該會收到類似以下的回覆:

預先定義的代碼:

tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2FPROJECT_NUMBER%2Flocations%2FLOCATION%2Fresources%2FRESOURCE_ID/tagValues/TAG_VALUE_ID
parent: //cloudresourcemanager.googleapis.com/projects/123456789012/locations/us-central1/example-resource/res-01
tagValue: tagValues/987654321098
tagValueNamespacedName: 961309089256/environment/production

含有動態值的代碼:

tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2FPROJECT_NUMBER%2Flocations%2FLOCATION%2Fresources%2FRESOURCE_ID/tagKeys/TAG_KEY_ID
parent: //cloudresourcemanager.googleapis.com/projects/123456789012/locations/us-central1/example-resource/res-01
tagValueNamespacedName: your-org-id/environment/staging

如果是含有動態值的標記,回應中不會出現 tagValue 欄位,只會填入 tagValueNamespacedName

如果您在 tags bindings list 指令中加入 --effective 標記,系統也會傳回這個資源繼承的所有標記清單。您應該會收到類似以下的回覆:

預先定義的代碼:

inherited: true
namespacedTagKey: 433637338589/environment
namespacedTagValue: 433637338589/environment/production
tagKey: tagKeys/162008917964
tagKeyParentName: organizations/433637338589
tagValue: tagValues/281482214193975

含有動態值的代碼:

inherited: true
namespacedTagKey: my-sample-org/dynamic-key
namespacedTagValue: my-sample-org/dynamic-key/staging
tagKey: tagKeys/281476834141096
tagKeyParentName: projects/357710452272

如果資源上評估的所有標記都是直接附加,則 inherited 欄位為 false,且會省略。

API

如要取得直接附加至全域資源 (例如機構) 的標記繫結清單,請使用 tagBindings.list 方法,並在查詢中指定父項資源:

GET https://cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "RESOURCE_ID"
}

如要列出附加至地區資源 (例如 Compute Engine 執行個體) 的標記繫結,請使用 tagBindings.list 方法,並搭配資源所在的地區端點。

GET https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "RESOURCE_ID"
}

其中:

  • RESOURCE_ID 是資源的完整 ID,例如://cloudresourcemanager.googleapis.com/projects/7890123456

  • LOCATION 是資源的區域端點,例如:us-central1

如果成功,回應主體應包含 TagBinding 物件清單。例如:

name: tagBindings/cloudresourcemanager.googleapis.com/projects/7890123456/567890123456
tagValue: tagValues/567890123456
tagValueNamespacedName: example-org/cost-center/1000
resource: //cloudresourcemanager.googleapis.com/projects/7890123456

如果是含有動態值的標記,回應中不會出現 tagValue 欄位,只會填入 tagValueNamespacedName

從資源中卸離標記

如要從資源卸離標籤,請刪除標籤繫結資源。

控制台

如要從機構、資料夾或專案資源中分離標記,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Manage resources」(管理資源) 頁面。

    開啟「管理資源」頁面

  2. 按一下要取消附加標記的機構、資料夾或專案。

  3. 按一下「代碼」

  4. 在「標籤」面板中,找出要取消連結的標籤,然後按一下旁邊的「刪除項目」圖示

  5. 按一下 [儲存]

  6. 在「確認」對話方塊中,按一下「確認」即可卸除標籤。

  7. 系統會發送通知,確認代碼已更新。更新後的標記清單會顯示在「管理資源」頁面的「標記」欄下方。

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。如果是含有動態值的標記,請只提供命名空間名稱,因為動態標記值沒有 ID。

  • RESOURCE_ID 是資源的完整 ID。例如://cloudresourcemanager.googleapis.com/projects/7890123456

  • LOCATION 是資源的位置。如要刪除附加至全域資源 (例如資料夾或專案) 的標記繫結,請省略這個標記。如果您要刪除附加至區域資源 (例如 Compute Engine 執行個體) 的標籤繫結,則必須指定位置,例如:us-central1

API

如要刪除附加至全域資源 (例如機構) 的標記繫結,請使用 tagBindings.delete 方法:

DELETE https://cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

如要刪除附加至地區資源 (例如 Compute Engine 執行個體) 的標記繫結,請使用 tagBindings.delete 方法,並搭配資源所在的地區端點。

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

其中:

  • TAGBINDINGS_NAME 是 TagBinding 的永久 ID。預先定義的標記格式為 tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456。如果是含有動態值的代碼,格式為 tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagKeys/12345678

  • LOCATION 是資源的區域端點,例如:us-central1

對資源強制執行必要標記

如要強制在資源上使用標記,請建立自訂機構政策,並在機構、資料夾或專案資源上設定政策,強制執行自訂限制。

如要進一步瞭解如何強制執行標記,請參閱「使用組織政策強制執行必要標記」。

設定自訂限制來強制執行標記

控制台

  1. 前往 Google Cloud 控制台的「Organization policies」(組織政策) 頁面。

    前往「Organization policies」(組織政策)

  2. 選取頁面頂端的專案挑選器。

  3. 在專案選擇工具中,選取要強制執行自訂限制的機構。

  4. 設定自訂限制,並使用下列參數:

    • 強制執行方式Govern tags
    • 資源類型:要強制執行必要標記的 Google CloudREST 資源完整名稱,例如 file.googleapis.com/Instance
    • 條件:一般運算語言 (CEL) 條件,用於指定要在資源上強制執行的標記鍵,例如 resource.hasDirectTagKey("1234567890/owner"),用於強制執行標記鍵 1234567890/owner 的標記繫結。resource.hasDirectTagKey CEL 函式只會比對直接套用至資源的標記,不會考量從資源階層中上層資源繼承的標記。
    • 動作AllowDeny
      • 允許:如果符合指定條件,系統會允許建立或更新資源的動作。
      • 拒絕:如果符合指定條件,系統會封鎖建立或更新資源的動作。
  5. 按一下「建立限制」

gcloud

為自訂限制建立 YAML 檔案:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- GOVERN_TAGS
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION

更改下列內容:

  • ORGANIZATION_ID:組織 ID,例如 1234567890

  • CONSTRAINT_NAME:新自訂限制的名稱。自訂限制必須以 custom. 開頭,且只能包含大/小寫英文字母或數字,例如 custom.enforceMandatoryTags

  • RESOURCE_NAME:要強制執行必要標記的Google Cloud REST 資源完整名稱,例如 file.googleapis.com/Instance

  • CONDITION:一般運算語言 (CEL) 條件,用於指定要在資源上強制執行的標記鍵,例如 resource.hasDirectTagKey("1234567890/owner") 可強制執行標記鍵 1234567890/owner 的標記繫結。

  • ACTION:符合 condition 時採取動作。可以是 ALLOWDENY

    如果符合指定條件,系統就會封鎖建立或更新資源的操作。

    「允許」動作是指如果符合指定條件,系統就會允許建立或更新資源的作業。這也表示系統會封鎖條件中明確列出的案例以外的所有其他案例。

  • DISPLAY_NAME:容易記得的限制名稱。這個欄位的長度上限為 200 個字元。

  • DESCRIPTION:違反政策時,會以錯誤訊息形式顯示且易於理解的限制說明。這個欄位的長度上限為 2,000 個字元。

設定自訂限制,以便用於貴機構的組織政策。

定義自訂限制後,您可以測試及分析組織政策變更,並強制執行限制

使用標記保留功能保護標記值

標記保留是您建立的資源,可防止標記值遭到刪除。如果標記值有標記保留,使用者必須先刪除標記保留,才能刪除標記值。

標記保留無法套用至動態標記值。

建立標記保留項目

您可以使用 gcloud CLI 或 API 手動建立標記保留。

gcloud

如要建立標記保留,請使用 gcloud resource-manager tags holds create gcloud CLI 指令:

  gcloud resource-manager tags holds create TAGVALUE_NAME \
  --holder=HOLDER_NAME \
  --location=LOCATION

其中:

  • TAGVALUE_NAME 是要建立標記保留項目的標記值永久 ID 或命名空間名稱,例如:tagValues/567890123456

  • HOLDER_NAME 是要附加標記值的資源名稱。不得超過 200 個字元。

  • LOCATION 是資源的位置。如果您要為全域資源 (例如Google Cloud 專案) 建立標記保留,則應省略這個標記。如要為區域或地區資源建立標記保留項目,請務必指定位置,例如:us-central1

API

如要為標記值建立標記保留,您必須先建立標記保留的 JSON 表示法。這個 JSON 參照必須包含代碼值所附加資源的參照。如要進一步瞭解標記保留的格式,請參閱TagHolds 參考資料

如要為附加至機構等全域資源的標籤值建立標籤保留項目,請使用 tagHolds.create 方法和全域端點主機名稱:

POST https://cloudresourcemanager.googleapis.com/v3/tagValues/TAGVALUE_NAME/tagHolds

如要為附加至地區性資源 (例如 Compute Engine 執行個體) 的標籤值建立標籤保留項目,請使用 tagHolds.create 方法,並搭配資源所在的地區端點。

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/TAGVALUE_NAME/tagHolds

JSON 要求主體:

{
    "holder":HOLDER_NAME,
    "origin":ORIGIN_NAME
}

其中:

  • TAGVALUE_NAME 是附加標記值的永久 ID,例如:tagValues/4567890123

  • HOLDER_NAME 是要附加標記值的資源名稱。不得超過 200 個字元。

  • ORIGIN_NAME 是選用字串,代表這項要求的來源。這個欄位應包含人類可理解的資訊,用來區分不同來源。不得超過 200 個字元。

列出標記保留項目

您可以使用 gcloud CLI 或 API,列出特定標記值下的所有標記保留項目。

gcloud

如要列出標記值下的標記保留項目,請使用 gcloud resource-manager tags holds list gcloud CLI 指令:

  gcloud resource-manager tags holds list TAGVALUE_NAME \
  --location=LOCATION

其中:

  • TAGVALUE_NAME 是標記值的永久 ID 或命名空間名稱,例如:tagValues/567890123456

  • LOCATION 是資源的位置。如要尋找全域建立的標記保留項目,請省略這個旗標。如要尋找區域或區域資源下的標記保留項目,請務必指定位置,例如:us-central1

API

如要取得特定標記值下的標記保留清單,請使用 tagHolds GET 方法,並在網址中指定父項標記值:

GET https://cloudresourcemanager.googleapis.com/v3/{TAGVALUE_NAME}/tagHolds

其中:

  • TAGVALUE_NAME 是標記值的永久 ID 或命名空間名稱,例如:tagValues/567890123456

移除標記保留項目

您可以使用 gcloud CLI 或 API,移除特定標記值建立的標記保留。

部分資源會將標記保留附加至該資源的標記值。 如果將標記附加至這類資源,資源會建立標記保留,防止使用者刪除附加的標記值。

您可以使用 gcloud CLI 或 API 刪除標記保留。

gcloud

如要刪除標記保留項目,請使用 gcloud resource-manager tags holds delete gcloud CLI 指令:

  gcloud resource-manager tags holds delete TAGHOLD_NAME \
  --location=LOCATION

其中:

  • TAGHOLD_NAME 是標記保留的命名空間名稱,可使用 list 指令找到。例如: tagValues/1012910994523/tagHolds/d1c8f5e2-2954-43d6-8f46-5f812ab48c37

  • LOCATION 是資源的位置。如要刪除附加至全域資源 (例如資料夾或專案) 的標記值底下的標記保留項目,請省略這個標記。如要刪除透過區域或地帶程序建立的標記保留項目,必須指定位置,例如:us-central1

API

如要刪除標記值,請使用 tagHolds.delete 方法:

DELETE https://cloudresourcemanager.googleapis.com/v3/{TAGVALUE_NAME}/tagHolds/{TAGHOLD_NAME}

其中:

  • TAGVALUE_NAME 是要刪除暫緩標記的標記值的永久 ID,例如:tagValues/567890123456

  • TAGHOLD_NAME 是要刪除的標記保留項的命名空間名稱,可使用 list 指令尋找。例如: tagValues/1012910994523/tagHolds/d1c8f5e2-2954-43d6-8f46-5f812ab48c37

刪除標記

如要刪除標記,必須刪除每個定義元件。首先,您必須刪除將這個標記附加至階層中資源的所有標記繫結。如需刪除標記繫結的操作說明,請參閱「從資源卸離標記」。

如果標記由其他資源使用,或是使用者手動建立標記保留項目,您可能需要移除標記保留項目並刪除標記繫結,才能刪除標記值。如要瞭解如何移除代碼保留,請參閱「移除代碼保留」。

刪除標記值後,如果沒有任何標記繫結,您就可以刪除這些值。

控制台

如要刪除標記值,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍選擇工具中,選取包含標記值的機構或專案。

  3. 找出含有要刪除標記值的標記鍵,然後按一下旁邊的 「Actions」(動作),再點選「View details」(查看詳細資料)

  4. 在與這個標記鍵相關聯的標記值清單中,按一下要刪除的標記值。

  5. 找出要刪除的標記值並勾選旁邊的核取方塊,然後按一下 「刪除值」

  6. 按一下「確認」。

gcloud

如要刪除標記值,請使用 gcloud resource-manager tag values delete 指令:

gcloud resource-manager tags values delete TAGVALUE_NAME

TAGVALUE_NAME 是要刪除的標記值永久 ID 或命名空間名稱,例如:tagValues/567890123456

API

如要刪除標籤值,請使用 tagValues.delete 方法:

DELETE https://cloudresourcemanager.googleapis.com/v3/{name=TAGVALUE_NAME}

TAGVALUE_NAME 是您要刪除的標記值的永久 ID,例如:tagValues/567890123456

刪除與索引鍵相關聯的所有標記值後,即可刪除索引鍵。如要刪除含有動態值的標記,必須先刪除所有相關聯的繫結,才能刪除標記鍵。

控制台

如要刪除標記鍵,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中開啟「Tags」(標記) 頁面。

    開啟「標記」頁面

  2. 在頁面頂端的範圍選擇工具中,選取含有標記鍵的機構或專案。

  3. 勾選要刪除的標記鍵旁的核取方塊。

  4. 按一下 「刪除代碼」

  5. 按一下「確認」。

gcloud

如要刪除標記鍵,請使用 gcloud resource-manager tags keys delete 指令:

gcloud resource-manager tags keys delete TAGKEYS_NAME

TAGKEYS_NAME 是您要刪除的標記鍵永久 ID 或命名空間名稱,例如:tagKeys/123456789012

API

如要刪除標記鍵,請使用 tagKeys.delete 方法:

DELETE https://cloudresourcemanager.googleapis.com/v3/{name=TAGKEYS_NAME}

TAGKEYS_NAME 是要刪除的標記鍵永久 ID,例如:tagKeys/123456789012

政策和標記

您可以在支援標記的政策中使用標記,有條件地強制執行這些政策。您可以將標記值是否存在設為該政策的條件。

舉例來說,您可以根據資源是否具備特定標記,有條件地授予 Identity and Access Management (IAM) 角色

身分與存取權管理條件和標記

您可以使用標記和 Identity and Access Management 條件,根據條件授予階層中的使用者角色。在這個程序完成前,使用者無法存取資源,直到附加與條件式政策相關聯的標記為止。舉例來說,您可能想要求開發人員先為資源指派成本中心,才能使用資源。

  1. 建立標記,用於將資源與某個項目建立關聯,以判斷資源是否已套用適當的控管措施。舉例來說,您可以建立索引鍵為 costCenter 的標記,並將值設為 00010002 等等,將資源與貴公司的各個成本中心建立關聯。

  2. 建立機構層級的自訂角色,允許使用者在需要標記的資源上新增標記。這會將這些權限授予機構中任何位置的指定主體。

    舉例來說,如果自訂角色允許使用者在專案中新增標記,則應包含下列權限:

    • resourcemanager.projects.get
    • resourcemanager.hierarchyNodes.create
    • resourcemanager.hierarchyNodes.delete
    • resourcemanager.hierarchyNodes.list
  3. 為開發人員建立專案時,請在專案中指派這個自訂角色。

  4. 為開發人員指派任何其他角色,讓他們在該專案中執行任何所需動作。在專案中授予使用者角色時,應一律有條件地授予角色,要求附加 costCenter 標記。

    resource.hasTagKey('123456789012/costCenter')
    

現在,每當建立專案時,開發人員都必須先附加 costCenter 標記,才能在專案中執行允許政策授予的動作。

機構政策和標記

您可以使用標記並依條件強制執行機構政策,集中控管階層中的資源。詳情請參閱「使用標記設定組織政策」。

系統標記

系統標記是 Google 管理的標記, Google Cloud 服務可以繫結至資源 。您可以查看及使用這些系統標記,就像資源上的任何其他標記繫結一樣,但無法編輯或從資源中移除。系統標記鍵的簡稱會以前置字串「system:」開頭,並在以「google」前置字串開頭的標記命名空間中管理。

標記鍵 (命名空間名稱) 標記值 說明
google/system:sdp-data-sensitivity HIGH, MODERATE, LOW, UNKNOWN 您可以設定 Sensitive Data Protection 服務,自動將標記附加至剖析的資源,指出資源中發現的資料機密程度。詳情請參閱「在探索設定中啟用自動標記」。

支援的服務

如需支援標記的服務清單,請參閱「支援標記的服務」。