Kurz: Správa řízení značek pomocí Azure Policy

Značky jsou důležitou součástí uspořádání prostředků Azure do taxonomie. Při dodržování osvědčených postupů pro správu značekmůže být značkami základem pro použití obchodních zásad s Azure Policy nebo sledováním nákladů pomocí cost management. Bez ohledu na to, jak nebo proč používáte značky, je důležité, abyste tyto značky mohli rychle přidávat, měnit a odebírat ve svých prostředcích Azure. Pokud chcete zjistit, jestli váš prostředek Azure podporuje označování, přečtěte si téma Podpora značek.

Efekt změny Azure Policy je navržený tak, aby se v rámci zásad správného řízení značek bez ohledu na to, ve které fázi zásad správného řízení prostředků nejednalo. Upravit pomáhá v těchto případech:

  • Nejste v cloudu a nemusíte mít žádné zásady správného řízení značek.
  • Už máte tisíce prostředků bez zásad správného řízení značek.
  • Už máte existující taxonomii, kterou potřebujete změnit.

V tomto kurzu provedete následující úlohy:

  • Určení podnikových požadavků
  • Namapujte každý požadavek na definici zásady.
  • Seskupení zásad značek k iniciativě

Požadavky

K dokončení tohoto kurzu potřebujete předplatné Azure. Pokud ho nemáte, než začnete, vytvořte si bezplatný účet.

Identifikace požadavků

Stejně jako jakákoli dobrá implementace řízení zásad správného řízení by měly požadavky přijít z vašich obchodních potřeb a být dobře pochopitelné před vytvořením technických ovládacích prvků. V tomto scénáři se jedná o naše obchodní požadavky na následující položky:

  • Dvě požadované značky pro všechny prostředky: CostCenter a ENV
  • CostCenter musí existovat na všech kontejnerech a jednotlivých prostředcích.
    • Prostředky dědí z kontejneru, ve kterém jsou, ale můžou být individuálně přepsané.
  • Obálka musí existovat na všech kontejnerech a jednotlivých prostředcích.
    • Prostředky určují prostředí podle schématu pojmenování kontejnerů a nedají se přepsat.
    • Všechny prostředky v kontejneru jsou součástí stejného prostředí.

Konfigurace značky CostCenter

V závislosti na prostředí Azure spravovaném pomocí Azure Policy požadavky na značku CostCenter volají následující výsledky:

  • Odepření skupin prostředků chybí značka CostCenter .
  • Upravit prostředky pro přidání značky CostCenter z nadřazené skupiny prostředků, když chybí

Odepření skupin prostředků chybí značka CostCenter.

Vzhledem k tomu, že CostCenter pro skupinu prostředků nejde určit podle názvu skupiny prostředků, musí mít pro vytvoření skupiny prostředků značku definovanou v žádosti. Následující pravidlo zásad s efektem odepření zabraňuje vytvoření nebo aktualizaci skupin prostředků, které nemají značku CostCenter :

"if": {
    "allOf": [{
            "field": "type",
            "equals": "Microsoft.Resources/subscriptions/resourceGroups"
        },
        {
            "field": "tags['CostCenter']",
            "exists": false
        }
    ]
},
"then": {
    "effect": "deny"
}

Poznámka

Vzhledem k tomu, že toto pravidlo zásad cílí na skupinu prostředků, musí být režim definice zásady "vše" místo "indexovaný".

V případě chybějících prostředků upravit prostředky pro dědění značky CostCenter

Druhý CostCenter vyžaduje, aby všechny prostředky dědily značku z nadřazené skupiny prostředků, když chybí. Pokud je značka již definována v prostředku, i když se liší od nadřazené skupiny prostředků, musí být ponechána samostatně. Následující pravidlo zásad používá úpravu:

"policyRule": {
    "if": {
        "field": "tags['CostCenter']",
        "exists": "false"
    },
    "then": {
        "effect": "modify",
        "details": {
            "roleDefinitionIds": [
                "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
            ],
            "operations": [{
                "operation": "add",
                "field": "tags['CostCenter']",
                "value": "[resourcegroup().tags['CostCenter']]"
            }]
        }
    }
}

Toto pravidlo zásady používá operaci Přidání místo addOrReplace , protože nechceme změnit hodnotu značky, pokud je přítomna při Oprava stávajících prostředcích. Používá také [resourcegroup()] funkci Template k získání hodnoty značky z nadřazené skupiny prostředků.

Poznámka

Vzhledem k tomu, že toto pravidlo zásad cílí na prostředky, které podporují značky, musí být režim definice zásady indexovaný. Tato konfigurace taky zajišťuje, že tyto zásady přeskočí skupiny prostředků.

Konfigurace značky ENV

V souvislosti s prostředím Azure spravovaným pomocí Azure Policy se požadavky na značku ENV zavolají do následujících výsledků:

  • Upravte značku ENV pro skupinu prostředků na základě schématu pojmenování skupiny prostředků.
  • Upravte značku ENV u všech prostředků ve skupině prostředků na stejnou jako nadřazená skupina prostředků.

Upravit značku ENV skupin prostředků podle názvu

Pro každé prostředí, které existuje ve vašem prostředí Azure, se vyžadují zásady úprav . Zásady úprav pro každou z nich vypadají jako tato definice zásad:

"policyRule": {
    "if": {
        "allOf": [{
            "field": "type",
            "equals": "Microsoft.Resources/subscriptions/resourceGroups"
        },
        {
            "field": "name",
            "like": "prd-*"
        },
        {
            "field": "tags['Env']",
            "notEquals": "Production"
        }

    ]
    },
    "then": {
        "effect": "modify",
        "details": {
            "roleDefinitionIds": [
                "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
            ],
            "operations": [{
                "operation": "addOrReplace",
                "field": "tags['Env']",
                "value": "Production"
            }]
        }
    }
}

Poznámka

Vzhledem k tomu, že toto pravidlo zásad cílí na skupinu prostředků, musí být režim definice zásady "vše" místo "indexovaný".

Tato zásada se shoduje jenom se skupinami prostředků s ukázkovým schématem pojmenovávání, které se používá pro produkční prostředky prd- . Složitější schéma pojmenování je možné dosáhnout s několika podmínkami shody namísto jediného, jako v tomto příkladu.

Úprava prostředků pro dědění značky ENV

Požadavek na podnik vyžaduje, aby všechny prostředky měly značku ENV , která má svou nadřazenou skupinu prostředků. Tuto značku nejde přepsat, takže použijeme operaci addOrReplace s efektem úprav . Ukázková zásada úprav vypadá jako v následujícím pravidle:

"policyRule": {
    "if": {
        "anyOf": [{
            "field": "tags['Env']",
            "notEquals": "[resourcegroup().tags['Env']]"
        },
        {
            "field": "tags['Env']",
            "exists": false
        }
    ]
    },
    "then": {
        "effect": "modify",
        "details": {
            "roleDefinitionIds": [
                "/providers/microsoft.authorization/roleDefinitions/b24988ac-6180-42a0-ab88-20f7382dd24c"
            ],
            "operations": [{
                "operation": "addOrReplace",
                "field": "tags['Env']",
                "value": "[resourcegroup().tags['Env']]"
            }]
        }
    }
}

Poznámka

Vzhledem k tomu, že toto pravidlo zásad cílí na prostředky, které podporují značky, musí být režim definice zásady indexovaný. Tato konfigurace taky zajišťuje, že tyto zásady přeskočí skupiny prostředků.

Toto pravidlo zásad vyhledá všechny prostředky, které nemají hodnotu nadřazených skupin prostředků pro značku ENV nebo chybějící značku ENV . Odpovídající prostředky mají svou značku ENV nastavenou na hodnotu nadřazených skupin prostředků, a to i v případě, že značka již existovala v prostředku, ale s jinou hodnotou.

Přiřazení iniciativy a nápravy prostředků

Po vytvoření výše uvedených zásad značek je připojte k jedné iniciativě pro řízení značek a přiřaďte je ke skupině nebo předplatnému správy. Iniciativa a zahrnuté zásady pak vyhodnocují shodu stávajících prostředků a mění požadavky na nové nebo aktualizované prostředky, které odpovídají vlastnosti if v pravidle zásad. Zásady ale neaktualizují existující prostředky, které nedodržují předpisy, automaticky pomocí definovaných změn značek.

Podobně jako zásady deployIfNotExists používají zásady úprav ke změně existujících prostředků, které nedodržují předpisy, úlohy nápravy. Postupujte podle pokynů k nápravě prostředků , abyste identifikovali nekompatibilní prostředky pro Úpravy a opravili značky pro vaši definovanou taxonomii.

Vyčištění prostředků

Pokud jste dokončili práci s prostředky z tohoto kurzu, pomocí následujícího postupu odstraňte všechna přiřazení a definice, které jste vytvořili výše:

  1. Vyberte definice (nebo přiřazení , pokud se pokoušíte odstranit přiřazení) v části vytváření obsahu v levé části stránky Azure Policy.

  2. Vyhledejte novou definici iniciativy nebo zásady (nebo přiřazení), kterou chcete odebrat.

  3. Klikněte na řádek pravým tlačítkem nebo vyberte tři tečky na konci definice (nebo přiřazení) a pak vyberte Odstranit definici (nebo Odstranit přiřazení).

Opakování

V tomto kurzu jste se dozvěděli o následujících úlohách:

  • Identifikujte vaše podnikové požadavky.
  • Namapovaný každý požadavek na definici zásady
  • Seskupení zásad značek do iniciativy

Další kroky

Další informace o strukturách definic zásad najdete v tomto článku: