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:
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.
Keresse meg az eltávolítani kívánt új kezdeményezést vagy szabályzatdefiníciót (vagy hozzárendelést).
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: