Azure Policy minta: csoportházirend-definíciók
A kezdeményezés szabályzatdefiníciók csoportja. A kapcsolódó szabályzatdefiníciók egyetlen objektumba való csoportosításával egyetlen hozzárendelést hozhat létre, amely több hozzárendelést is tartalmazott volna.
Kezdeményezési mintadefiníció
Ez a kezdeményezés két szabályzatdefiníciót helyez üzembe, amelyek mindegyike a tagName és a tagValue paramétereket veszi fel. Maga a kezdeményezés két paraméterrel rendelkezik: costCenterValue és productNameValue. Ezek a kezdeményezési paraméterek mindegyik csoportosított szabályzatdefinícióhoz tartoznak. Ez a kialakítás maximalizálja a meglévő szabályzatdefiníciók újrafelhasználását, ugyanakkor korlátozza a szükséges megvalósításukhoz létrehozott hozzárendelések számát.
{
"properties": {
"displayName": "Billing Tags Policy Initiative",
"description": "Specify cost Center tag and product name tag",
"parameters": {
"costCenterValue": {
"type": "String",
"metadata": {
"displayName": "required value for Cost Center tag"
}
},
"productNameValue": {
"type": "String",
"metadata": {
"displayName": "required value for product Name tag"
}
}
},
"policyDefinitions": [{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
"parameters": {
"tagName": {
"value": "costCenter"
},
"tagValue": {
"value": "[parameters('costCenterValue')]"
}
}
},
{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
"parameters": {
"tagName": {
"value": "costCenter"
},
"tagValue": {
"value": "[parameters('costCenterValue')]"
}
}
},
{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/1e30110a-5ceb-460c-a204-c1c3969c6d62",
"parameters": {
"tagName": {
"value": "productName"
},
"tagValue": {
"value": "[parameters('productNameValue')]"
}
}
},
{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
"parameters": {
"tagName": {
"value": "productName"
},
"tagValue": {
"value": "[parameters('productNameValue')]"
}
}
}
]
}
}
Magyarázat
Kezdeményezési paraméterek
A kezdeményezések saját paramétereket határozhatnak meg, amelyeket aztán átadnak a csoportosított szabályzatdefinícióknak. Ebben a példában a costCenterValue és a productNameValue is kezdeményezési paraméterekként van definiálva. Az értékek a kezdeményezés hozzárendelésekor lesznek megadva.
"parameters": {
"costCenterValue": {
"type": "String",
"metadata": {
"displayName": "required value for Cost Center tag"
}
},
"productNameValue": {
"type": "String",
"metadata": {
"displayName": "required value for product Name tag"
}
}
},
Szabályzatdefiníciókat tartalmaz
Minden belefoglalt szabályzatdefiníciónak meg kell adnia a policyDefinitionId azonosítót és egy paramétertömböt , ha a szabályzatdefiníció paramétereket fogad el. A következő kódrészletben a belefoglalt szabályzatdefiníció két paramétert használ: tagName és tagValue. A tagName egy literállal van definiálva, de a tagValue a kezdeményezés által definiált costCenterValue paramétert használja. Az értékek átengedése javítja az újrafelhasználást.
{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
"parameters": {
"tagName": {
"value": "costCenter"
},
"tagValue": {
"value": "[parameters('costCenterValue')]"
}
}
},
Következő lépések
- Tekintse át az egyéb mintákat és a beépített definíciókat.
- Tekintse meg az Azure szabályzatdefiníciók struktúrája szakaszt.
- A Szabályzatok hatásainak ismertetése.