Courseiva
Describe Azure management and governanceeasyMultiple ChoiceObjective-mapped

AZ-900 Describe Azure management and governance Practice Question

A company needs to ensure that all Azure resources have a mandatory 'CostCenter' tag. If a resource is created without this tag, the resource creation should be blocked. Which Azure Policy effect should they use?

⚠ Common exam trap

Many exam-takers confuse 'Deny' with 'Append' because both can enforce tags, but Append only adds the tag after creation and does not block the resource if the tag is missing, failing the requirement to block creation entirely.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

Deny

The Deny effect is correct because it actively blocks any resource creation or update that does not comply with the policy rule, such as missing the mandatory 'CostCenter' tag. This ensures that non-compliant resources are never provisioned, enforcing governance at the point of creation.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Append

    Why it's wrong here

    Append is a policy effect that injects additional fields—such as a default costcenter tag value—into the resource deployment request before the resource is provisioned. However, it only adds the tag when it is missing; if a resource already has a different costcenter value, Append cannot change it, and it never forbids the creation of a resource with an incorrect tag. This means non-compliant resources can still be created, which is why Append does not enforce a mandatory tag.

    When this WOULD be correct

    Use Append when you need to automatically add a missing tag (e.g., 'CostCenter') to existing resources during evaluation, without blocking creation. For example, a policy that adds a department tag to all resources that lack it.

  • Deny

    Why this is correct

    Deny is the only Azure Policy effect that blocks the resource provider request before deployment. When a resource is submitted without the costcenter tag, the policy engine evaluates the request and returns an error (e.g., 403 or 409), so the resource creation fails entirely. This guarantees that every successfully created resource already carries the tag, making it the correct choice for a mandatory tagging requirement.

  • Audit

    Why it's wrong here

    Audit does not interfere with the creation pipeline; it allows the resource to be created while registering it as non-compliant in the Azure Policy compliance report and emitting an activity log entry. This effect is ideal for generating a compliance inventory without disrupting existing workloads, but it cannot enforce the costcenter tag because the resource will still exist even if the tag is missing. Thus, it is insufficient for a strict mandatory requirement.

    When this WOULD be correct

    Use Audit when the requirement is to monitor and report on resources missing the 'CostCenter' tag, but not to block creation—for example, to track compliance over time without disrupting operations.

  • DeployIfNotExists

    Why it's wrong here

    DeployIfNotExists triggers a secondary ARM deployment after the evaluated resource has been created, which can then add the missing costcenter tag. Because the initial resource creation is permitted, there is a temporary window of non-compliance, and enforcement depends on the separate remediation deployment succeeding. It is a corrective mechanism, not a preventive guardrail, so it does not satisfy a policy that requires all resources to have the tag from creation onward.

    When this WOULD be correct

    A scenario where the company wants to automatically apply the 'CostCenter' tag to any resource created without it, without blocking creation. For example: 'A company needs to ensure all Azure resources have a 'CostCenter' tag; if a resource is created without it, the tag should be automatically added.'

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The AZ-900 exam frequently reuses these exact scenarios with slightly different constraints.

DenyCorrect answer

Why this is correct

Deny is the only Azure Policy effect that blocks the resource provider request before deployment. When a resource is submitted without the costcenter tag, the policy engine evaluates the request and returns an error (e.g., 403 or 409), so the resource creation fails entirely. This guarantees that every successfully created resource already carries the tag, making it the correct choice for a mandatory tagging requirement.

AppendWrong answer — click to see why

Why this is wrong here

Append adds tags to existing resources but does not block creation of resources without the required tag, so it cannot prevent non-compliant resource creation.

★ When this WOULD be the correct answer

Use Append when you need to automatically add a missing tag (e.g., 'CostCenter') to existing resources during evaluation, without blocking creation. For example, a policy that adds a department tag to all resources that lack it.

Why candidates choose this

Candidates may think Append can enforce tagging by adding the tag automatically, but they overlook that Append does not block creation; it only modifies existing resources after creation.

AuditWrong answer — click to see why

Why this is wrong here

Audit only logs non-compliant resources without blocking creation; it does not prevent a resource from being created without the required tag.

★ When this WOULD be the correct answer

Use Audit when the requirement is to monitor and report on resources missing the 'CostCenter' tag, but not to block creation—for example, to track compliance over time without disrupting operations.

Why candidates choose this

Candidates may confuse 'Audit' with a blocking effect, thinking it can enforce tags by logging violations, but it lacks the deny capability needed to stop resource creation.

DeployIfNotExistsWrong answer — click to see why

Why this is wrong here

DeployIfNotExists is used to deploy resources (like a remediation task) if a non-compliant resource exists, but it does not block resource creation. The question requires blocking creation, which only Deny can do.

★ When this WOULD be the correct answer

A scenario where the company wants to automatically apply the 'CostCenter' tag to any resource created without it, without blocking creation. For example: 'A company needs to ensure all Azure resources have a 'CostCenter' tag; if a resource is created without it, the tag should be automatically added.'

Why candidates choose this

Candidates may think DeployIfNotExists can enforce tags by automatically adding them, but they overlook that it does not prevent creation of non-compliant resources in the first place.

Analysis generated from the official AZ-900blueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

About these practice questions

This AZ-900 question is part of Courseiva's 981-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This AZ-900 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-900 exam.