Modello di Criteri di Azure: definizioni di criteri di gruppo
Un'iniziativa è un gruppo di definizioni di criteri. Raggruppando definizioni di criteri correlate in un singolo oggetto, è possibile creare una singola assegnazione invece di più di una.
Definizione di iniziativa di esempio
Questa iniziativa distribuisce due definizioni di criteri, ognuna delle quali accetta i parametri tagName e tagValue. L'iniziativa stessa include due parametri, costCenterValue e productNameValue. Ognuno di questi parametri dell'iniziativa viene fornito a ognuna delle definizioni di criteri raggruppate. Questo schema ottimizza il riutilizzo delle definizioni di criteri esistenti, limitando al tempo stesso il numero di assegnazioni create per implementarle come necessario.
{
"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')]"
}
}
}
]
}
}
Spiegazione
Parametri delle iniziative
Un'iniziativa può definire i propri parametri che vengono quindi passati alle definizioni di criteri raggruppate. In questo esempio, sia costCenterValue che productNameValue vengono definiti come parametri dell'iniziativa. I valori vengono forniti quando l'iniziativa viene assegnata.
"parameters": {
"costCenterValue": {
"type": "String",
"metadata": {
"displayName": "required value for Cost Center tag"
}
},
"productNameValue": {
"type": "String",
"metadata": {
"displayName": "required value for product Name tag"
}
}
},
Definizioni di criteri incluse
Ogni definizione di criteri inclusa deve fornire il parametro policyDefinitionId e una matrice di parametri se la definizione di criteri accetta parametri. Nel frammento di codice seguente la definizione di criteri inclusa accetta due parametri: tagName e tagValue. tagName viene definito con un valore letterale, ma tagValue usa il parametro costCenterValue definito dall'iniziativa. Il pass-through dei valori migliora il riutilizzo.
{
"policyDefinitionId": "/providers/Microsoft.Authorization/policyDefinitions/2a0e14a6-b0a6-4fab-991a-187a4f81c498",
"parameters": {
"tagName": {
"value": "costCenter"
},
"tagValue": {
"value": "[parameters('costCenterValue')]"
}
}
},
Passaggi successivi
- Esaminare altri modelli e definizioni predefinite.
- Vedere la struttura delle definizioni di Criteri di Azure.
- Leggere Informazioni sugli effetti di Criteri.