Az Azure Policy kivételi struktúrája
Az Azure Policy kivételi funkciója arra szolgál, hogy mentesítsen egy erőforráshierarchiát vagy egy egyéni erőforrást a kezdeményezések vagy definíciók kiértékelése alól. Azok az erőforrások, amelyek kivételt képeznek az általános megfelelőségbe, de nem értékelhetők ki, vagy ideiglenes lemondással rendelkeznek. További információ: Az Azure Policy alkalmazhatóságának ismertetése. Az Azure Policy-kivételek a következő Resource Manager-módokkal is működnek: Microsoft.Kubernetes.Data, Microsoft.KeyVault.Data és Microsoft.Network.Data.
A szabályzatkivétel létrehozásához JavaScript Object Notation (JSON) formátumot kell használni. A szabályzatkivétel az alábbiakhoz kapcsolódó elemeket tartalmaz:
- megjelenített név
- leírás
- metaadatok
- szabályzat-hozzárendelés
- szabályzatdefiníciók egy kezdeményezésen belül
- mentességi kategória
- Lejárati
- erőforrás-választók
- hozzárendelés hatókörének érvényesítése
A szabályzatok kivétele gyermekobjektumként jön létre az erőforráshierarchiában, vagy a kivételt kapott egyéni erőforrás. Az erőforrás-szolgáltatói mód összetevő szintjén nem hozhatók létre kivételek. Ha eltávolítja a kivételezett szülőerőforrást, a kivétel is el lesz távolítva.
Az alábbi JSON például egy erőforrás lemondási kategóriájában lévő szabályzatmentességet mutat egy kezdeményezési hozzárendeléshez.resourceShouldBeCompliantInit
Az erőforrás a kezdeményezésben szereplő szabályzatdefiníciók közül csak kettő, az customOrgPolicy
egyéni szabályzatdefiníció ( policyDefinitionReferenceId
: requiredTags
) és az Engedélyezett helyek beépített szabályzatdefiníciója ( policyDefinitionReferenceId
: allowedLocations
):
{
"id": "/subscriptions/{subId}/resourceGroups/ExemptRG/providers/Microsoft.Authorization/policyExemptions/resourceIsNotApplicable",
"apiVersion": "2020-07-01-preview",
"name": "resourceIsNotApplicable",
"type": "Microsoft.Authorization/policyExemptions",
"properties": {
"displayName": "This resource is scheduled for deletion",
"description": "This resources is planned to be deleted by end of quarter and has been granted a waiver to the policy.",
"metadata": {
"requestedBy": "Storage team",
"approvedBy": "IA",
"approvedOn": "2020-07-26T08:02:32.0000000Z",
"ticketRef": "4baf214c-8d54-4646-be3f-eb6ec7b9bc4f"
},
"policyAssignmentId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyAssignments/resourceShouldBeCompliantInit",
"policyDefinitionReferenceIds": [
"requiredTags",
"allowedLocations"
],
"exemptionCategory": "waiver",
"expiresOn": "2020-12-31T23:59:00.0000000Z",
"assignmentScopeValidation": "Default"
}
}
Megjelenített név és leírás
A displayName és a leírás használatával azonosíthatja a szabályzat kivételét, és kontextust adhat meg annak az adott erőforrással való használatához. A displayName legfeljebb 128 karakter hosszúságú, a leírás pedig legfeljebb 512 karakter hosszúságú.
Metaadatok
A metaadat-tulajdonság lehetővé teszi a releváns információk tárolásához szükséges gyermektulajdonságok létrehozását. A példában a kért TulajdonságokBy, approvedBy, approvedOn és ticketRef olyan ügyfélértékeket tartalmaz, amelyek információt nyújtanak arról, hogy ki kérte a mentességet, ki hagyta jóvá és mikor, valamint egy belső nyomkövetési jegyet a kéréshez. Ezek a metaadat-tulajdonságok példák, de nem kötelezőek, és a metaadatok nem korlátozódnak ezekre a gyermektulajdonságokra.
Szabályzat-hozzárendelés azonosítója
Ennek a mezőnek egy szabályzat- vagy kezdeményezés-hozzárendelés teljes elérési útjának nevét kell tartalmaznia.
policyAssignmentId
egy sztring, és nem tömb. Ez a tulajdonság határozza meg, hogy melyik hozzárendelés alól mentesül a szülőerőforrás-hierarchia vagy az egyes erőforrás.
Szabályzatdefiníció azonosítói
Ha a policyAssignmentId
kezdeményezési hozzárendelésre van szükség, a policyDefinitionReferenceIds tulajdonság használatával megadhatja, hogy a kezdeményezés mely szabályzatdefinícióira vonatkozik a tárgyerőforrás kivétele. Mivel az erőforrás mentesülhet egy vagy több belefoglalt szabályzatdefiníció alól, ez a tulajdonság tömb. Az értékeknek meg kell egyeznie a mezők kezdeményezési policyDefinitions.policyDefinitionReferenceId
definíciójában szereplő értékekkel.
Kivételkategória
Két kivételkategória létezik, amelyek a kivételek csoportosítására szolgálnak:
- Enyhítve: A kivétel azért van megadva, mert a szabályzat szándéka egy másik módszerrel teljesül.
- Mentesség: A mentesség azért van megadva, mert az erőforrás meg nem felelésállapotát ideiglenesen elfogadják. A kategória használatának másik oka egy olyan erőforrás vagy erőforráshierarchia, amelyet ki kell zárni egy vagy több definícióból egy kezdeményezésben, de nem szabad kizárni a teljes kezdeményezésből.
Lejárat
Ha azt szeretné beállítani, hogy egy erőforráshierarchia vagy egy adott erőforrás már nem mentesül-e a hozzárendelés alól, állítsa be a expiresOn tulajdonságot. Ennek az opcionális tulajdonságnak univerzális ISO 8601 DateTime formátumban yyyy-MM-ddTHH:mm:ss.fffffffZ
kell lennie.
Feljegyzés
A szabályzat kivételei nem törlődnek a expiresOn
dátum elérésekor. Az objektum megmarad a nyilvántartáshoz, de a kivételt a továbbiakban nem tartják tiszteletben.
Erőforrás-választók
A kivételek támogatnak egy választható tulajdonságot resourceSelectors
. Ez a tulajdonság ugyanúgy működik a kivételekben, mint a hozzárendelésekben, lehetővé téve az erőforrások bizonyos részhalmazainak fokozatos bevezetését vagy visszaállítását az erőforrás típusa, az erőforrás helye vagy az erőforrás helye alapján. Az erőforrás-választók használatáról a hozzárendelési struktúrában talál további részleteket. Íme egy példa a kivétel JSON-ra, amely erőforrás-választókat használ. Ebben a példában csak a benne lévő westcentralus
erőforrások mentesülnek a szabályzat-hozzárendelés alól:
{
"properties": {
"policyAssignmentId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"policyDefinitionReferenceIds": [
"limitSku", "limitType"
],
"exemptionCategory": "Waiver",
"resourceSelectors": [
{
"name": "TemporaryMitigation",
"selectors": [
{
"kind": "resourceLocation",
"in": [ "westcentralus" ]
}
]
}
]
},
"systemData": { ... },
"id": "/subscriptions/{subId}/resourceGroups/demoCluster/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
"type": "Microsoft.Authorization/policyExemptions",
"name": "DemoExpensiveVM"
}
A példákban szereplő régiók hozzáadhatók vagy eltávolíthatók a resourceLocation
listából. Az erőforrás-választók nagyobb rugalmasságot biztosítanak annak érdekében, hogy hol és hogyan hozhatók létre és kezelhetők a kivételek.
Hozzárendelés hatókörének érvényesítése (előzetes verzió)
A legtöbb forgatókönyvben a kivétel hatóköre érvényesítve van, hogy a szabályzat-hozzárendelés hatókörében vagy alatt legyen. Az opcionális assignmentScopeValidation
tulajdonság lehetővé teszi, hogy a kivétel megkerülje ezt az ellenőrzést, és a hozzárendelés hatókörén kívül hozható létre. Ez olyan helyzetekre vonatkozik, amikor az előfizetést át kell helyezni az egyik felügyeleti csoportból (MG) egy másikba, de az áthelyezést a szabályzat letiltja az előfizetésen belüli erőforrások tulajdonságai miatt. Ebben a forgatókönyvben létrehozhat egy kivételt az előfizetéshez a jelenlegi MG-ben, amely mentesíti az erőforrásait a cél MG-n lévő szabályzat-hozzárendelés alól. Így, amikor az előfizetést áthelyezik a cél MG-be, a művelet nem lesz blokkolva, mert az erőforrások már mentesülnek a szóban forgó szabályzat-hozzárendelés alól. A tulajdonság használatát az alábbiakban szemléltetjük:
{
"properties": {
"policyAssignmentId": "/providers/Microsoft.Management/managementGroups/{mgB}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"policyDefinitionReferenceIds": [
"limitSku", "limitType"
],
"exemptionCategory": "Waiver",
"assignmentScopeValidation": "DoNotValidate",
},
"systemData": { ... },
"id": "/subscriptions/{subIdA}/providers/Microsoft.Authorization/policyExemptions/DemoExpensiveVM",
"type": "Microsoft.Authorization/policyExemptions",
"name": "DemoExpensiveVM"
}
A assignmentScopeValidation
lehetséges értékei a Default
és a DoNotValidate
. Ha nincs megadva, az alapértelmezett érvényesítési folyamat fog történni.
Szükséges engedélyek
A szabályzatmentességi objektumok kezeléséhez szükséges Azure RBAC-engedélyek a Microsoft.Authorization/policyExemptions
műveletcsoportban találhatók. A beépített szerepkörök erőforrásházirend-közreműködői és biztonsági Rendszergazda rendelkeznek az engedélyekkel és write
az read
engedélyekkel, és a szabályzat Elemzések adatíró (előzetes verzió) rendelkezik az read
engedéllyel.
A kivételezés jelentős hatása miatt a kivételek esetében fokozott biztonsági intézkedések vannak érvényben. Az erőforráshierarchia vagy az egyéni erőforrás műveletének megkövetelésén Microsoft.Authorization/policyExemptions/write
túl a kivétel létrehozójának rendelkeznie kell a exempt/Action
célhozzárendelésre vonatkozó igével.
Kivétel létrehozása és kezelése
A kivételeket olyan időhöz kötött vagy konkrét forgatókönyvekhez javasoljuk, ahol egy erőforrást vagy erőforráshierarchiát továbbra is nyomon kell követni, és más módon is értékelni kell, de van egy konkrét oka annak, hogy nem kell a megfelelőséget értékelni. Ha például egy környezet rendelkezik a beépített definícióval Storage accounts should disable public network access
(ID: b2982f36-99f2-4db5-8eff-283140c09693
) a naplózásra beállított effektuskészlettel. A megfelelőség értékelésekor a "StorageAcc1" erőforrás nem megfelelő, de a StorageAcc1-nek üzleti célokra engedélyeznie kell a nyilvános hálózati hozzáférést. Ekkor el kell küldeni egy kérést egy, a StorageAcc1-et célként szolgáló kivételerőforrás létrehozásához. A kivétel létrehozása után a StorageAcc1 kivételként jelenik meg a megfelelőségi felülvizsgálatban.
Rendszeresen tekintse át a mentességeket annak biztosítása érdekében, hogy az összes jogosult tétel megfelelően legyen mentesítve, és haladéktalanul távolítsa el a mentességre már nem jogosult elemeket. Ekkor a lejárt kivételi erőforrások is törölhetők.
Következő lépések
- Az Azure Resource Graph-lekérdezések használata kivételekkel.
- Ismerje meg a kizárások és a kivételek közötti különbséget.
- A Microsoft.Authorization policyExemptions erőforrástípusának tanulmányozása.
- Megtudhatja, hogyan kérhet le megfelelőségi adatokat.
- Megtudhatja, hogyan orvosolhatja a nem megfelelő erőforrásokat.