標記總覽

Google Cloud 資源階層結構可將資源整理成樹狀結構。這個階層架構可協助您大規模管理資源,但只能模擬少數業務維度,包括機構架構、區域、工作負載類型和成本中心。階層結構缺乏彈性,無法將多個業務維度分層組合。

標記可用於建立資源的註解,在某些情況下,還可將資源是否具備特定標記設為條件,並按照這項條件允許或拒絕政策。只要使用標記並依據條件強制執行政策,即可精細控管資源階層結構。

標記和標籤

標籤是建立資源註解的另一種方式。 下表列出標記和標籤的一些差異:

標記 標籤
資源結構 標記鍵、標記值和標記繫結都是個別資源 本身不是資源,而是資源的中繼資料
定義 在機構或專案層級定義 由各個資源定義
存取控管 管理及附加標記需要 Identity and Access Management (IAM) 角色 附加標籤需要 IAM 角色,這會因服務資源而異
附件的必要條件 必須先定義標記鍵和標記值,才能將標記附加至資源 附件沒有先決條件
是否沿用設定 資源的子項會繼承 Google Cloud 階層中的標記繫結 資源的子項不會繼承這項設定
刪除規定 如要刪除標記,必須先移除該標記的所有繫結 隨時可從資源中移除
命名規定 代碼值代碼鍵的規定 標籤規定
鍵/值名稱長度 最多可輸入 256 個半形字元 最多 63 個半形字元
支援允許和拒絕政策 標記可供允許政策條件拒絕政策條件參照 不支援允許和拒絕政策
組織政策支援 機構政策條件限制可參照部分資源的標記 不支援機構政策
Cloud Billing 整合 執行退款、稽核和其他費用分配分析,將 Cloud Billing 費用資料匯出至 BigQuery 在 Cloud Billing 中依標籤篩選資源,將 Cloud Billing 資料匯出至 BigQuery

如要進一步瞭解標籤,請參閱「建立及管理標籤」。

建立標記

標記的結構為鍵/值組合。您可以在機構或專案資源下建立標記鍵資源,而標記值是附加至鍵的資源,例如標記鍵 environment 具有 productiondevelopment 值。

標記管理

管理員可以限制哪些使用者可建立、更新、刪除及將標記附加至資源,藉此控管標記的使用情形。他們可以選取個別標記進行編輯,例如新增或移除值,以及更新說明。這樣一來,您就能精細控管代碼。

代碼可選擇性提供說明,在擷取代碼相關資訊時顯示。說明可協助將標記附加至資源的使用者瞭解標記的用途。

在父項專案或機構中,每個標記鍵都不得重複。這可確保每個標記值繫結至資源時,都會與標記鍵建立不重複的配對。

政策和標記

您可以同時使用標記和 IAM 條件,達到下列目的:

建立標記值後,即可將標記值繫結至資源。接著,您可以建立含有條件的 IAM 政策,根據標記鍵是否已繫結至資源來識別資源。如要瞭解如何使用標記和 IAM 條件,請參閱「標記和條件式存取權」。

使用組織政策強制執行必要標記

您可以使用自訂機構政策,強制在資源上使用標記。強制執行必要標記後,您只能建立符合機構標記政策的資源,也就是資源會繫結至政策中指定必要標記鍵的標記值。詳情請參閱「設定自訂限制來強制執行標記」。

下列資源類型支援強制執行標記:

  • Resource Manager 專案和資料夾
  • Filestore 執行個體
  • AlloyDB for PostgreSQL 叢集和備份資源
  • 工作流程
  • Compute Engine 資源:
    • 執行個體
    • 磁碟
  • 虛擬私有雲資源:
    • 網路
    • 子網路
    • 防火牆規則
    • 路徑

標記繼承

將標記值附加至資源後,資源的所有子系預設都會繼承相同的標記值。您可以在後代資源中覆寫繼承的標記值。如要覆寫沿用的標記值,請將不同的標記值繫結至子項資源。不同標記值必須使用與沿用標記值相同的標記鍵。

舉例來說,假設您將 environment: development 標記套用至資料夾,而該資料夾有兩個名為 team-ateam-b 的子資料夾。您也可以將其他標記 environment: test 套用至 team-b 資料夾。因此,team-a 資料夾中的專案和其他資源會繼承 environment: development 標記,而 team-b 資料夾中的專案和其他資源則會繼承 environment: test 標記:

如果從 team-b 資料夾中移除 environment: test 標記,該資料夾及其資源就會沿用 environment: development 標記。

附加至資源並由資源繼承的所有標記,統稱為「有效標記」。資源的有效標記是直接附加至資源的標記,以及附加至整個階層中所有資源上層的標記。

使用含有 IAM 條件的標記時,建議您為 IAM 條件使用的每個標記鍵建立安全預設標記值。將安全預設標記值繫結至貴機構,讓機構內的所有資源都可沿用該標記值,藉此套用安全預設標記值。如要變更標記值,請明確覆寫相關資源的繼承繫結。

舉例來說,假設您有 IAM 條件,該條件取決於 enforcement 標記鍵的 on 標記值,而該標記鍵也有 off 標記值。將標記值 enforcement: off 繫結至機構,建立安全預設值,機構內的所有資源都會繼承這個值。只將標記值 enforcement: on 繫結至組織內選取的資源。

然後,您可以編寫政策來處理 enforcement 標記鍵,並設定條件,讓資源在 enforcement: onenforcement: off 時受到影響,在 enforcement: default 時則不受影響。如果從資源中移除 enforcement 標記鍵,資源就能從父項資源繼承 enforcement 的標記值。如果沒有父項資源具有 enforcement 標記鍵,資源就會從機構資源繼承 enforcement: default

使用安全預設代碼有助於避免這種情況,但為防止發生非預期行為,建議您先檢查現有的代碼和條件式政策,再移動資源或移除代碼。

刪除標記鍵和值

如要刪除標記值,請先刪除使用該標記值的所有資源繫結。

防止刪除標記值

您可以為標記值附加標記保留,為標記值建立額外的保護層。標記保留 (與標記繫結類似) 可防止使用者刪除標記值。

部分資源會自動為附加至資源的每個標記值建立標記保留。必須先移除這項標記保留,才能刪除標記值。

後續步驟