Azure Policy padrão: propriedades do campo
O operador de campo avalia a propriedade ou alias especificado para um valor fornecido para uma determinada condição.
Definição de política de exemplo
Esta definição de política permite-lhe definir regiões permitidas que cumprem os requisitos de geolocalização da sua organização. Os recursos permitidos são definidos na lista de parâmetrosOfAllowedLocations (matriz). Os recursos que correspondem à definição são negados.
{
"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"
}
}
}
}
Explicação
"if": {
"allOf": [{
"field": "location",
"notIn": "[parameters('listOfAllowedLocations')]"
},
{
"field": "location",
"notEquals": "global"
},
{
"field": "type",
"notEquals": "Microsoft.AzureActiveDirectory/b2cDirectories"
}
]
},
"then": {
"effect": "Deny"
}
}
O operador de campo é utilizado três vezes no operador lógicoallOf.
- A primeira utilização avalia a
location
propriedade com a condição notIn para o parâmetro listOfAllowedLocations . notIn funciona como espera uma matriz e o parâmetro é uma matriz. Se olocation
recurso criado ou atualizado não estiver na lista aprovada, este elemento é avaliado como verdadeiro. - A segunda utilização também avalia a
location
propriedade, mas utiliza a condição notEquals para ver se o recurso é global. Se olocation
recurso criado ou atualizado não for global, este elemento é avaliado como verdadeiro. - A última utilização avalia a
type
propriedade e utiliza a condição notEquals para validar que o tipo de recurso não é Microsoft.AzureActiveDirectory/b2cDirectories. Se não for, este elemento é avaliado como verdadeiro.
Se as três instruções de condição no operador lógico allOf forem avaliadas como verdadeiras, a criação ou atualização de recursos será bloqueada por Azure Policy.
Passos seguintes
- Reveja outros padrões e definições incorporadas.
- Reveja a estrutura de definição do Azure Policy.
- Veja Compreender os efeitos do Policy.