Modello di Criteri di Azure: proprietà field
L'operatore field valuta la proprietà specificata o alias in base a un valore fornito per una determinata condizione.
Definizione di criteri di esempio
Questa definizione di criteri consente di definire le aree consentite che soddisfano i requisiti di posizione geografica dell'organizzazione. Le risorse consentite sono definite nel parametro listOfAllowedLocations (matrice). Le risorse che corrispondono alla definizione vengono negate.
{
"properties": {
"displayName": "Allowed locations",
"policyType": "BuiltIn",
"description": "This policy enables you to restrict the locations your organization can specify when deploying resources. Use to enforce your geo-compliance requirements. Excludes resource groups, Microsoft.AzureActiveDirectory/b2cDirectories, and resources that use the 'global' region.",
"mode": "Indexed",
"parameters": {
"listOfAllowedLocations": {
"type": "Array",
"metadata": {
"description": "The list of locations that can be specified when deploying resources.",
"strongType": "location",
"displayName": "Allowed locations"
}
}
},
"policyRule": {
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
}
}
Spiegazione
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
L'operatore field viene usato tre volte all'interno dell'operatore logico allOf.
- Il primo uso valuta la proprietà
location
con la condizione notIn per il parametro listOfAllowedLocations. notIn funziona perché si aspetta una matrice e il parametro è una matrice. Se la proprietàlocation
della risorsa creata o aggiornata non è inclusa nell'elenco approvato, questo elemento restituisce true. - Anche il secondo uso valuta la proprietà
location
, ma applica la condizione notEquals per verificare se la risorsa è globale. Se la proprietàlocation
della risorsa creata o aggiornata non è globale, questo elemento restituisce true. - L'ultimo uso valuta la proprietà
type
e applica la condizione notEquals per verificare che il tipo di risorsa non è Microsoft.AzureActiveDirectory/b2cDirectories. Se non lo è, questo elemento restituisce true.
Se tutte e tre le istruzioni condizionali dell'operatore logico allOf restituiscono ture, la creazione o l'aggiornamento della risorsa viene bloccato da Criteri di Azure.
Passaggi successivi
- Esaminare altri modelli e definizioni predefinite.
- Vedere la struttura delle definizioni di Criteri di Azure.
- Leggere Informazioni sugli effetti di Criteri.