This is a continuation of the articles
on infrastructure deployments. One of the popular instruments to exercise
governance on Azure resources is the Azure Policy. The definition and the
assignment constitute the policy. Assignments are used to define which
resources are assigned to which policies or initiatives. The assignment can
determine the values of the parameters for that group of resources at
assignment time which makes the definition reusable with different needs for
compliance.
Among the properties of the assignment, the enforcement mode
stands out. This property provides customers the ability to test the outcome of
a policy on existing resources without initiating the policy effect or
triggering entries in the Azure Activity Log. It is also referred to as the
“What If” scenario and aligns to safe deployment practices. When the mode is
set to Enabled, the JSON value is ‘Default’ and the policy effect is enforced
during resource creation or update. When the mode is set to Disabled, the JSON
value is ‘DoNotEnforce’ policy effect is not enforced during resource creation
or update. If the enforcement mode is not specified, the value ‘Default’
applies.
The scope of the assignment includes all child resource
containers and child resources. If a child resource container or child resource
should not have the definition applied, each can be excluded from the
evaluation by setting notScopes which defaults to an empty array [].
The effects currently supported in a policy definition
include Append, Audit, AuditIfNotExists, Deny, DenyAction, DeployIfNotExists,
Disabled, Manual, Modify. When the policy definition effect is Modify, Append,
or DeployIfNotExists, Policy alters the request or adds to it. When the policy
definition effect is Audit or AuditIfNotExists, Policy causes an Activity log
entry to be created for new and updated resources. And when the policy
definition effect is Deny or Deny action, Policy stops the creation or alteration
of the request. The effects must always be tried out. Validation of a policy
ensures that the non-compliant resources are correctly reported and that false
positives are excluded. The recommended approach to validating a new policy
definition is by following these steps: tightly defining the policy, auditing
existing resources, auditing new or updated resource requests, deploying policy
to resources, and continuous monitoring.
A differentiation between Audit and AuditIfNotExists must be
called out. Audit generates a warning event in the activity log if a related
resource does not exist but does not fail the request. AuditIfNotExists
generates a warning event in the activity log if a related resource does not
exist. The If condition evaluates a field so a value must be provided for the name
of the field. It references fields on the resources that are being evaluated.
No comments:
Post a Comment