Skip to content

Commit 7713fbf

Browse files
authored
Merge pull request #47364 from Tbohunek/patch-2
Link to [*] alias evaluation
2 parents f1e17be + 1bc0c1b commit 7713fbf

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

articles/governance/policy/concepts/definition-structure.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ ms.topic: conceptual
66
---
77
# Azure Policy definition structure
88

9-
Resource policy definitions are used by Azure Policy to establish conventions for resources. Each
10-
definition describes resource compliance and what effect to take when a resource is non-compliant.
9+
Azure Policy establishes conventions for resources. Policy definitions describe resource compliance [conditions](#conditions) and the effect to take if a condition is met. A condition compares a resource property [field](#fields) to a required value. Resource property fields are accessed by using [aliases](#aliases). A resource property field is either a single-valued field or an [array](#understanding-the--alias) of multiple values. Condition evaluation is different on arrays. Learn more about [conditions](#conditions).
10+
1111
By defining conventions, you can control costs and more easily manage your resources. For example,
1212
you can specify that only certain types of virtual machines are allowed. Or, you can require that
1313
all resources have a particular tag. Policies are inherited by all child resources. If a policy is
@@ -74,6 +74,9 @@ are:
7474
- `all`: evaluate resource groups and all resource types
7575
- `indexed`: only evaluate resource types that support tags and location
7676

77+
For example, resource `Microsoft.Network/routeTables` supports tags and location and would be evaluated in both modes.
78+
However, resource `Microsoft.Network/routeTables/routes` cannot be tagged, and would not be evaluated in `Indexed` mode.
79+
7780
We recommend that you set **mode** to `all` in most cases. All policy definitions created through
7881
the portal use the `all` mode. If you use PowerShell or Azure CLI, you can specify the **mode**
7982
parameter manually. If the policy definition doesn't include a **mode** value, it defaults to `all`
@@ -309,6 +312,10 @@ are case-insensitive. Case-insensitive alternatives are available in **matchInse
309312
**notMatchInsensitively**. For examples, see
310313
[Allow several name patterns](../samples/allow-multiple-name-patterns.md).
311314

315+
In an **\[\*\] alias** array field value, every element in the
316+
array is evaluated individually, with logical AND between elements. For more information, see
317+
[Evaluating the \[\*\] alias](../how-to/author-policies-for-arrays.md#evaluating-the--alias).
318+
312319
### Fields
313320

314321
Conditions are formed by using fields. A field matches properties in the resource request payload

0 commit comments

Comments
 (0)