AZ-104: Identities & Governance

Manage Identities & Governance — MOC

MS Learn path: Manage identities and governance in Azure Covers the Identity & Governance skill area of the AZ-104 exam.

Map / Canvas

The core idea

Administrators must control who can access what, and enforce how the environment is governed (cost, compliance, standards). Two halves:

Concepts (linked from here)

Identity

Governance

Modules in this path

Skills measured (current exam blueprint)

  1. Manage Entra users and groups: properties, licenses, external users, and SSPR.
  2. Manage Azure access: built-in roles, assignments at scope, and interpretation of effective access.
  3. Manage governance: Policy, locks, tags, resource groups, subscriptions, budgets/Advisor, and management groups.

Route check: Before moving on, explain why Entra ID authenticates, RBAC authorizes, and Policy governs configuration. Then complete the foundation/governance lab.

Cross-module lab

Practice questions

Conceptual checkpoint

Explain the sequence in this path using one workload scenario: identify the boundary being changed, the identity or tool acting on it, the expected evidence, and the failure that would change your decision.

Sources and re-audit

Re-audit when the AZ-104 course path, study-guide effective date, or the services and permissions taught here change.

Microsoft Entra ID (formerly Azure Active Directory)

What it is

Microsoft Entra ID is Microsoft’s cloud-based identity and access-management service. It stores identities such as people, groups, devices, and applications; verifies a sign-in (authentication, “who are you?”); and can enforce sign-in policies. It was formerly called Azure Active Directory (Azure AD).

Why it exists

An organization needs one place to recognize its people and workloads across Azure, Microsoft 365, and connected apps—without running cloud domain controllers. An Entra tenant is that organization’s isolated directory.

Key ideas

  • Tenant: the isolated Entra directory for an organization. An Azure subscription trusts one tenant for identity.
  • Directory objects: users, groups, devices, applications, service principals, and managed identities.
  • Single sign-on (SSO): after a successful Entra sign-in, connected applications can reuse that identity experience instead of each asking for a separate password.
  • Policy is contextual: Conditional Access can require controls such as MFA based on the sign-in and policy conditions.
  • Not a domain controller: Entra ID can join and manage modern devices, but it is not Windows Server AD DS. A legacy workload needing LDAP, Kerberos/NTLM, or Group Policy needs AD DS-compatible services.

Components relevant to AZ-104

Relationship to RBAC

Azure RBAC authorizes access to Azure resources. Entra ID supplies the identity RBAC evaluates. Entra also has directory roles for managing Entra objects. In short: Entra helps establish who or what is asking; the assigned role and scope decide what that identity may do.

Northwind example

Maya creates an Entra group named Northwind-Platform-Admins, then assigns that group an Azure role at the appropriate scope. When Luis joins the platform team, Maya adds him to the group instead of making several separate role assignments. A Conditional Access policy asks Luis for MFA when its conditions require it. The group is not the resource permission by itself—it is a convenient way to give the same assignment to the right people.

Diagram

entraid - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: entra/identity/entra-overview

Exam notes

  • Entra ID = cloud identity, authentication, and policy layer. Azure RBAC = Azure-resource authorization layer.
  • Rebranded from Azure AD in 2023; the exam may still reference “Azure AD” — same thing.
  • A tenant = the container for identities; a subscription = a container for resources that trusts a tenant.

rbac · user-account · service-principal · mfa · conditional-access · tenant

📘 Sources: Microsoft Learn — What is Microsoft Entra? and Azure AD naming change.

Microsoft Entra tenant

What it is

A Microsoft Entra tenant is an organization’s dedicated identity directory in Microsoft Entra ID. It contains identities and directory settings, including users, groups, applications, and devices. Think of it as Northwind’s sign-in directory, not as the folder that holds its Azure servers or invoices.

Why it exists

Because Azure is shared infrastructure, each org needs an isolated directory where its identities live and are managed. The tenant defines the trust and isolation boundary — identities, data and settings in one tenant are isolated from others.

How it relates to Azure

  • Each Azure subscription trusts one Entra tenant at a time. The tenant supplies the identities; Azure RBAC assignments decide what those identities may do in the subscription.
  • One tenant can be associated with many subscriptions and one management-group hierarchy.
  • Tenants are isolated by default, but organizations can configure collaboration and cross-tenant access. That does not merge their directories into one tenant.

Northwind example

Maya creates users for Luis and Priya, an Orders deployers group, and an application identity in Northwind’s tenant. The production subscription trusts that tenant. A role assignment then lets the deployers group manage only the ordering resource group. The tenant proves and manages identities; the subscription holds the resources and billing boundary.

Common confusion

  • A tenant is not a subscription, management group, resource group, Azure region, or DNS domain for an application.
  • Signing in successfully proves identity; it does not by itself grant Azure-resource access.
  • “Azure AD” is the former name for Microsoft Entra ID. Older documentation and exam material may use either name.

How it fits (diagram)

Where it appears in the route

Use this entry with entraid, rbac, and azure-management-hierarchy before configuring people or workload identities.

entraid · subscription · user-account · management-groups · rbac · northwind-traders-case-study

📘 Source: Microsoft Learn — What is Microsoft Entra ID?, checked 2026-09-16.

User account

What it is

A user account is a Microsoft Entra identity record that represents a person who can sign in. It has a unique object ID in a tenant, sign-in information, and properties such as name and department. A user account proves who someone is; it does not automatically give that person permission to manage Azure resources.

Why it exists

People need a consistent identity to sign in, use applications, reset passwords, and receive access through groups or assignments. Microsoft Entra authenticates the identity; resource services decide what that identity is allowed to do.

Key ideas

  • UPN is a sign-in-style name such as [email protected]. It is not the immutable object ID and should not be confused with an email address or a resource permission.
  • Cloud-only and synchronized accounts have different sources of authority. A cloud-only account is managed in Entra; changes for an account synchronized from on-premises Active Directory usually originate in that on-premises directory.
  • Member and guest are directory user types, not permission levels. An external collaborator can be an external guest or external member depending on the scenario. Either still needs appropriate app, group, or Azure RBAC access.
  • Directory roles and Azure roles differ. An Entra directory role can allow identity administration. An Azure RBAC role authorizes actions on Azure resources at a scope such as a subscription or resource group.
  • Account lifecycle matters. Administrators can block sign-in, remove access, or delete an account. Deleted users remain restorable for a limited period, so offboarding should also remove group and resource access deliberately.

Northwind example

Maya creates an account for Luis, a new Northwind app owner, with the UPN [email protected]. Adding Luis to the Order-App-Operators group gives him the application role the group was designed to grant. It does not make him an Azure subscription administrator. Maya separately assigns the minimum Azure RBAC role at the order application’s resource group. When a partner joins for a short review, Maya invites them as a guest and grants only the specific group or resource access they need.

How it fits (diagram)

Exam notes

  • Authentication identifies the user; Azure RBAC authorizes resource actions.
  • A UPN is a user property, while the object ID is the durable identifier useful in investigations.
  • Guest/member type does not replace least-privilege group, application, or Azure RBAC assignments.

entraid · groups · tenant · service-principal · mfa

📘 Source: Microsoft Learn — Create, invite, and delete users

Microsoft Entra groups

What it is

A group is a named list of directory objects in Microsoft Entra ID. It lets a team assign the same access or policy to many people or devices without repeating the assignment person by person.

Why it exists

Assigning access one person at a time is slow and easy to miss during staff changes. Assign an appropriate role or policy to a group, then manage membership. The assignment still needs least-privilege review; a group is a management tool, not an automatic permission level.

Key ideas

  • Security group: commonly used to manage access to shared resources. Its members can include users, devices, and service principals.
  • Microsoft 365 group: supports collaboration experiences; its membership model differs from a security group.
  • Assigned membership: an owner adds and removes named members.
  • Dynamic membership: Entra evaluates a rule against user or device attributes and updates membership. A dynamic group is for users or devices, not both at once.
  • Nested groups: are possible in some cases, but do not assume every service or role assignment follows nested membership. Verify the target service’s behavior.

Northwind example

Maya creates Northwind-Order-App-Readers as a security group. She assigns the group a read-only role for the ordering workload, then adds the support staff who need that access. When Ana changes teams, removing Ana from the group removes the access delivered through that group assignment. For a broad, attribute-based population such as “employees in the Operations department,” Maya can evaluate a dynamic-membership rule—but she reviews the rule carefully because a bad attribute can grant access to the wrong people.

Exam notes

  • Prefer a well-managed group over repeated individual assignments when the same access is genuinely shared.
  • Dynamic groups are a recurring AZ-104 concept — membership updates automatically based on attributes.
  • Know the difference between Assigned and Dynamic membership types.

entraid · user-account · rbac · role-assignment

📘 Source: Microsoft Learn — Group types, membership types, and access management

Service principal (app identity)

What it is

A service principal is the Microsoft Entra identity that represents an application, automation process, or service inside a tenant. It lets a non-human workload sign in and then receive permissions. Think of it as Northwind’s employee badge for software, not an extra human account.

Why it exists

Apps and automation need to authenticate and be authorized without human credentials. A service principal can use a certificate, client secret, or federated credential; CI/CD (Pipelines/github-actions), scripts, and services then receive only the RBAC access they need.

Key ideas

  • An application object describes an application. A service principal is that application’s local identity representation in a tenant. An application can have service principals in multiple tenants.
  • A service principal can authenticate using a certificate, a client secret, or a federated credential. Credentials are sensitive; prefer a managed identity for supported Azure-hosted workloads, or federation for supported external automation.
  • Authentication proves the software’s identity. RBAC or a service’s own authorization then grants the minimum access it needs.
  • A managed identity has a backing service principal, but Azure manages its credentials and lifecycle differently from an application registration.

Northwind example

Northwind’s deployment system needs permission to deploy the ordering application. It uses a service principal with a federated credential rather than saving a long-lived client secret in the pipeline. Maya grants that identity only the deployment permissions it needs at the production resource-group scope. The pipeline can authenticate as its service principal, but it cannot read order receipts unless a separate data permission is granted.

Common confusion

  • A service principal is not automatically an administrator. It has no useful Azure access until a role assignment or service-specific authorization grants it.
  • A client secret is a credential for a service principal, not the service principal itself.
  • Do not use a shared human user account as an application’s identity. It obscures accountability and makes rotation/offboarding unsafe.

How it fits (diagram)

service-principal - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: entra/identity-platform/app-objects-and-service-principals

Exam notes

  • Managed identities are the recommended way to give Azure workloads access to Azure resources.
  • System-assigned (tied to one resource) vs user-assigned (shared across resources) — know the difference.
  • Service principals need the right role (e.g. Contributor, or a custom role) — least privilege.

entraid · rbac · user-account · managed-identity · key-vault · azure-pipelines · northwind-traders-case-study

📘 Source: Microsoft Learn — Application and service principal objects, checked 2026-09-16. Re-audit when service-principal, managed-identity, or workload-federation behavior changes.

Multifactor authentication (MFA)

What it is

Multifactor authentication (MFA) asks for two or more independent proofs during a sign-in. For example, a password is something you know and a prompt in Microsoft Authenticator or a security key is something you have. A fingerprint or face scan can be something you are.

Why it exists

Passwords can be guessed, reused, phished, or exposed. MFA adds another check, making a stolen password alone less useful to an attacker. It reduces risk; it does not make a badly designed access policy safe by itself.

Key ideas

  • Methods: Microsoft Entra supports methods including Microsoft Authenticator, passkeys, Windows Hello for Business, certificates when configured for MFA, hardware or software OATH tokens, SMS, and voice calls. The safe and available choice depends on the tenant’s policy and scenario.
  • Security defaults: a tenant-wide starting configuration that can quickly enable Microsoft Authenticator for users.
  • Conditional Access: adds more precise rules, such as requiring MFA for a particular app or sign-in context. It is the usual choice when the organization needs that control.
  • Registration: users must enroll permitted methods before they can complete a challenge. Plan a safe registration and recovery path, especially for administrators.

Northwind example

Luis signs in to the Northwind ordering portal. His password proves one factor; an Authenticator approval supplies another. Northwind uses Conditional Access to require MFA for the protected application under its chosen conditions. If Luis loses his phone, the help-desk recovery process—not a public IP address or Azure RBAC role—determines how he safely enrolls another method.

How it fits (diagram)

mfa - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: entra/identity/authentication/concept-mfa-howitworks

Exam notes

  • MFA proves a sign-in; it does not decide which Azure resources the signed-in person may manage. That is an authorization decision such as rbac.
  • MFA challenges are part of the Microsoft Entra sign-in experience, so applications normally do not each need their own MFA implementation.

conditional-access · entraid · password-reset

📘 Source: Microsoft Learn — How Microsoft Entra MFA works

Self-service password reset (SSPR)

What it is

Self-service password reset (SSPR) lets an enabled user reset or unlock their own Microsoft Entra password without calling IT. Before it can work, the user registers security methods and completes the organisation’s required verification steps.

Why it exists

Password resets are common help-desk work. SSPR gives people a recovery route while requiring more evidence than simply knowing a username. It is about password recovery; it is not the same control as multifactor authentication or Azure RBAC.

Key ideas

  • Scope comes first — an administrator enables SSPR for selected users or everyone. A person outside that scope cannot self-reset.
  • Registration is the preparation step — users register security information before losing access. The organisation chooses allowed methods and whether one or two methods are required. Requiring two independent methods provides stronger recovery evidence.
  • Administrators have extra protection — Microsoft Entra applies a separate, stronger two-gate reset policy to administrator accounts. Do not assume an ordinary user’s recovery configuration applies unchanged to privileged accounts.
  • On-premises passwords are a special case — if the password is mastered in on-premises Active Directory, password writeback must be configured for an Entra reset to update that on-premises password. Without it, the user needs an administrator’s help.
  • Emergency access is a deliberate design — a break-glass account is an organisation-created, tightly protected recovery account; it is not a built-in account that automatically solves every reset failure.

Northwind example

Luis signs in to Northwind’s ordering application with his Entra account. Before a trip, he registers Microsoft Authenticator and a second approved method. When he forgets his password, SSPR verifies the required methods and lets him choose a new password without waiting for Maya in IT. If Luis’s account instead used an on-premises password and Northwind had not configured password writeback, that same web reset would not update the on-premises directory.

How it fits (diagram)

password-reset - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: entra/identity/authentication/concept-sspr-howitworks

Exam notes

  • SSPR must be enabled for the user and requires registered security information.
  • SSPR, MFA, and RBAC solve different problems: recovery, sign-in verification, and authorization.
  • Verify the separate administrator reset policy and password-writeback requirement when a scenario includes privileged or hybrid identities.

entraid · mfa · user-account · conditional-access

📘 Source: Microsoft Learn — How SSPR works

Conditional Access

What it is

Conditional Access (CA) is Microsoft Entra ID’s sign-in policy engine. It evaluates signals—such as the user, application, location, device, or detected risk—and applies an “if this, then that” decision. For example: “if an administrator accesses Azure management, require MFA.”

Why it exists

A single rule does not fit every sign-in. Conditional Access lets an organization add the right control when the context calls for it—such as blocking legacy authentication or requiring MFA for an administrative app—without granting any Azure resource permission.

Key ideas

  • Assignments: target users, groups, workloads, cloud apps, and conditions such as locations or device state.
  • Decisions: block access, or grant access while requiring a control such as MFA, an authentication strength, a compliant device, a hybrid-joined device, a password change, or terms of use.
  • Session controls: can govern a successful session, for example sign-in frequency or app-enforced restrictions.
  • First-factor timing: CA is evaluated after first-factor authentication. It is not a frontline defence against denial-of-service attacks.
  • Safe rollout: use report-only mode and the What If tool, pilot with a small group, and preserve tested emergency-access accounts before enforcing a broad policy.
  • Licensing: Conditional Access requires Microsoft Entra ID P1 (or an included eligible license); risk-based policies require Entra ID Protection/P2.

Northwind example

Northwind targets its Azure-management application with a policy: platform administrators must complete MFA. Maya first runs the policy in report-only mode and checks how it would affect the administrator group. The policy decides whether Maya can complete the sign-in; Azure RBAC still decides whether she may restart a particular VM after signing in.

How it fits (diagram)

conditional-access - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: entra/identity/conditional-access/overview

Exam notes

  • CA is a sign-in policy with assignments, conditions, and controls—not an Azure RBAC role.
  • A broad policy without testing can lock out legitimate users or administrators.

entraid · mfa · user-account · azure-ad-roles

📘 Source: Microsoft Learn — What is Conditional Access?

Microsoft Entra roles

What it is

Microsoft Entra roles grant permission to manage identity-directory objects and settings: users, groups, applications, devices, domains, and tenant-wide identity features. They are distinct from Azure RBAC roles, which grant permission to manage Azure resources such as VMs and storage accounts.

Why it exists

An organization needs to delegate work such as resetting a password or managing an application without making every helper a Global Administrator. Entra built-in roles provide narrower directory permissions.

Key ideas

  • Examples: Global Administrator manages all aspects of Entra ID and Microsoft services that use Entra identities; User Administrator manages users; Password Administrator resets eligible passwords; Application Administrator manages app registrations and enterprise apps; Groups Administrator manages groups and group settings.
  • Scope: many roles are tenant-wide. Some can be scoped to an administrative unit, limiting which directory objects the administrator manages.
  • Separate plane: Entra User Administrator does not grant access to a VM or storage account. Those actions require Azure RBAC at the appropriate Azure scope.
  • Least privilege: use the narrowest role that accomplishes the delegated task, and reserve Global Administrator for the few people who truly need it.

Northwind example

Priya in the Northwind help desk receives a suitable directory role to reset eligible user passwords. She does not receive Global Administrator or Azure VM Contributor. When a developer needs to manage an Azure resource, Maya gives a separate Azure RBAC assignment at the smallest relevant scope. One person can hold both kinds of role, but one does not automatically create the other.

How it fits (diagram)

azure-ad-roles - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: entra/identity/role-based-access-control/rbac-and-directory-admin-roles

Exam notes

  • Entra roles authorize the directory and identity plane; Azure RBAC authorizes Azure resources.
  • Global Administrator is highly privileged; it is not an Azure Owner assignment.

entraid · rbac · user-account · conditional-access

📘 Source: Microsoft Learn — Microsoft Entra built-in roles

Role-Based Access Control (RBAC)

What it is

Azure role-based access control (RBAC) is Azure’s authorization system. It answers three questions: who is asking, what are they allowed to do, and where does that permission apply? It can decide, for example, whether Luis may restart a VM, create a resource, or read blobs at a particular scope.

Why it exists

To enforce the least-privilege principle at scale: give each user/service exactly the permissions they need, no more, and manage that centrally rather than per-resource.

The three pieces

  1. A security principal is the identity requesting access: a user, group, service principal, or managed identity.
  2. A role definition is the permission set, such as Reader, Contributor, or a data-specific role like Storage Blob Data Reader.
  3. A scope is where the role applies: management group, subscription, resource group, or resource.

security principal + role + scope = assignment

Northwind example

Northwind puts Luis in an Entra group called Orders deployers. Maya assigns that group the Contributor role at the orders-production resource group. The group is the principal, Contributor is the role, and orders-production is the scope. Luis can manage that ordering workload, but the assignment does not grant him access to another resource group or subscription unless another role assignment does.

If Maya instead assigned the role to the production subscription, it would reach every resource group below it. The permission word “Contributor” has not changed; the scope has made it much broader.

Identity versus RBAC

Microsoft Entra ID authenticates an identity: “this is Luis.” RBAC authorizes a known identity: “Luis may manage this resource group.” Authentication alone does not create Azure-resource permission.

How access is evaluated

RBAC role assignments are additive. Azure considers the assignments for the principal and its groups at the resource and its parent scopes. A narrower allow does not cancel a broader allow. Applicable deny assignments can block access, and role-assignment conditions can impose extra requirements. This is why checking just one assignment or a person’s job title is not enough to diagnose access.

Prefer group-based assignments and built-in roles where they fit. Use a custom role only when its precise permissions are required and can be maintained safely. Grant the narrowest scope that lets someone complete their work.

Common confusion

  • Reader can view management information but does not automatically read the data inside every service. Data-plane access may require a service-specific data role.
  • Contributor can manage many resources but cannot assign Azure roles by default. Do not treat it as Owner.
  • Azure Policy governs what a resource configuration may look like; RBAC governs who may perform an action. A user can have RBAC permission to create a VM and still be stopped by a policy that denies its region or SKU.

Diagram

rbac - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: role-based-access-control/overview

entraid · role-definition · role-assignment · scope · subscription · resource-group · azure-policy · northwind-traders-case-study

📘 Source: Microsoft Learn — Azure RBAC, checked 2026-09-16. Re-audit when role-assignment evaluation or built-in role behavior changes.

Role definition (RBAC)

What it is

A role definition is the “what may this identity do?” template in Azure RBAC. It is a named collection of permissions, such as the action to start a VM. It becomes effective only when a role assignment gives it to a principal at a scope.

Why it exists

Roles let you express permissions as a reusable, named unit (Reader, Contributor, Owner) instead of raw action lists, so assignments are readable and auditable.

Key ideas

  • Built-in roles: common examples are Owner (manage resources and role assignments), Contributor (manage resources but not role assignments), Reader (view resources), and User Access Administrator (manage user access). The exact permissions live in the role definition, not in the friendly name alone.
  • Management versus data plane: an Azure-resource management role does not automatically grant data access. A role such as Storage Blob Data Reader grants data-plane access to blobs; a management role can manage the storage account without necessarily reading its blobs.
  • Custom roles: use only when a built-in role cannot meet a real least-privilege need. They list allowed Actions and DataActions, with NotActions and NotDataActions exclusions. They are defined for one or more assignable scopes.
  • Wildcard caution: * is broad. Treat it as a design decision that needs review, not as a convenient default.

Northwind example

Northwind gives its deployment group the built-in Contributor role at one application resource group. That lets the group manage the application resources but not create role assignments. The application’s managed identity separately receives Storage Blob Data Reader only on the required storage scope. These are different role definitions because managing the storage account is not the same as reading its customer files.

How it fits (diagram)

Exam notes

  • Contributor vs Owner: a key difference is that Owner can manage role assignments while Contributor cannot.
  • Built-in roles are the default answer; custom roles are the exception.
  • Data-plane roles (storage/SQL) are distinct from control-plane roles.

rbac · role-assignment · scope · service-principal

📘 Source: Microsoft Learn — Understand Azure role definitions

Role assignment (RBAC)

What it is

A role assignment is the record that joins three Azure RBAC elements:

Security principal (who) + role definition (what they can do) + scope (where) = an assignment.

A role definition by itself grants nobody anything. The assignment is the answer to “who has which permissions, at which Azure scope?”

Why it exists

Access is a relationship, not a property. Assignments make “who can do what, where” explicit, auditable, and scoped, which is how least-privilege gets implemented and governed.

Key ideas

  • Principal: a user, group, service principal, or managed identity that receives the role.
  • Scope: management group → subscription → resource group → resource. An assignment inherits to child scopes, so a subscription-level role can be very broad.
  • Least privilege: prefer a well-managed group and the highest scope that is still narrow enough for the job. “Highest” does not mean “subscription” by default.
  • Who can create it: the person or automation needs permission for Microsoft.Authorization/roleAssignments/write at the target scope. Common built-in ways to receive that permission include Owner or User Access Administrator; Contributor does not receive it by default.

Northwind example

Maya assigns the Reader role to Northwind-Auditors at one production resource group. Every member can see resources in that group and its children, but not modify them or see unrelated subscriptions. Assigning the same group at the subscription scope would widen access to all resource groups below it, so she avoids it unless that is the intended responsibility.

How it fits (diagram)

Exam notes

  • Know the scope hierarchy and inheritance.
  • A role assignment is not a login account, and it does not replace a Conditional Access policy.

rbac · role-definition · scope · groups · service-principal

📘 Source: Microsoft Learn — Assign Azure roles using the Azure portal

Scope

What it is

Scope is the part of Azure to which a setting applies. For Azure RBAC, the management scope hierarchy is:

Management group → Subscription → Resource group → Resource

The higher the scope, the wider the effect. Scope lets Maya give Luis permission only for Northwind’s ordering resource group instead of every subscription, while still letting an organization apply a required policy to several subscriptions at once.

How it works

  • An Azure RBAC role assignment at a higher scope, such as a subscription, is inherited by lower scopes. A narrower allow assignment adds permission; it does not remove a broader allow.
  • An Azure Policy assignment at a management group affects descendant subscriptions and their resources, subject to its configuration and exclusions.
  • Effective access is the combined set of applicable role assignments, constrained by applicable deny assignments. “More specific” does not automatically beat “broader.”

Northwind example

Maya assigns Luis Contributor at the orders-production resource group. He can manage that workload but not Northwind’s unrelated finance resources. If Maya instead assigned the same role at northwind-production subscription scope, Luis would inherit it for every resource group in that subscription. If she assigned it at the Production management group, he could inherit access into every descendant production subscription. The permission name is unchanged; the scope changes its reach.

Common confusion

  • Scope answers “where does this setting apply?”, not “who is the person?” The identity is the principal; the role assignment connects the principal, role, and scope.
  • The Microsoft Entra tenant is an identity boundary. The four usual Azure management scopes are management group, subscription, resource group, and resource.
  • Azure Policy, RBAC, locks, and tags all use scopes, but they have different behavior. Do not assume a tag or an RBAC assignment can do what a Policy assignment does.

How it fits (diagram)

Practical rule

Grant access at the narrowest scope that lets the person do their work. Apply broad organization-wide governance only where the rule truly must cover every descendant. Then test the effective access and policy result rather than inferring it from a resource’s name or folder-like appearance.

azure-management-hierarchy · management-groups · subscription · resource-group · role-assignment · azure-policy · northwind-traders-case-study

📘 Source: Microsoft Learn — Understand scope for Azure RBAC, checked 2026-09-16.

Azure Policy

What it is

Azure Policy is Azure’s rules engine for resource configuration. It compares resources and management actions with rules your organization assigns, such as “deploy only in approved regions” or “add a cost-center tag.” It can report a mismatch, block a non-compliant change, alter a resource, or deploy related configuration, depending on the policy effect.

Why it exists

People make mistakes. Policy lets an org codify governance so non-compliant resources are automatically flagged (and optionally prevented/denied) at scale across subscriptions — regardless of who creates them.

The pieces

  • A definition states one rule. Azure supplies built-ins and organizations can create custom definitions.
  • An initiative groups several definitions for one goal, such as a security baseline.
  • An assignment applies a definition or initiative at a scope. Child scopes inherit it unless excluded.
  • The effect says how Azure responds. Audit reports non-compliance; Deny prevents the non-compliant create or update; Modify or DeployIfNotExists can change or add supported configuration and can require remediation for existing resources.

Northwind example

Maya assigns an “allowed locations” policy to Northwind’s Production management group. When Luis tries to create a production VM in an unapproved region, a Deny effect blocks the request even if his RBAC role lets him create VMs. A different tagging policy first uses Audit, so Northwind can see which resources lack a costCenter tag before deciding whether to use Modify or Deny.

This example shows the division of labor: RBAC asks whether Luis may create a VM; Policy asks whether the requested VM configuration follows Northwind’s rule.

Use it safely

Start an unfamiliar policy in audit mode when practical. Review existing resources, automation, exclusions, and remediation permissions before enforcing with Deny, Modify, or DeployIfNotExists. A policy assignment is powerful at a management-group scope: one mistaken rule can affect many subscriptions.

Common confusion

  • Policy does not replace RBAC. It normally does not grant a user permission to act.
  • A policy definition alone does nothing until it is assigned to a scope.
  • A compliance report does not automatically fix existing resources. Remediation is effect- and resource-specific.
  • A more-permissive child assignment does not override an inherited deny. Change or exclude the broader assignment instead.

How it fits (diagram)

azure-policy - Microsoft diagram

Diagrams courtesy of Microsoft Learn / Azure docs: azure-policy/overview

Where it appears in the route

Read azure-management-hierarchy and scope before using this entry in AZ-104 foundation.

management-groups · scope · rbac · resource-tags · northwind-traders-case-study

📘 Source: Microsoft Learn — Azure Policy overview, checked 2026-09-16.

Tags

What it is

Tags are key-value metadata you add to Azure resources, resource groups, and subscriptions. Examples include environment=production, costCenter=retail, and owner=orders-team. A tag makes a resource easier to find, group, report on, and automate; it does not change what the resource can do.

Why it exists

Tags let you organize, classify, and query resources for cost reporting, resource management/filtering, and automation — Azure Cost Management and many dashboards group by tag. They support policy-driven tagging standards (e.g. require a costcenter tag via Policy).

Key ideas

  • A tag is plain-text metadata. Never place passwords, tokens, personal data, or other secrets in a tag: tags can surface in reports, deployment history, commands, and logs.
  • Tags do not automatically inherit from a resource group or subscription to resources. Azure Policy can enforce or add an inheritance pattern where suitable; Cost Management tag inheritance is a separate reporting feature and does not necessarily write the tag onto the resource.
  • Tags do not grant access. RBAC authorizes people and workloads; Policy governs allowed configuration; tags add business context.
  • Tag support and limits vary by resource type. Confirm support for a specific resource before making a workflow depend on it.

Northwind example

Northwind applies environment=production, application=orders, and costCenter=retail to resources that run its ordering workload. Priya filters cost reports by application=orders; Maya uses Policy to require the business tags on new supported resources. Luis still needs RBAC to modify the production web app—the owner=orders-team tag is a helpful label, not a permission.

Common confusion

  • A tag is not a resource name, resource group, management group, or security group.
  • A tag cannot reliably model a complex hierarchy or replace separate subscriptions when billing, access, or quotas must be isolated.
  • Inconsistent spelling and casing create fragmented reports. Agree a small tag vocabulary before applying tags at scale.

How it fits (diagram)

Practical tag set

Start with a small stable set such as environment, application, owner, and cost center. Document allowed values, enforce only the tags that genuinely matter, and review exceptions rather than creating dozens of inconsistent labels.

resource-group · subscription · azure-policy · rbac · azure-cost-management · northwind-traders-case-study

📘 Source: Microsoft Learn — Use tags to organize Azure resources, checked 2026-09-16.

Azure Cost Management

What it is

Microsoft Cost Management is the set of tools for analyzing, monitoring, allocating, and optimizing cloud costs. It helps a team understand recorded usage and charges at scopes such as subscriptions, resource groups, and management groups. It is an information and governance tool; it is not the same as a credit card or a hard spending stop.

Why it exists

Cloud spend can sprawl. Cost Management gives administrators and finance teams visibility and governance — the “how much are we spending and where” answer that tags and scope make meaningful.

Key ideas

  • Cost analysis explores costs by available scope, service, resource, and tag and can show forecasts. Cost data has processing delay and can differ from a finalized invoice.
  • A budget compares actual or forecast cost to a threshold and sends alerts. A budget does not automatically stop all charges; an action can be configured only where appropriate and must be designed and tested safely.
  • Cost allocation and tag inheritance can improve reporting, but they do not change the invoice or a resource’s underlying access boundary.
  • Management groups, subscriptions, resource groups, and tags answer different reporting and governance needs. Some charges are not neatly associated with a single resource or resource group.

Northwind example

Priya creates a monthly budget for Northwind’s production subscription and alert thresholds that notify the orders team before the expected limit. She uses Cost Analysis filtered by application=orders to investigate a rising storage cost. The alert prompts action; it does not erase accrued charges or guarantee that the team will stop an expensive resource. Northwind reviews the actual configuration and cost data before making a change.

Common confusion

  • Cost Management is not Billing. Billing manages the commercial account, invoices, payment methods, and credits; Cost Management analyzes and governs cost data.
  • A budget is a notification threshold, not an automatic enforcement policy.
  • Tags help allocate supported resource costs, but no tag can make a shared resource’s cost attribution perfectly automatic.

How it fits (diagram)

Start with a useful loop

Estimate before deployment, tag and organize resources at creation, review cost regularly, alert on a reasonable threshold, investigate changes, and then optimize or retire what is no longer needed. Give finance and workload owners access at appropriate scopes.

subscription · resource-group · resource-tags · management-groups · northwind-traders-case-study

📘 Source: Microsoft Learn — What is Microsoft Cost Management?, checked 2026-09-16.