Oktatóanyag: Címkeszabályozás kezelése Azure Policy

A címkék kulcsfontosságú szerepet játszanak az Azure-erőforrások rendszerezésében. A címkekezelés ajánlott eljárásainak követésekor a címkék lehetnek az üzleti szabályzatok Azure Policy vagy költségkövetési alapjai a Cost Management használatával. Függetlenül attól, hogy hogyan vagy miért használ címkéket, fontos, hogy ezeket a címkéket gyorsan hozzáadhatja, módosíthatja és eltávolíthatja az Azure-erőforrásokon. Ha tudni szeretné, hogy az Azure-erőforrás támogatja-e a címkézést, olvassa el a Címketámogatás című témakört.

Azure Policy Módosítás hatása úgy van kialakítva, hogy segítse a címkék szabályozását, függetlenül attól, hogy milyen fázisban van az erőforrás-szabályozásban. A módosítás akkor segít, ha:

  • Még csak most ismerkedik a felhővel, és nem rendelkezik címkeszabályozással
  • Már több ezer erőforrással rendelkezik címkeszabályozás nélkül
  • Már rendelkezik egy meglévő osztályozással, amelyet módosítania kell

Ebben az oktatóanyagban a következő feladatokat fogja elvégezni:

  • Az üzleti követelmények azonosítása
  • Minden követelmény leképezése szabályzatdefinícióra
  • A címkeszabályzatok csoportosítása egy kezdeményezésbe

Előfeltételek

Az oktatóanyag elvégzéséhez szüksége lesz egy Azure-előfizetésre. Ha még nem rendelkezik ilyen fiókkal, hozzon létre egy ingyenes fiókot a kezdés előtt.

Követelmények azonosítása

Az irányítási vezérlők minden jó implementációjához hasonlóan a követelményeknek is az ön üzleti igényeiből kell származnia, és jól érthetőnek kell lenniük a műszaki vezérlők létrehozása előtt. Ebben a forgatókönyvben az alábbi elemekre van szükség az üzleti követelményekhez:

  • Két szükséges címke az összes erőforráson: CostCenter és Env
  • A CostCenternek minden tárolón és egyéni erőforráson léteznie kell
    • Az erőforrások öröklődnek a tárolótól, amelyben vannak, de egyesével felül lehet bírálva
  • Az env-nek minden tárolón és egyéni erőforráson léteznie kell
    • Az erőforrások tárolóelnevezési séma alapján határozzák meg a környezetet, és nem bírálhatók felül
    • A tároló összes erőforrása ugyanahhoz a környezethez tartozik

A CostCenter címke konfigurálása

Az Azure Policy által felügyelt Azure-környezetre vonatkozóan a CostCenter címkekövetelményei a következő eredményekre vonatkoznak:

  • A CostCenter címkéből hiányzó erőforráscsoportok megtagadása
  • Erőforrások módosítása a CostCenter-címke hozzáadásához a szülő erőforráscsoportból, ha hiányzik

A CostCenter címkéből hiányzó erőforráscsoportok megtagadása

Mivel egy erőforráscsoport CostCenterja nem határozható meg az erőforráscsoport neve alapján, az erőforráscsoport létrehozásához szükséges kérelemben meg kell határoznia a címkét. A Megtagadás effektussal rendelkező alábbi szabályzatszabály megakadályozza a CostCenter címkével nem rendelkező erőforráscsoportok létrehozását vagy frissítését:

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

Megjegyzés

Mivel ez a szabályzatszabály egy erőforráscsoportot céloz meg, a szabályzatdefinícióban az "Összes" módnak kell lennie az "Indexelt" helyett.

Erőforrások módosítása a CostCenter-címke örökléséhez, ha hiányzik

A második CostCenter-igény az, hogy minden erőforrás örökölje a címkét a szülő erőforráscsoportból, ha hiányzik. Ha a címke már definiálva van az erőforráson, még akkor is, ha eltér a szülő erőforráscsoporttól, azt egyedül kell hagynia. A következő szabályzatszabály a Módosítást használja:

"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']]"
            }]
        }
    }
}

Ez a szabályzatszabály az addOrReplace helyett a hozzáadási műveletet használja, mivel nem szeretnénk módosítani a címke értékét, ha a meglévő erőforrások szervizelésekor jelen van. A sablonfüggvény használatával [resourcegroup()] is lekéri a címke értékét a szülő erőforráscsoportból.

Megjegyzés

Mivel ez a szabályzatszabály címkéket támogató erőforrásokat céloz meg, a szabályzatdefiníció módjának indexeltnek kell lennie. Ez a konfiguráció azt is biztosítja, hogy ez a szabályzat kihagyja az erőforráscsoportokat.

Az Env címke konfigurálása

A Azure Policy által felügyelt Azure-környezetre vonatkozóan az Env címkekövetelményei a következő eredményekre vonatkoznak:

  • Az Env címke módosítása az erőforráscsoporton az erőforráscsoport elnevezési sémája alapján
  • Módosítsa az Env címkét az erőforráscsoport összes erőforrásán a szülő erőforráscsoportra

Erőforráscsoportok módosítása Env címke név alapján

Az Azure-környezetben található összes környezethez módosítási szabályzat szükséges. Az egyes szabályzatok házirendjének módosítása a következő szabályzatdefinícióhoz hasonlóan néz ki:

"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"
            }]
        }
    }
}

Megjegyzés

Mivel ez a szabályzatszabály egy erőforráscsoportot céloz meg, a szabályzatdefinícióban az "Összes" módnak kell lennie az "Indexelt" helyett.

Ez a szabályzat csak az erőforráscsoportokat egyezik meg az éles erőforrásokhoz használt elnevezési prd-mintával. Az összetettebb elnevezési sémák több egyezési feltétellel érhetők el a példában láthatóhoz hasonló egyetlen helyett.

Erőforrások módosítása az Env címke örökléséhez

Az üzleti követelmény arra kéri az összes erőforrást, hogy rendelkezzen a szülő erőforráscsoport által használt Env címkével. Ez a címke nem bírálható felül, ezért az addOrReplace műveletet a Módosítás effektussal fogjuk használni. A minta Módosítási szabályzat a következő szabályhoz hasonlóan néz ki:

"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']]"
            }]
        }
    }
}

Megjegyzés

Mivel ez a szabályzatszabály címkéket támogató erőforrásokat céloz meg, a szabályzatdefiníció módjának indexeltnek kell lennie. Ez a konfiguráció azt is biztosítja, hogy ez a szabályzat kihagyja az erőforráscsoportokat.

Ez a szabályzatszabály olyan erőforrást keres, amely nem rendelkezik az Env címke szülő erőforráscsoport-értékével, vagy hiányzik az Env címke. Az egyező erőforrások env címkéje a szülő erőforráscsoportok értékére van beállítva, még akkor is, ha a címke már létezett az erőforráson, de más értékkel.

A kezdeményezés hozzárendelése és az erőforrások szervizelése

A fenti címkeszabályzatok létrehozása után csatlakozzon hozzájuk egyetlen, a címkeszabályozásra vonatkozó kezdeményezéshez, és rendelje hozzá őket egy felügyeleti csoporthoz vagy előfizetéshez. A kezdeményezés és a belefoglalt szabályzatok ezután kiértékelik a meglévő erőforrások megfelelőségét, és módosítják a szabályzatszabály if tulajdonságának megfelelő új vagy frissített erőforrásokra vonatkozó kéréseket. A szabályzat azonban nem frissíti automatikusan a meglévő, nem megfelelő erőforrásokat a megadott címkemódosításokkal.

A deployIfNotExists szabályzathoz hasonlóan a Módosítás szabályzat szervizelési feladatokkal módosítja a meglévő nem megfelelő erőforrásokat. Kövesse az Erőforrások szervizelése című témakör útmutatásait a nem megfelelő Erőforrások módosítása és a címkék a definiált osztályozáshoz való kijavításához.

Az erőforrások eltávolítása

Ha végzett az oktatóanyag erőforrásaival, az alábbi lépésekkel törölheti a fent létrehozott hozzárendeléseket vagy definíciókat:

  1. A Azure Policy lap bal oldalán a Létrehozás területen válassza a Definíciók (vagy hozzárendelések, ha egy hozzárendelést szeretne törölni) lehetőséget.

  2. Keresse meg az eltávolítani kívánt új kezdeményezést vagy szabályzatdefiníciót (vagy hozzárendelést).

  3. Kattintson a jobb gombbal a sorra, vagy a bal gombbal a definíció (vagy a hozzárendelés) mellett található három pontra, majd a Definíció törlése (vagy a Hozzárendelés törlése) parancsra.

Áttekintés

Ebben az oktatóanyagban a következő feladatokat ismerte meg:

  • Azonosította az üzleti követelményeket
  • Minden követelményt szabályzatdefinícióra képezett le
  • A címkeszabályzatok csoportosítása egy kezdeményezésbe

Következő lépések

A szabályzatdefiníciók szerkezetéről szóló további információkért lásd az alábbi cikket: