{"id":3992,"date":"2026-10-11T20:51:04","date_gmt":"2026-10-11T20:51:04","guid":{"rendered":"https:\/\/www.exam-topics.com\/blog\/?p=3992"},"modified":"2026-10-19T10:16:06","modified_gmt":"2026-10-19T10:16:06","slug":"az-104-azure-policy-budgets-advisor-governance","status":"publish","type":"post","link":"https:\/\/www.exam-topics.com\/blog\/az-104-azure-policy-budgets-advisor-governance\/","title":{"rendered":"Microsoft AZ-104: Azure Policy, Budgets, and Advisor"},"content":{"rendered":"<h2>Policy, access, and costs enforce different outcomes<\/h2>\n<p>Azure resource management is easier to audit when permission, allowed configuration, and spending expectations are evaluated separately. Azure RBAC determines which principal may carry out an operation. Azure Policy evaluates resource state against assigned rules and can deny or audit noncompliant deployments. Budgets and cost alerts make spending observable; they do not automatically stop every resource deployment when a threshold is crossed. Treating those controls as one security setting leads to false expectations.<\/p>\n<p>Consider a team deploying test virtual machines across two subscriptions. Administrators must restrict permitted regions, require ownership tags, permit least-privileged operators, and alert finance when spending reaches a defined limit. The right design uses several controls at different scopes and includes a remediation path for older resources, not one all-powerful &#8216;governance&#8217; role.<\/p>\n<p>The current <a href=\"https:\/\/learn.microsoft.com\/en-us\/credentials\/certifications\/resources\/study-guides\/az-104\" rel=\"nofollow\">AZ-104 blueprint<\/a> covers Azure Policy, locks, tags, subscriptions, management groups, cost alerts, budgets and Azure Advisor. Start the lab with an explicit desired result for each. A compliant deployment, a denied deployment, a missing-tag audit finding, and a cost notification are distinct test outcomes.<\/p>\n<h2>Organize subscriptions and management groups intentionally<\/h2>\n<p>A management group provides a governance scope above subscriptions, which themselves contain resource groups and resources. Policy and role assignments can inherit down that hierarchy. Design a simple organization with a production management group and a testing management group. Put disposable subscriptions under the appropriate branch; do not build a deep tree that merely copies every team name into a new management group.<\/p>\n<p><a href=\"https:\/\/www.exam-topics.com\/blog\/microsoft-az-104-azure-resource-groups-locks-and-management-scope\/\">Management-group, subscription and resource-group scopes<\/a> govern inheritance, so the placement of a region restriction or operator role assignment changes which workloads it affects. Compare a policy applied to one test group with the same policy applied at subscription scope. A policy assigned too high can reject legitimate workloads; a privileged role granted too high enlarges the impact of a compromised account.<\/p>\n<p>Before moving a subscription between management groups, inventory inherited policies, access assignments, platform capabilities and billing considerations. A move can change effective governance even when none of the subscription&#8217;s resources changes. Capture the intended post-move policy and role outcomes, then validate them rather than assuming a tree view proves the migration is safe.<\/p>\n<h2>Design Azure Policy definitions, initiatives, and assignments<\/h2>\n<p>A policy definition expresses a rule and its effect. An initiative groups related policy definitions so a compliance program can assign and report them together. An assignment connects the definition or initiative to a scope with parameters, exclusions, and possibly a remediation identity. Keep these concepts separate; an unassigned definition does not constrain running resources.<\/p>\n<p>Start with a permitted-location policy and a tag policy. Test a new resource whose region violates the rule, another without the required tag, and a properly configured resource. Identify the applicable effect: deny, audit, append\/modify, or deploy-if-not-exists, when supported by the chosen policy definition. Do not say an audit effect blocks deployment or that remediation necessarily occurs merely because a compliance result is red.<\/p>\n<p>Microsoft&#8217;s <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/governance\/policy\/overview\" rel=\"nofollow\">Azure Policy documentation<\/a> distinguishes state evaluation from Azure role authorization. A user may have permission to create a resource but be stopped by an applicable deny policy. Conversely, an allowed policy state does not grant a user permission to deploy. Include both combinations in the lab so the diagnostic tree cannot conflate them.<\/p>\n<h2>Remediate existing resources without over-privileging automation<\/h2>\n<p>Compliance reports may evaluate both new and existing resources, but changing a policy effect or assignment does not necessarily rewrite an older resource immediately. Modify and deploy-if-not-exists patterns can use remediation tasks and managed identities with carefully scoped permissions. Check the exact effect&#8217;s supported behavior, identity requirements, and definition parameters; do not give every policy assignment Owner to avoid understanding its permissions.<\/p>\n<p>Plan a missing-tag remediation on a disposable resource. The assignment should target only the intended scope and have an approved identity or role assignment for the change. Confirm the object changed and the evaluation state after the remediation cycle. If policy reports an unexpected failure, inspect the activity and policy events, permission on the managed identity, and exemptions rather than adding a broad administrator role.<\/p>\n<p>Document exception governance. A policy exemption has a reason, owner, expiration or review decision and specific scope. Exempting the entire management group for one difficult VM defeats the original purpose. Use a narrow, reviewable exception and ensure the reader understands it is a governance decision, not a default fix for denied deployments.<\/p>\n<h2>Use tags and locks for different reasons<\/h2>\n<p>Tags classify resources for ownership, environment or cost allocation. They do not create a security perimeter and may not propagate automatically to every child resource. Test a tag policy at the resource-group scope and inspect which resources actually receive or require the value. Keep the application owner&#8217;s identifier and cost center consistent so reports can be interpreted.<\/p>\n<p>Resource locks protect against some accidental modification or deletion. They are not substitutes for least-privilege assignments and can interfere with operational deployments or backup integrations. ReadOnly and CanNotDelete have different consequences. Before assigning a subscription-level lock, test the effect on a service that needs to modify managed resources and create a documented exception or safe change procedure.<\/p>\n<p>Practice diagnosing a blocked update through the layers: identity, role, inherited policy, resource lock, provider registration, and service quota. A denial caused by a lock should not be &#8216;fixed&#8217; by creating another policy exemption. The existing RBAC topic complements this by focusing on the permissions calculation rather than resource-compliance evaluation.<\/p>\n<h2>Budgets, alerts, and Azure Advisor are signals, not spending switches<\/h2>\n<p>Azure Cost Management budgets track spending against a configured threshold and can trigger notifications or actions through integrations. A budget by itself is not a universal automatic spending cap. When a budget warning fires, the team still needs an owner, cost breakdown, and a decision about scaling, shutting down, or redesigning resources. Test this behavior in a sandbox using planned thresholds without relying on real production costs.<\/p>\n<p>Azure Advisor presents recommendations informed by observed resources. A recommendation to resize an underused VM may be useful, but changing a workload&#8217;s size can have consequences for performance, licensing, regional availability, or capacity reservations. Review business constraints before taking a recommendation as an absolute instruction. Keep a record of accepted and declined recommendations and their reasons.<\/p>\n<p>Use <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/cost-management-billing\/costs\/tutorial-acm-create-budgets\" rel=\"nofollow\">Microsoft&#8217;s budget guidance<\/a> and your own cost governance policy to define notification thresholds, recipient roles, and escalation. Separate current cost reporting from projected spending, and check whether the displayed scope is a subscription, resource group, or billing account. Budget forecasts are planning signals, not proof of a future charge.<\/p>\n<h2>Rehearse a resource deployment with failure injection<\/h2>\n<p>Create a disposable environment with one test subscription, two resource groups, an allowed-region policy, a tag requirement, a limited operator role, and a budget alert. Attempt a compliant resource deployment and deliberately try another in a forbidden region. Inspect the resulting policy event and the resource deployment history to identify where the request was stopped.<\/p>\n<p>Now remove the tag, trigger an audit or deny result according to the chosen definition, and plan a controlled remediation. Apply a lock and try an administrative change that the lock should affect. Separately, remove the operator&#8217;s role assignment and verify that a policy-compliant request is still denied for lack of permission. These tests isolate policy, RBAC, and lock behavior.<\/p>\n<p>Finish with a cost review and Advisor recommendation that records expected state, actual outcome, effective scope, applicable policies and roles, and any remediation decision. No real financial saving can be asserted from an unexecuted written lab. Governance enforcement, authorization and financial observation require separate evidence before a production change.<\/p>\n<h2>Distinguish three overlapping denial signals<\/h2>\n<p>Compare an authorization failure, an Azure Policy deny and a resource lock using the same test subscription. An identity missing an appropriate role cannot submit the desired resource action. A properly authorized user may then be denied by an inherited policy assignment even though its role appears valid. A lock might separately block a change or deletion that the role and policy would otherwise permit. Recording the failing control is more useful than giving the operator broader permissions.<\/p>\n<p>For a policy issue, inspect the definition, assignment parameters, scope, any exemption and the compliance or deployment event. A policy that only audits should not be described as denying the operation. For a lock, identify its type and inherited scope; for RBAC, inspect the role action and assignment scope. Make one approved correction and retest. Do not remove a management-group restriction across the estate for a single sandbox VM.<\/p>\n<h2>Treat budgets and Advisor as governance input<\/h2>\n<p>Build a cost-review worksheet with a resource owner, cost center, reviewed subscriptions, budget threshold, alert recipient, observed spend, forecast and follow-up action. Budget alerts do not automatically stop every billable operation: that would require a separate authorized action designed for the resources involved. Azure Advisor recommendations may be based on performance, reliability, security or cost signals, and should be reviewed against application requirements rather than accepted blindly.<\/p>\n<p>Connect the decision to the <a href=\"https:\/\/www.exam-topics.com\/blog\/az-104-bicep-arm-templates-deployment-changes\/\">Bicep deployment controls<\/a> used for repeatable environments. A compliant template should respect the team&#8217;s tag policy and allowed regions, but validation of template syntax does not override RBAC or policy. Capture the expected and actual control-plane outcome, then close the sandbox resources so the exercise does not create an unbounded recurring charge.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Administer Azure Policy assignments, remediation, resource hierarchy, budgets, alerts, and Advisor without confusing financial observation with RBAC enforcement.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[341,2],"tags":[],"et_vendor":[],"et_program":[],"et_certification":[],"et_exam":[],"et_topic":[],"class_list":["post-3992","post","type-post","status-publish","format-standard","hentry","category-microsoft-az-104","category-post"],"_links":{"self":[{"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/posts\/3992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/comments?post=3992"}],"version-history":[{"count":4,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/posts\/3992\/revisions"}],"predecessor-version":[{"id":4959,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/posts\/3992\/revisions\/4959"}],"wp:attachment":[{"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/media?parent=3992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/categories?post=3992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/tags?post=3992"},{"taxonomy":"et_vendor","embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/et_vendor?post=3992"},{"taxonomy":"et_program","embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/et_program?post=3992"},{"taxonomy":"et_certification","embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/et_certification?post=3992"},{"taxonomy":"et_exam","embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/et_exam?post=3992"},{"taxonomy":"et_topic","embeddable":true,"href":"https:\/\/www.exam-topics.com\/blog\/wp-json\/wp\/v2\/et_topic?post=3992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}