Azure Policy padrão: definições de políticas de grupo

Uma iniciativa é um grupo de definições de políticas. Ao agrupar definições de política relacionadas num único objeto, pode criar uma única atribuição que teria sido múltiplas atribuições.

Definição de iniciativa de exemplo

Esta iniciativa implementa duas definições de política, cada uma das quais utiliza os parâmetros tagName e tagValue . A iniciativa em si tem dois parâmetros: costCenterValue e productNameValue. Estes parâmetros de iniciativa são fornecidos a cada uma das definições de política agrupadas. Esta estrutura maximiza a reutilização das definições de política existentes, limitando ao mesmo tempo o número de atribuições criadas para as implementar conforme necessário.

{
    "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')]"
                    }
                }
            }
        ]
    }
}

Explicação

Parâmetros de iniciativa

Uma iniciativa pode definir os seus próprios parâmetros que são depois transmitidos para as definições de política agrupadas. Neste exemplo, tanto costCenterValue como productNameValue são definidos como parâmetros de iniciativa. Os valores são fornecidos quando a iniciativa é atribuída.

"parameters": {
    "costCenterValue": {
        "type": "String",
        "metadata": {
            "displayName": "required value for Cost Center tag"
        }
    },
    "productNameValue": {
        "type": "String",
        "metadata": {
            "displayName": "required value for product Name tag"
        }
    }
},

Inclui definições de política

Cada definição de política incluída tem de fornecer o policyDefinitionId e uma matriz de parâmetros se a definição de política aceitar parâmetros. No fragmento seguinte, a definição de política incluída utiliza dois parâmetros: tagName e tagValue. tagName é definido com um literal, mas tagValue utiliza o parâmetro costCenterValue definido pela iniciativa. Esta passagem de valores melhora a reutilização.

{
    "policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
    "parameters": {
        "tagName": {
            "value": "costCenter"
        },
        "tagValue": {
            "value": "[parameters('costCenterValue')]"
        }
    }
},

Passos seguintes