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