Azure Policy-hozzárendelés struktúrája
Az Azure Policy szabályzat-hozzárendeléseket használ annak meghatározására, hogy mely erőforrásokat melyik szabályzatok vagy kezdeményezések rendelik hozzá. A szabályzat-hozzárendelés meghatározhatja az adott erőforráscsoport paramétereinek értékeit a hozzárendelés időpontjában, így újra felhasználhatók azok a szabályzatdefiníciók, amelyek ugyanazokat az erőforrás-tulajdonságokat kezelik különböző megfelelőségi igényekkel.
Feljegyzés
Az Azure Policy hatóköréről további információt az Azure Policy hatókörének ismertetése című témakörben talál.
A JavaScript Object Notation (JSON) használatával hozhat létre szabályzat-hozzárendelést. A szabályzat-hozzárendelés a következő elemeket tartalmazza:
- megjelenített név
- leírás
- metaadatok
- erőforrás-választók
- Felülbírálja
- kényszerítési mód
- kizárt hatókörök
- szabályzatdefiníció
- nem megfelelőségi üzenetek
- paraméterek
- Identitás
Az alábbi JSON például doNotEnforce módban jeleníti meg a szabályzat-hozzárendelést dinamikus paraméterekkel:
{
"properties": {
"displayName": "Enforce resource naming rules",
"description": "Force resource names to begin with DeptA and end with -LC",
"metadata": {
"assignedBy": "Cloud Center of Excellence"
},
"enforcementMode": "DoNotEnforce",
"notScopes": [],
"policyDefinitionId": "/subscriptions/{mySubscriptionID}/providers/Microsoft.Authorization/policyDefinitions/ResourceNaming",
"nonComplianceMessages": [
{
"message": "Resource names must start with 'DeptA' and end with '-LC'."
}
],
"parameters": {
"prefix": {
"value": "DeptA"
},
"suffix": {
"value": "-LC"
}
},
"identity": {
"type": "SystemAssigned"
},
"resourceSelectors": [],
"overrides": []
}
}
Minden Azure Policy-minta Az Azure Policy-mintákban található.
Megjelenített név és leírás
A displayName és a leírás használatával azonosíthatja a szabályzat-hozzárendelést, és kontextust adhat a szabályzatnak az adott erőforráskészlettel való használatához. A displayName legfeljebb 128 karakter hosszúságú, a leírás pedig legfeljebb 512 karakter hosszúságú.
Metaadatok
Az opcionális metadata
tulajdonság a szabályzat-hozzárendeléssel kapcsolatos információkat tárolja. Az ügyfelek a szervezet számára hasznos tulajdonságokat és értékeket definiálhatják a következő helyen metadata
: . Az Azure Policy azonban néhány gyakori tulajdonságot használ. Minden metadata
tulajdonság legfeljebb 1024 karakter hosszúságú lehet.
Gyakori metaadat-tulajdonságok
assignedBy
(sztring): A hozzárendelést létrehozó biztonsági tag rövid neve.createdBy
(sztring): A hozzárendelést létrehozó biztonsági tag GUID azonosítója.createdOn
(sztring): A hozzárendelés létrehozási idejének univerzális ISO 8601 DateTime formátuma.parameterScopes
(objektum): Kulcs-érték párok gyűjteménye, amelyekben a kulcs egyezik a strongType konfigurált paraméter nevével, és az érték határozza meg a Portálon használt erőforrás-hatókört, hogy a strongType-nak megfelelő módon adja meg az elérhető erőforrások listáját. A Portál akkor állítja be ezt az értéket, ha a hatókör eltér a hozzárendelés hatókörétől. Ha be van állítva, a portál házirend-hozzárendelésének szerkesztése automatikusan erre az értékre állítja a paraméter hatókörét. A hatókör azonban nincs zárolva az értékhez, és más hatókörre is módosítható.Az alábbi példa
parameterScopes
egy strongType nevű paraméterrebackupPolicyId
mutat, amely beállítja az erőforrás-kiválasztás hatókörét, amikor a hozzárendelést szerkesztik a Portálon."metadata": { "parameterScopes": { "backupPolicyId": "/subscriptions/{SubscriptionID}/resourcegroups/{ResourceGroupName}" } }
updatedBy
(sztring): A hozzárendelést frissített biztonsági tag rövid neve, ha van ilyen.updatedOn
(sztring): A hozzárendelés frissítési idejének univerzális ISO 8601 DateTime formátuma, ha van ilyen.evidenceStorages
(objektum): Az ajánlott alapértelmezett tárfiók, amelyet a szabályzat-hozzárendelésekmanual
igazolásainak bizonyítékainak tárolására kell használni. AdisplayName
tulajdonság a tárfiók neve. AevidenceStorageAccountID
tulajdonság a tárfiók erőforrás-azonosítója. AevidenceBlobContainer
tulajdonság a blobtároló neve, amelyben tárolni szeretné a bizonyítékokat.{ "properties": { "displayName": "A contingency plan should be in place to ensure operational continuity for each Azure subscription.", "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/{definitionId}", "metadata": { "evidenceStorages": [ { "displayName": "Default evidence storage", "evidenceStorageAccountId": "/subscriptions/{subscriptionId}/resourceGroups/{rg-name}/providers/Microsoft.Storage/storageAccounts/{storage-account-name}", "evidenceBlobContainer": "evidence-container" } ] } } }
Erőforrás-választók
Az opcionális resourceSelectors
tulajdonság megkönnyíti a biztonságos üzembehelyezési eljárásokat (SDP) azáltal, hogy lehetővé teszi a szabályzat-hozzárendelések fokozatos bevezetését olyan tényezők alapján, mint az erőforrás helye, az erőforrás típusa vagy az erőforrás helye. Erőforrás-választók használata esetén az Azure Policy csak az erőforrás-választókban megadott specifikációkra vonatkozó erőforrásokat értékeli ki.
Az erőforrás-választók a kivételek hatókörének ugyanúgy szűkítésére is használhatók.
A következő példaforgatókönyvben az új szabályzat-hozzárendelés csak akkor lesz kiértékelve, ha az erőforrás helye az USA keleti régiója vagy az USA nyugati régiója.
{
"properties": {
"policyDefinitionId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyDefinitions/ResourceLimit",
"definitionVersion": "1.1",
"resourceSelectors": [
{
"name": "SDPRegions",
"selectors": [
{
"kind": "resourceLocation",
"in": [ "eastus", "westus" ]
}
]
}
]
},
"systemData": { ... },
"id": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/ResourceLimit",
"type": "Microsoft.Authorization/policyAssignments",
"name": "ResourceLimit"
}
Ha készen áll a szabályzat kiértékelési hatókörének bővítésére, csak módosítania kell a hozzárendelést. Az alábbi példa a szabályzat-hozzárendelést mutatja be két további Azure-régióval az SDPRegions választóhoz hozzáadva. Vegye figyelembe, hogy ebben a példában az SDP azt jelenti, hogy Széf üzembe helyezési gyakorlatot:
{
"properties": {
"policyDefinitionId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyDefinitions/ResourceLimit",
"definitionVersion": "1.1",
"resourceSelectors": [
{
"name": "SDPRegions",
"selectors": [
{
"kind": "resourceLocation",
"in": [ "eastus", "westus", "centralus", "southcentralus" ]
}
]
}
]
},
"systemData": { ... },
"id": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/ResourceLimit",
"type": "Microsoft.Authorization/policyAssignments",
"name": "ResourceLimit"
}
Az erőforrás-választók a következő tulajdonságokkal rendelkeznek:
name
: Az erőforrás-választó neve.selectors
: (Nem kötelező) A szabályzat-hozzárendelésre alkalmazható erőforrások melyik részhalmazának meghatározására használt tulajdonságot kell kiértékelni a megfelelőség szempontjából.kind
: Egy választó tulajdonsága, amely leírja, hogy melyik jellemző szűkíti le a kiértékelt erőforrások készletét. Mindegyik típus csak egyszer használható egyetlen erőforrás-választóban. Az engedélyezett értékek a következők:resourceLocation
: Ez a tulajdonság az erőforrások típusától függően történő kiválasztására szolgál. Nem használható ugyanabban az erőforrás-választóban, mint aresourceWithoutLocation
.resourceType
: Ez a tulajdonság az erőforrások típusától függően történő kiválasztására szolgál.resourceWithoutLocation
: Ez a tulajdonság olyan erőforrások kiválasztására szolgál az előfizetés szintjén, amelyek nem rendelkeznek helytel. Jelenleg csak a .subscriptionLevelResources
Nem használható ugyanabban az erőforrás-választóban, mint aresourceLocation
.
in
: A megadottkind
értékeket tartalmazó lista. Nem használható anotIn
. Legfeljebb 50 értéket tartalmazhat.notIn
: A megadottkind
értékek nem engedélyezett értékeinek listája. Nem használható ain
. Legfeljebb 50 értéket tartalmazhat.
Az erőforrás-választók több választót is tartalmazhatnak. Ahhoz, hogy egy erőforrás-választóra alkalmazható legyen, az erőforrásnak meg kell felelnie az összes választója által meghatározott követelményeknek. Emellett egyetlen hozzárendelésben legfeljebb 10 erőforrás-választó adható meg. A hatókörön belüli erőforrások akkor lesznek kiértékelve, ha megfelelnek ezeknek az erőforrás-választóknak.
Felülbírálások
Az opcionális overrides
tulajdonság lehetővé teszi a szabályzatdefiníciók hatásának módosítását anélkül, hogy módosítaná az alapul szolgáló szabályzatdefiníciót, vagy paraméteres effektust használ a szabályzatdefinícióban.
A felülbírálások leggyakoribb használati esete a nagy számú társított szabályzatdefinícióval rendelkező házirend-kezdeményezések. Ebben az esetben a több szakpolitikai hatás kezelése jelentős adminisztrációs erőfeszítést igényelhet, különösen akkor, ha a hatást időről időre frissíteni kell. A felülbírálásokkal egyszerre több szabályzatdefiníció hatását is frissítheti egy kezdeményezésen belül.
Lássunk egy példát. Tegyük fel, hogy rendelkezik egy CostManagement nevű házirend-kezdeményezéssel, amely tartalmaz egy egyéni szabályzatdefiníciót a corpVMSizePolicy használatával policyDefinitionReferenceId
és egyetlen hatásávalaudit
. Tegyük fel, hogy hozzá szeretné rendelni a CostManagement kezdeményezést , de még nem szeretné látni a szabályzat megfelelőségi jelentését. A szabályzat "naplózási" hatását a kezdeményezési hozzárendelés felülbírálásával a "letiltva" válthatja fel, ahogyan az a következő példában látható:
{
"properties": {
"policyDefinitionId": "/subscriptions/{subId}/providers/Microsoft.Authorization/policySetDefinitions/CostManagement",
"overrides": [
{
"kind": "policyEffect",
"value": "disabled",
"selectors": [
{
"kind": "policyDefinitionReferenceId",
"in": [ "corpVMSizePolicy" ]
}
]
}
]
},
"systemData": { ... },
"id": "/subscriptions/{subId}/providers/Microsoft.Authorization/policyAssignments/CostManagement",
"type": "Microsoft.Authorization/policyAssignments",
"name": "CostManagement"
}
A felülbírálások a következő tulajdonságokkal rendelkeznek:
kind
: A hozzárendelés által felülbírálható tulajdonság. A támogatott típus apolicyEffect
.value
: Az új érték, amely felülbírálja a meglévő értéket. A támogatott értékek effektusok.selectors
: (Nem kötelező) A szabályzat-hozzárendelés hatókörének a felülbíráláshoz használt tulajdonság.kind
: Egy választó tulajdonsága, amely leírja, hogy milyen jellemzők szűkítik a felülbírálás hatókörét. Az engedélyezett érték akind: policyEffect
következő:policyDefinitionReferenceId
: Ez határozza meg, hogy a kezdeményezési hozzárendelésen belül mely szabályzatdefiníciók legyenek hatással a hatás felülbírálására.
in
: A megadottkind
értékeket tartalmazó lista. Nem használható anotIn
. Legfeljebb 50 értéket tartalmazhat.notIn
: A megadottkind
értékek nem engedélyezett értékeinek listája. Nem használható ain
. Legfeljebb 50 értéket tartalmazhat.
Vegye figyelembe, hogy a policyDefinitionReferenceId tömbben több érték megadásával egyetlen felülbírálással helyettesítheti számos szabályzat hatását. Egyetlen felülbírálás legfeljebb 50 policyDefinitionReferenceIdshez használható, és egyetlen szabályzat-hozzárendelés legfeljebb 10 felülbírálást tartalmazhat, amelyek kiértékelése a megadott sorrendben történik. A hozzárendelés létrehozása előtt a felülbírálásban kiválasztott effektus érvényesítve lesz a szabályzatszabály és a paraméter által megengedett értéklistával (azokban az esetekben, amikor az effektus paraméteres).
Kényszerítési mód
A enforcementMode tulajdonság lehetővé teszi az ügyfelek számára, hogy teszteljék egy szabályzat eredményét a meglévő erőforrásokon anélkül, hogy elindítanák a szabályzateffektust, vagy bejegyzéseket indítanának el az Azure-tevékenységnaplóban.
Ezt a forgatókönyvet gyakran "What If"-nak is nevezik, és a biztonságos üzembehelyezési eljárásokhoz igazodik. a enforcementMode eltér a Letiltott effektustól, mivel ez a hatás egyáltalán megakadályozza az erőforrás-értékelés végrehajtását.
Ez a tulajdonság a következő értékekkel rendelkezik:
Mód | JSON-érték | Típus | Manuális javítás | Tevékenységnapló-bejegyzés | Leírás |
---|---|---|---|---|---|
Engedélyezve | Alapértelmezett | sztring | Igen | Igen | A szabályzathatás kényszerítve van az erőforrás-létrehozás vagy -frissítés során. |
Disabled (Letiltva) | DoNotEnforce | sztring | Igen | Nem | A szabályzathatás nincs kényszerítve az erőforrás-létrehozás vagy -frissítés során. |
Ha a enforcementMode nincs megadva egy szabályzat- vagy kezdeményezésdefinícióban, a rendszer az Alapértelmezett értéket használja. A szervizelési feladatok akkor is elindíthatók a deployIfNotExists szabályzatokhoz, ha a enforcementMode értéke DoNotEnforce.
Kizárt hatókörök
A hozzárendelés hatóköre magában foglalja az összes gyermekerőforrás-tárolót és gyermekerőforrást. Ha egy gyermekerőforrás-tároló vagy gyermekerőforrás nem alkalmazza a definíciót, a notScopes beállítással kizárhatók a kiértékelésből. Ez a tulajdonság egy tömb, amely lehetővé teszi egy vagy több erőforrástároló vagy erőforrás kiértékelésből való kizárását. A notScopes a kezdeti hozzárendelés létrehozása után hozzáadható vagy frissíthető.
Feljegyzés
A kizárt erőforrások eltérnek a mentesített erőforrásoktól. További információért lásd: Az Azure Policy hatóköreinek megismerése.
Szabályzatdefiníció azonosítója
Ennek a mezőnek egy szabályzatdefiníció vagy egy kezdeményezési definíció teljes elérési útjának kell lennie.
policyDefinitionId
egy sztring, és nem tömb. A rendszer minden alkalommal lekéri a hozzárendelt szabályzatdefiníció vagy kezdeményezés legújabb tartalmát, amikor kiértékeli a szabályzat-hozzárendelést. Javasoljuk, hogy ha több szabályzatot is gyakran rendelnek egymáshoz, használjon inkább kezdeményezést.
Nem megfelelőségi üzenetek
Ha egyéni üzenetet szeretne beállítani, amely leírja, hogy egy erőforrás miért nem felel meg a szabályzat vagy a kezdeményezés definíciójának, állítsa be nonComplianceMessages
a hozzárendelés-definícióban. Ez a csomópont bejegyzések tömbje message
. Ez az egyéni üzenet a meg nem felelés alapértelmezett hibaüzenete mellett nem kötelező.
Fontos
A meg nem felelés egyéni üzenetei csak a Resource Manager-móddefiníciókkal rendelkező definíciókban vagy kezdeményezésekben támogatottak.
"nonComplianceMessages": [
{
"message": "Default message"
}
]
Ha a hozzárendelés kezdeményezéshez készült, a kezdeményezésben szereplő egyes szabályzatdefiníciókhoz különböző üzenetek konfigurálhatók. Az üzenetek a policyDefinitionReferenceId
kezdeményezés definíciójában konfigurált értéket használják. Részletekért tekintse meg a szabályzatdefiníciók tulajdonságait.
"nonComplianceMessages": [
{
"message": "Default message"
},
{
"message": "Message for just this policy definition by reference ID",
"policyDefinitionReferenceId": "10420126870854049575"
}
]
Paraméterek
A szabályzat-hozzárendelés ezen szegmense a szabályzatdefinícióban vagy kezdeményezésdefinícióban meghatározott paraméterek értékeit tartalmazza. Ez a kialakítás lehetővé teszi egy szabályzat- vagy kezdeményezésdefiníció más erőforrásokkal való újrafelhasználását, de különböző üzleti értékeket vagy eredményeket keres.
"parameters": {
"prefix": {
"value": "DeptA"
},
"suffix": {
"value": "-LC"
}
}
Ebben a példában a szabályzatdefinícióban korábban definiált paraméterek a következők prefix
: és suffix
. Ez az adott szabályzat-hozzárendelés a DeptA-hoz és -LC-hez van halmazaprefix
.suffix
Ugyanez a szabályzatdefiníció egy másik részleg eltérő paraméterkészletével újrafelhasználható, így a szabályzatdefiníciók duplikációja és összetettsége csökken, miközben rugalmasságot biztosít.
Identitás
AzIfNotExist vagy a módosítás effektusra beállított szabályzat-hozzárendelésekhez identitástulajdonságra van szükség a nem megfelelő erőforrások szervizeléséhez. Identitás használata esetén a felhasználónak meg kell adnia a hozzárendelés helyét is.
Feljegyzés
Egyetlen szabályzat-hozzárendelés csak egy rendszer- vagy felhasználó által hozzárendelt felügyelt identitáshoz társítható. Az identitás azonban szükség esetén több szerepkörhöz is hozzárendelhető.
# System-assigned identity
"identity": {
"type": "SystemAssigned"
}
# User-assigned identity
"identity": {
"type": "UserAssigned",
"userAssignedIdentities": {
"/subscriptions/SubscriptionID/resourceGroups/testResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/test-identity": {}
}
},
Következő lépések
- Ismerje meg a szabályzatdefiníció struktúráját.
- Megtudhatja, hogyan hozhat létre programozott módon szabályzatokat.
- Megtudhatja, hogyan kérhet le megfelelőségi adatokat.
- Megtudhatja, hogyan orvosolhatja a nem megfelelő erőforrásokat.
- Tekintse át, hogy mi az a felügyeleti csoport az erőforrások azure-beli felügyeleti csoportokkal való rendszerezésével.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: