本文為您介紹標籤策略繼承和有效原則計算的方法,包括基本概念、工作原理和樣本。
基本概念
概念 | 說明 |
策略繼承 | 標籤策略是按照資來源目錄的層級從上到下進行繼承的。當策略綁定到資來源目錄的資源夾,該資源夾下的子資源夾和成員都會繼承該策略。 |
父策略 | 在資來源目錄的樹形組織圖上,綁定層級較高的策略相對於綁定層級較低的策略,稱為父策略。 |
子策略 | 在資來源目錄的樹形組織圖上,綁定層級較低的策略相對於綁定層級較高的策略,稱為子策略。 |
有效原則 | 成員直接綁定的策略和繼承的父策略會經過彙總,計算出一個最終策略,該最終策略就是成員上要執行的有效原則。 |
繼承操作符 | 繼承操作符用於控制繼承的標籤策略和當前綁定的標籤策略如何進行彙總,進而計算出最終的有效原則。更多資訊,請參見繼承操作符。 |
工作原理
當前帳號標籤策略
如果為當前登入的阿里雲帳號綁定了多個標籤策略,則會根據策略內容的標籤鍵進行合并。如果存在衝突的標籤鍵策略配置,則根據策略的綁定時間進行判斷,綁定時間早的策略為有效原則。
資來源目錄標籤策略
資來源目錄的管理帳號可以將標籤策略綁定到資來源目錄的不同層級(Root資源夾、資源夾或成員)。具體如下:
當策略綁定到Root資源夾時,所有的資源夾和成員都繼承這個策略。
當策略綁定到指定資源夾時,該資源夾下的所有成員和子資源夾都繼承這個策略。
當策略綁定到指定成員時,該策略僅在該成員上生效。
樣本
如下以一個企業要求資源必須綁定環境標籤env
和專案標籤Project
為例,為您介紹策略繼承和有效原則的含義。
為資來源目錄的Root資源夾配置名為PolicyA的標籤策略。
PolicyA策略內容如下:
{ "tags": { "env": { "tag_key": { "@@assign": "env" }, "tag_value": { "@@assign": [ "Production", "Test" ] } }, "Project": { "tag_key": { "@@assign": "Project" } } } }
PolicyA中定義了
env
和Project
標籤鍵的規範,並綁定在資來源目錄Root資源夾上。將產生如下效果:資來源目錄的所有成員都必須遵守PolicyA,即資源必須擁有
env
和Project
才被認為是合規的,而且env
的標籤值取值範圍為Production
和Test
。為Root資源夾下的指定成員配置名為PolicyB的標籤策略。
PolicyB策略內容如下:
{ "tags": { "env": { "tag_value": { "@@append": [ "Development" ] } }, "Project": { "tag_value": { "@@assign": [ "A", "B" ] } } } }
PolicyB定義了
env
標籤鍵要追加的標籤值範圍為Development
,Project
標籤鍵對應的標籤值範圍為A
和B
。計算指定成員的有效原則。
PolicyB綁定在指定成員上,則該成員上最終執行的有效原則為PolicyA和PolicyB的合并,即該成員綁定
env
和Project
取值範圍內的標籤值都是合規的。標籤值的取值範圍如下:標籤鍵
標籤值
env
Production
Test
Development
Project
A
B
有效原則內容如下:
{ "tags": { "env": { "tag_value": [ "Production", "Test", "Development" ] , "tag_key": "env" }, "Project": { "tag_value": [ "A", "B" ], "tag_key": "Project" } } }