Google Cloud 資源階層結構可將資源整理成樹狀結構。這個階層架構可協助您大規模管理資源,但只能模擬少數業務維度,包括機構架構、區域、工作負載類型和成本中心。階層結構缺乏彈性,無法將多個業務維度分層組合。
標記可為資源建立註解,在某些情況下,您還能將資源是否具備特定標記設為條件,並按照這項條件允許或拒絕政策。只要使用標記並依據條件強制執行政策,即可精細控管資源階層結構。
標記和標籤
標籤是為資源建立註解的另一種方式。 下表列出標記和標籤的一些差異:
標記 | 標籤 | |
---|---|---|
資源結構 | 標記鍵、標記值和標記繫結都是個別資源 | 本身不是資源,而是資源的中繼資料 |
定義 | 在機構或專案層級定義 | 由各個資源定義 |
存取控管 | 管理及附加標記需要 Identity and Access Management (IAM) 角色 | 附加標籤需要 IAM 角色,這會因服務資源而異 |
附件的必要條件 | 必須先定義標記鍵和標記值,才能將標記附加至資源 | 附件沒有先決條件 |
是否沿用設定 | 資源的子項會繼承 Google Cloud 階層中的標記繫結 | 資源的子項不會繼承這項設定 |
刪除規定 | 如要刪除代碼,必須先移除該代碼的所有代碼繫結 | 隨時可從資源中移除 |
命名規定 | 代碼值和代碼鍵的規定 | 標籤規定 |
鍵/值名稱長度 | 最多可輸入 256 個半形字元 | 最多 63 個半形字元 |
支援允許和拒絕政策 | 標記可供允許政策條件和拒絕政策條件參照 | 不支援允許和拒絕政策 |
機構政策支援 | 機構政策條件限制可參照部分資源的標記 | 不支援機構政策 |
Cloud Billing 整合 | 執行退款、稽核和其他費用分配分析,將 Cloud Billing 費用資料匯出至 BigQuery | 在 Cloud Billing 中依標籤篩選資源,將 Cloud Billing 資料匯出至 BigQuery |
如要進一步瞭解標籤,請參閱「建立及管理標籤」。
建立標記
標記的結構為鍵/值組合。標記鍵資源可在機構或專案資源下建立,標記值則是附加至鍵的資源,例如標記鍵 environment
具有值 production
和 development
。
標記管理
管理員可以限制哪些使用者可建立、更新、刪除及將標記附加至資源,藉此控管標記的使用情形。他們可以選取個別標記進行編輯,例如新增或移除值,以及更新說明。方便您精細控管代碼。
代碼可選擇性提供說明,在擷取代碼相關資訊時顯示。說明可協助將標記附加至資源的使用者瞭解標記的用途。
在父項專案或機構中,每個標記鍵都不得重複。這可確保每個標籤值繫結至資源時,都會與標籤鍵建立不重複的配對。
政策與標記
您可以同時使用標記和 IAM 條件,達到下列目的:
建立標記值後,即可將標記值繫結至資源。接著,您可以建立含有條件的 IAM 政策,根據標記鍵是否已繫結至資源來識別資源。如要瞭解如何使用標記和 IAM 條件,請參閱「標記和條件式存取權」。
使用機構政策強制執行必要標記
您可以使用機構政策,在資源上強制執行標記。 強制執行必要標記後,您只能建立符合機構標記政策的資源,也就是資源會繫結至政策中指定必要標記鍵的標記值。詳情請參閱「設定自訂限制來強制執行標記」。
下列資源類型支援強制執行標記:
- Resource Manager 專案和資料夾
- Filestore 執行個體
- AlloyDB for PostgreSQL 叢集和備份資源
- 工作流程
標記繼承
將標記值附加至資源後,資源的所有子系預設都會繼承相同的標記值。您可以在子項資源上覆寫繼承的標記值。如要覆寫沿用的標記值,請將不同的標記值繫結至子代資源。不同標記值必須使用與沿用標記值相同的標記鍵。
舉例來說,假設您將 environment: development
標記套用至資料夾,而該資料夾有兩個名為 team-a
和 team-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: on
或 enforcement: off
設定條件,以及在資源為 enforcement: default
時設定安全案例。如果從資源中移除 enforcement
標記鍵,資源就能從父項資源繼承 enforcement
的標記值。如果沒有父項資源具有 enforcement
標記鍵,資源就會從機構資源繼承 enforcement: default
。
使用安全預設標記有助於避免這種情況,但為防止發生非預期行為,建議您先檢查現有的標記和條件政策,再移動資源或移除標記。
刪除標籤鍵和值
如要刪除標記值,必須先刪除使用該標記值的所有資源繫結。
防止刪除標記值
您可以將代碼保留附加至代碼值,為代碼值建立額外的保護層。標記保留與標記繫結類似,可防止使用者刪除標記值。
部分資源會自動為附加至資源的每個標記值建立標記保留。必須先移除這項標記保留,才能刪除標記值。
後續步驟
- 如要進一步瞭解如何使用標記,請參閱「建立及管理標記」頁面。
- 如要瞭解如何搭配使用標記與 Compute Engine,請參閱「管理資源的標記」。
- 如要瞭解如何為防火牆政策使用安全標記,請參閱「建立及管理安全標記」。