🔷 Microsoft Azure

Free Designing Microsoft Azure Infrastructure Solutions (AZ-305) Study Resources

Design Azure like an architect, not an administrator — the expert-level cert behind the Azure Solutions Architect credential. Cover identity, governance, and monitoring; data storage; business continuity; and infrastructure solutions, with an AI tutor, six blueprint-weighted mock exams, and 24 original case studies that drill the trade-off calls the real exam asks. For Azure administrators stepping up to architect.

582
Practice Questions
155
Study Notes
928
Flashcards
Start Studying — Free1 learners studying this hive

Designing Microsoft Azure Infrastructure Solutions (AZ-305) Study Notes & Guides

155 AI-generated study notes covering the full Designing Microsoft Azure Infrastructure Solutions (AZ-305) curriculum. Showing 10 complete guides below.

Exam Map652 words

AZ-305 Exam Map and Design Decision Playbook

AZ-305

Read full article

AZ-305 Exam Map and Design Decision Playbook

AZ-305 tests architectural judgement. Most prompts give several workable Azure services; the correct answer best satisfies the stated constraints with the least unjustified complexity. Read every scenario as a set of decisions about requirements, failure modes, security boundaries, data semantics, operations, and cost.

Current blueprint at a glance

25–30%
20–25%
15–20%
30–35%

How to read an architecture question

  1. Underline hard constraints. Compliance, protocol, maximum data loss, outage window, region support, compatibility, and operating ownership eliminate options.
  2. Name the architecture decision. Is this identity, authorization, governance, storage, integration, recovery, compute, application, migration, or network design?
  3. Choose the least complex service that meets every hard constraint. Do not optimize a requirement the scenario never states.
  4. Check the whole workload. A redundant web tier does not compensate for one database, one region, one DNS dependency, or a manual recovery path.
  5. Explain the trade-off. A strong answer says what the recommendation gains, what it costs, and why the nearest alternative loses.
Loading Diagram...
Figure 1 — Mermaid diagram

Text equivalent: classify the decision, extract constraints, compare only viable options, test the complete workload, then state the recommendation and its trade-off.

Blueprint-to-study map

DomainRelease roadmapCram sheetsDesign habit
Identity, governance, monitoringUnit 1 roadmapLogging and monitoring; authentication and authorization; governanceSeparate identity, permission, policy, evidence, and network controls.
Data storageUnit 2 roadmapRelational; semi/unstructured; data integrationBegin with data shape, access pattern, consistency, scale, and recovery.
Business continuityUnit 3 roadmapBackup/DR; high availabilityTranslate impact into RTO/RPO and explicit failure domains.
InfrastructureUnit 4 roadmapCompute; application architecture; migrations; networkingCompose services around execution, coupling, dependency, and traffic requirements.

Blueprint-weighted study cycle

  • Spend roughly one third of scenario practice on infrastructure, but interleave it with identity, data, and continuity because real designs cross domains.
  • Use topic cram sheets for retrieval, then answer architecture items without notes.
  • Keep an error log with four fields: missed requirement, wrong service boundary, misleading distractor, and corrected decision rule.
  • Revisit a miss after one day, one week, and before the next mock. Recognition is not mastery; require yourself to explain the rejected alternatives.
  • Take unit checkpoints after the corresponding roadmap and cram sheets. Use full mocks only after every unit has evidence of recall and design reasoning.

Whole-architecture checklist

  • Identity: tenant, principal type, authentication flow, managed identity, privilege lifecycle.
  • Governance: management scope, policy, compliance evidence, resource lifecycle, cost ownership.
  • Data: model, query/transaction pattern, partitioning, consistency, protection, residency.
  • Continuity: component and workload RTO/RPO, zones/regions, backups, failover, failback, tests.
  • Application: synchronous versus asynchronous coupling, APIs, messages, events, cache, configuration.
  • Network: flows, private/public entry, DNS, routing, inspection, egress, hybrid redundancy.
  • Operations: deployment, monitoring, alert response, capacity, patching, ownership, cost.
Loading flashcards…

Source and freshness

Blueprint ranges follow the Microsoft Learn AZ-305 study guide showing skills measured as of April 17, 2026. The attached books provide teaching depth; current Microsoft Learn documentation controls current product behaviour, availability, limits, and naming. Reviewed 2026-08-02.

Unit Capstone668 words

Unit 1 Capstone — Design identity, governance, and monitoring solutions

AZ-305 › Unit 1

Read full article

Unit 1 Capstone — Design identity, governance, and monitoring solutions

The capstone is a synthesis exercise: design one production workload whose architecture crosses every topic in Unit 1. Your submission should read like a lightweight architecture review package, not an exam answer.

Capstone contract

25–30%
3
90–120 minutes
No unowned critical risk

Scenario

Contoso is moving a revenue-generating service onto Azure. It operates across two business regions, processes confidential customer data, has a small central platform team, and must demonstrate recoverability to auditors. Traffic and data volume are expected to grow, but finance requires a design that can start economically. The organisation wants a decision package it can use for a proof of concept and production readiness review.

Turn organisational boundaries, duties, and evidence requirements into an operable control model.

Required topic threads

  1. Design solutions for logging and monitoring: Design the signal path from collection to retention, query, alert, and automated response.
  2. Design authentication and authorization solutions: Separate who signs in, what they may do, how privilege activates, and how workloads obtain tokens.
  3. Design governance: Place boundaries, policy, cost ownership, compliance evidence, and privileged access at the right scope.

The client also requires least-privilege workload identity, private administration paths, infrastructure as code, measurable service objectives, cost allocation, and an exit or migration strategy for any service on a retirement path.

Starting comparison

TopicCandidate anchorTrap the capstone must avoid
Design solutions for logging and monitoringAzure Monitor and diagnostic settingsActivity Log is not guest OS telemetry.
Design authentication and authorization solutionsMicrosoft Entra ID and Conditional AccessReader does not imply service data access.
Design governanceManagement groups and subscriptionsTags do not inherit without policy.

Deliverables

  1. Context and requirements: business goals, measurable non-functional requirements, assumptions, exclusions, and five open questions.
  2. Architecture: one system-context diagram and one deployment/data-flow diagram, each with a text equivalent.
  3. Decision records: at least one ADR per topic, including alternatives and consequences.
  4. Security and governance: identities, permissions, network boundaries, policy, secrets, audit evidence, and data residency.
  5. Reliability: dependency inventory, availability calculation assumptions, RTO/RPO allocation, backup/failover/failback, and a test schedule.
  6. Operations: deployment strategy, telemetry, alerts with owners, capacity signals, patching/upgrades, and runbook entry points.
  7. Economics: primary cost drivers, scaling assumptions, commitment risks, and a method for validating current prices.
  8. Pilot plan: success criteria, failure injection, security tests, performance evidence, and a stop/go decision.
Loading Diagram...
Figure 1 — Mermaid diagram

Text equivalent: requirements drive the architecture; security, continuity, and operations qualify it; pilot evidence determines the production decision.

Review rubric

Score each dimension from 0 to 3: requirements traceability, cross-topic coherence, least privilege, failure coverage, data semantics, network/DNS completeness, deployability, observability, recovery evidence, cost reasoning, current sources, and clarity. A passing capstone has no zero, no unowned critical risk, and at least 28 of 36 points. A high total cannot compensate for a missing recovery owner or an unsupported product assumption.

Learner self-check

  • Can another engineer implement the design without inventing its key decisions?
  • Does every critical dependency have a health signal and recovery owner?
  • Are current limits, availability, and retirement milestones cited from Microsoft primary sources?
  • Does the proof of concept test the riskiest assumption rather than the easiest happy path?
  • Can I explain how this design changes if scale, recovery, regulation, or team capability changes?

Source and freshness

Aligned to the current AZ-305 blueprint and grounded in both attached course sources. Current product contracts must be cited during the exercise. Reviewed 2026-08-02.

Unit Roadmap639 words

Unit 1 Roadmap — Design identity, governance, and monitoring solutions

AZ-305 › Unit 1

Read full article

Unit 1 Roadmap — identity, governance, and monitoring solutions

This roadmap turns the unit into a study sequence. The goal is to connect topic decisions, not memorize isolated product facts. The current exam blueprint allocates 25–30% to this domain.

Unit 1 release map

25–30%
3
Defensible recommendation
Checkpoint plus design studio

Unit thesis

Turn organisational boundaries, duties, and evidence requirements into an operable control model.

  1. Start with observability requirements: signals, destinations, retention, query, alert, and response.
  2. Separate authentication, Azure resource authorization, directory roles, and workload identity.
  3. Place management groups, subscriptions, policy, and privileged access around durable business boundaries.
Loading Diagram...
Figure 1 — Mermaid diagram

Text equivalent: study each topic cram sheet, complete the unit checkpoint, then prove synthesis in a design studio.

Topic map

TopicArchitectural decisionFirst trap to reject
1. Design solutions for logging and monitoringDesign the signal path from collection to retention, query, alert, and automated response.Activity Log is not guest OS telemetry.
2. Design authentication and authorization solutionsSeparate who signs in, what they may do, how privilege activates, and how workloads obtain tokens.Reader does not imply service data access.
3. Design governancePlace boundaries, policy, cost ownership, compliance evidence, and privileged access at the right scope.Tags do not inherit without policy.

How to work this unit

For each topic, read the linked full lessons first when the service boundary is unfamiliar. Use the cram sheet to compress the decision rules. Then close the notes and answer the retrieval prompts. Finish with scenarios that force two or more topics to interact. A correct product name without a constraint-based explanation is not sufficient evidence of readiness.

When reviewing an answer, write a one-sentence recommendation in this form: Choose X because constraints A and B matter; reject Y because it fails C; accept trade-off D. This structure exposes guesses and makes technical review easier.

Pre-checkpoint checklist

  • I can state the decision boundary for every service family in this unit.
  • I can distinguish high availability, recovery, security, and governance controls when they appear together.
  • I can identify the strongest distractor and the requirement it fails.
  • I can draw the major dependency or signal flow without copying a diagram.
  • I can explain operational ownership and cost consequences, not only features.
  • I have corrected every missed retrieval prompt at least once from memory.

Common failure patterns

  • Using Azure Policy to grant access instead of govern resource state.
  • Sending every signal to one workspace without residency, access, or cost analysis.
  • Giving workloads stored credentials when managed identity is supported.
Loading flashcards…

Source and freshness

Aligned to the current AZ-305 study guide and grounded in the two attached corpus sources. Product details and limits must be checked against current Microsoft Learn documentation. Reviewed 2026-08-02.

Topic Cram Sheet632 words

Cram Sheet — Design authentication and authorization solutions

AZ-305 › Unit 1 › Design authentication and authorization solutions

Read full article

Cram Sheet — Design authentication and authorization solutions

Separate who signs in, what they may do, how privilege activates, and how workloads obtain tokens. Use this sheet after the linked lessons: it is a retrieval map and decision aid, not a substitute for the worked examples.

Cram target

1
Design identity, governance, and monitoring solutions
4
Recommend and reject

Decision matrix

Requirement shapeStart withQualifying rule
Human sign-inMicrosoft Entra ID and Conditional AccessEvaluate identity, app, device, location, and risk
Azure resource actionAzure RBACPrincipal plus role plus narrow durable scope
Workload accessManaged identityAvoid stored credentials; grant a data or control-plane role
Privileged administrationPIMEligible, approved, time-bound activation with audit evidence

The phrase start with matters. A default is only defensible after checking all hard constraints: region and SKU support, protocols, scale, availability, security, residency, recovery, skills, and operating ownership. When two rows appear in one scenario, compose them rather than forcing one service to solve every concern.

Fast design method

  1. Name the workload boundary and the users or systems that cross it.
  2. Extract measurable requirements: latency, throughput, volume, RTO/RPO, consistency, outage window, and retention.
  3. Mark security and governance constraints: identity, network reachability, encryption, residency, audit, and separation of duties.
  4. Select the simplest viable default from the matrix.
  5. Test it against failure domains, scale transitions, deployment, monitoring, and cost.
  6. State the nearest alternative and the one constraint that makes it weaker.
Loading Diagram...
Figure 1 — Mermaid diagram

Text equivalent: derive requirements, choose a default, qualify it against constraints, add operational and failure behaviour, then explain the trade-off.

High-value traps

  • Reader does not imply service data access.
  • Policy does not grant permissions.
  • A managed identity still needs authorization.

Scenario rehearsal

An organisation asks for the capability described by the first matrix row, but also adds a strict recovery target, private connectivity, and a small operations team. Write a recommendation that identifies the core service, the supporting continuity and network controls, and the operating trade-off. Then reject the nearest service alternative using one explicit requirement. If your answer lists products without a traffic, data, identity, or recovery flow, it is incomplete.

Final-minute checklist

  • I can distinguish every service in the matrix by requirement, not logo or name.
  • I know which controls operate at identity, management, data, and network planes.
  • I check regional/SKU support and current limits when a scenario depends on them.
  • I include monitoring, health, capacity, recovery, and ownership in the recommendation.
  • I can explain why the strongest distractor fails.
Loading flashcards…

Source and freshness

Aligned to the current AZ-305 study guide, the attached Exam Ref, and the attached AZ-305 study guide corpus. Current Microsoft Learn documentation controls product availability, limits, and renamed services. Reviewed 2026-08-02.

Lesson4,386 words

Design Authentication and Authorization Solutions — Lesson

AZ-305 › Unit 1 › Design authentication and authorization solutions

Read full article

Design Authentication and Authorization Solutions — Lesson

This integrated module covers the five learning objectives that form the authentication and authorization pillar of AZ-305 Unit 1. You will learn how to design authentication flows with Microsoft Entra ID, plan hybrid identity synchronisation, assign permissions through RBAC and ABAC, extend access to on-premises applications, and protect secrets with Azure Key Vault. Each sub-section maps to one LO; cross-cutting worked examples show how the pieces connect in real architectural decisions.

Reference: Ch. 1, §1.2, p. 14–28 of the AZ-305 exam book.

Why This Matters

Every Azure architecture begins with a question: who is allowed to do what? A misconfigured Conditional Access policy can lock out an entire workforce; an over-permissioned service principal can expose production databases to a compromised pipeline. The AZ-305 exam tests your ability to make these decisions under realistic constraints — budget, compliance, user experience, and legacy infrastructure. Mastering authentication and authorization design is not just an exam objective; it is the single most consequential skill set for any Azure solutions architect, because security failures in this layer cascade into every other layer of the stack.

Prerequisites

  • Microsoft Entra ID tenant basics — Can you explain what a tenant, directory, and subscription are and how they relate?
  • Networking fundamentals (HTTP/S, TLS, DNS) — Can you describe how a browser negotiates a TLS handshake?
  • Basic Active Directory concepts (forests, domains, OUs) — Can you sketch the trust relationship between two AD forests?
  • Azure portal navigation — Can you locate the Entra ID blade, subscription IAM pane, and Key Vault resource in the portal?
  • JSON and ARM template literacy — Can you read a short ARM snippet and identify the resource type?

Learning Objectives

  1. Evaluate authentication mechanisms (MFA, passwordless, Conditional Access, B2B/B2C) and recommend the right combination for a given scenario.
  2. Design a hybrid identity architecture using Microsoft Entra Connect with the appropriate synchronisation method (PHS, PTA, or federation).
  3. Recommend an RBAC/ABAC strategy for Azure resources that satisfies least-privilege and separation-of-duties requirements.
  4. Design secure remote access to on-premises applications using Entra ID Application Proxy.
  5. Architect a secrets, keys, and certificates management solution using Azure Key Vault with appropriate access policies and networking controls.
  6. Analyse cross-cutting scenarios where authentication, authorisation, and secret management decisions interact.

Building Blocks

Microsoft Entra ID (formerly Azure AD)Analogy: Think of Entra ID as the reception desk of a building — it checks your badge (authentication), looks up which floors you can access (authorisation), and logs your entry (audit). Formal definition: A cloud-based identity and access management service that provides single sign-on, multifactor authentication, and conditional access for users, groups, and service principals. Why it matters: Every Azure resource and most SaaS integrations depend on Entra ID tokens for access decisions.

Conditional AccessAnalogy: Like an airport security checkpoint with adaptive rules — frequent flyers with trusted devices go through the fast lane, while first-time travellers get extra screening. Formal definition: A policy engine in Entra ID that evaluates signals (user, device, location, risk level) and enforces access controls (grant, block, require MFA, require compliant device). Why it matters: Conditional Access is the primary enforcement point for Zero Trust in Azure.

Password Hash Synchronisation (PHS)Analogy: Photocopying a key — the original stays on-premises, but a copy sits in the cloud so either door can recognise you. Formal definition: A sync method where a hash of the on-premises AD password hash is replicated to Entra ID every two minutes. Why it matters: Simplest hybrid identity method; enables cloud-based leaked-credential detection.

Pass-Through Authentication (PTA)Analogy: A doorbell that rings the on-premises security desk every time someone asks to enter the cloud building. Formal definition: Entra ID forwards the authentication request to an on-premises agent that validates the password against AD in real time. Why it matters: Passwords never leave the on-premises boundary, satisfying certain compliance mandates.

Role-Based Access Control (RBAC)Analogy: A hotel key card programmed for specific floors — your role determines which resources you can reach. Formal definition: An authorisation system built on role assignments (security principal + role definition + scope) that governs data-plane and control-plane actions on Azure resources. Why it matters: RBAC is the default and recommended authorisation model for Azure; misuse leads to privilege escalation.

Azure Key VaultAnalogy: A bank safety-deposit box — you rent a box (vault), store valuables (secrets, keys, certificates), and only authorised signatories can open it. Formal definition: A managed HSM-backed service for storing and accessing secrets, encryption keys, and X.509 certificates with access governed by RBAC or vault access policies. Why it matters: Eliminates hard-coded credentials; centralises key lifecycle management.

Deep Dive

LO4 — Design an Authentication Solution

The authentication design decision tree starts with who is authenticating: internal workforce, external partners (B2B), or consumers (CIAM — today Microsoft Entra External ID, formerly Azure AD B2C).

Workforce authentication centres on Entra ID with MFA. The exam tests three MFA methods: Microsoft Authenticator push, FIDO2 security keys, and Windows Hello for Business. Passwordless is the recommended direction — the AZ-305 book emphasises that passwordless authentication reduces phishing surface.

json
{ "displayName": "Require MFA for All Users", "state": "enabled", "conditions": { "users": { "includeUsers": ["All"] }, "applications": { "includeApplications": ["All"] } }, "grantControls": { "operator": "OR", "builtInControls": ["mfa"] } }

[!TIP] Use named locations in Conditional Access to exempt trusted corporate egress IPs from MFA prompts — this balances security with user experience.

B2B collaboration invites external partners into your tenant as guest users. The guest user authenticates against their home tenant (or a one-time passcode if they have no Entra ID). The key design decision is cross-tenant access settings: you control which external tenants may collaborate and whether their MFA claims are trusted.

B2C creates a separate tenant (*.onmicrosoft.com with the B2C extension) and supports custom user flows (sign-up, sign-in, profile edit) with social identity providers (Google, Facebook, Apple). Effective May 1, 2025, Azure AD B2C is no longer available to purchase for new customers, so a new consumer-facing app with self-service registration should be designed on Microsoft Entra External ID in an external tenant — Microsoft's current CIAM solution, which adds self-service registration, personalised sign-in experiences, and customer account management on top of Microsoft Entra ID. Expect B2C only where the scenario describes a tenant that already has it.

Loading Diagram...
Figure 1 — Mermaid diagram

See the LO4-level lesson for a deeper treatment of Conditional Access policy design patterns.

LO5 — Design an Identity Management Solution

Hybrid identity connects on-premises Active Directory to Entra ID through Microsoft Entra Connect (formerly Azure AD Connect). The three synchronisation methods are compared below.

MethodPassword stays on-prem?LatencyRequires agentsCloud leaked-credential detection
PHSNo (hash of hash synced)2\leq 2 min syncNo extra agentYes
PTAYesReal-timePTA agent on-premNo
Federation (AD FS)YesReal-timeAD FS farmNo

[!WARNING] PTA requires at least 3 authentication agents for production availability. A single-agent deployment is a single point of failure.

Decision rule: Choose PHS unless a regulatory requirement forbids any password derivative in the cloud. Choose PTA if the requirement is real-time on-premises password validation without deploying AD FS. Choose federation only when you need advanced claim rules or a third-party IdP.

Entra Connect also syncs group memberships, device objects (hybrid join), and writeback attributes (password writeback, group writeback). The exam may test which features require Entra ID P1 vs P2 licensing.

FeatureLicence required
Conditional AccessEntra ID P1
Identity Protection (risk-based CA)Entra ID P2
PIM (just-in-time role activation)Entra ID P2
Self-service password reset (SSPR)Entra ID P1
Dynamic group membershipEntra ID P1
Loading Diagram...
Figure 2 — Mermaid diagram

See the LO5-level lesson for Entra Connect deployment topologies and staging-server patterns.

LO6 — Design Authorisation for Azure Resources

Azure RBAC uses three elements: security principal (user, group, service principal, managed identity), role definition (set of allowed actions), and scope (management group → subscription → resource group → resource).

Built-in roleScopeTypical use
OwnerSubscriptionFull access including IAM
ContributorResource groupDeploy resources, no IAM
ReaderResource groupView only
User Access AdministratorSubscriptionManage role assignments
Key Vault Secrets OfficerKey VaultRead/write secrets

Custom roles are defined in JSON when built-in roles are too broad or too narrow.

json
{ "Name": "VM Restart Operator", "Description": "Can restart VMs but not delete or create them.", "Actions": [ "Microsoft.Compute/virtualMachines/restart/action", "Microsoft.Compute/virtualMachines/read" ], "NotActions": [], "AssignableScopes": ["/subscriptions/00000000-0000-0000-0000-000000000000"] }

Attribute-Based Access Control (ABAC) extends RBAC by adding conditions to role assignments — for example, "allow Storage Blob Data Reader only on blobs tagged project=phoenix". ABAC conditions use the @Resource and @Principal attributes.

[!IMPORTANT] ABAC conditions can currently be added to built-in or custom role assignments that have blob storage or queue storage data actions. Don't assume ABAC works on arbitrary resource types — the exam may offer ABAC as a distractor for non-storage scenarios.

Loading Diagram...
Figure 3 — Mermaid diagram

See the LO6-level lesson for a complete guide to designing custom roles and ABAC conditions.

LO7 — Design Authorisation for On-Premises Resources

When users are in the cloud but applications are on-premises, Entra ID Application Proxy bridges the gap. A lightweight connector agent installed on an on-premises server creates an outbound HTTPS tunnel to the Application Proxy service — no inbound firewall ports required.

FeatureApplication ProxyVPNReverse proxy (third-party)
Inbound portsNoneYes (UDP 500, 4500)Yes (TCP 443)
Entra ID SSONativeManualDepends
Conditional AccessYesLimitedNo
Agent on-premConnectorVPN gatewayReverse proxy server
Best forLegacy web appsFull network accessComplex routing

The connector agent authenticates to the cloud service with a certificate; user traffic is:

  1. User hits the external URL (e.g., https://expenses.contoso.msappproxy.net).
  2. Entra ID authenticates the user and evaluates Conditional Access.
  3. Application Proxy routes the request through the connector to the internal URL (e.g., http://expenses.corp.contoso.com).
  4. The connector performs Kerberos Constrained Delegation (KCD) if the back-end app uses Windows Integrated Authentication.

[!NOTE] For high availability, deploy at least 2 connectors in the same connector group. Connectors are stateless and auto-update.

See the LO7-level lesson for KCD configuration and connector group design patterns.

LO8 — Design a Solution for Secrets, Keys, and Certificates

Azure Key Vault comes in two tiers: Standard (software-protected keys, software libraries validated to FIPS 140 Level 1) and Premium (HSM-protected keys, generated and protected by FIPS 140-3 Level 3 validated Marvell LiquidSecurity HSMs). The exam tests when Premium is required — typically for regulatory mandates citing HSM protection.

bash
# Create a Key Vault with soft-delete and purge protection az keyvault create \ --name kv-prod-contoso \ --resource-group rg-security \ --location eastus \ --sku premium \ --enable-purge-protection true \ --enable-rbac-authorization true

Access model choice: Key Vault supports two access models — vault access policies (legacy) and RBAC (recommended). With RBAC, you assign Key Vault Secrets User or Key Vault Crypto Officer at the vault scope, unifying authorisation with the rest of Azure.

Networking: Key Vault supports private endpoints and service endpoints. For production, use a private endpoint in the workload VNet so that secret retrieval never traverses the public internet.

Object typeUse caseExample
SecretConnection strings, API keys, passwordsSqlConnectionString
KeyEncryption (wrap/unwrap), signingTDE protector for Azure SQL
CertificateTLS/SSL termination, code signingApp Service custom domain cert

Key Vault integrates with several Azure services: App Service and Azure Functions read secrets via Key Vault references (@Microsoft.KeyVault(...)). Azure Disk Encryption uses Key Vault keys. Azure SQL TDE can use a customer-managed key stored in Key Vault.

See the LO8-level lesson for key rotation strategies and certificate auto-renewal patterns.

Worked Examples

Easy — Single-LO: Choose the Right Sync Method

Problem: Contoso has 5,0005{,}000 users in on-premises AD. Compliance requires that user passwords never leave the corporate network, even as hashes. The IT team has no AD FS infrastructure and wants the simplest possible setup. Which sync method should the architect recommend?

Step-by-step solution:

  1. PHS syncs a hash of the password hash to the cloud — eliminated by the "no password derivative in cloud" constraint.
  2. Federation requires an AD FS farm — eliminated by the "simplest setup" constraint.
  3. PTA validates passwords in real time against on-prem AD via a lightweight agent — satisfies both constraints.
  4. Recommend PTA with 3 agents across 2 on-prem servers for availability.

[!NOTE] Key insight: PTA is the middle ground between PHS simplicity and federation flexibility. It keeps passwords on-prem without AD FS overhead.

Medium — Two-LO Crossover: MFA Policy + RBAC Assignment

Problem: Fabrikam's cloud team has 20 engineers. The CISO mandates: (a) all engineers must complete MFA before accessing Azure portal, and (b) engineers may deploy VMs but must not modify IAM role assignments. Design the authentication and authorisation controls.

Step-by-step solution:

  1. Authentication (LO4): Create a Conditional Access policy targeting the "Cloud Engineers" security group, scoping to the Azure Management cloud app, requiring MFA grant control.
  2. Authorisation (LO6): Assign the Virtual Machine Contributor built-in role to the "Cloud Engineers" group at the relevant subscription scope. This role allows VM lifecycle operations but excludes Microsoft.Authorization/* actions (no IAM changes).
  3. Verification: An engineer who passes MFA can create a VM but receives AuthorizationFailed if they attempt New-AzRoleAssignment.

[!NOTE] Key insight: Layering Conditional Access (who can authenticate) on top of RBAC (what they can do) implements defence in depth — neither control alone is sufficient.

Hard — Three-LO Crossover: Hybrid Identity + App Proxy + Key Vault

Problem: Northwind Traders runs a legacy ASP.NET payroll app on-premises using Windows Integrated Authentication. The company is moving to Entra ID for SSO. Requirements: (a) remote workers must access the payroll app without VPN, (b) the app's SQL connection string must not be stored in web.config, and (c) password sync to the cloud is prohibited. Design the end-to-end solution.

Step-by-step solution:

  1. Identity (LO5): Deploy Entra Connect with PTA (password stays on-prem). Install 3 PTA agents.
  2. Remote access (LO7): Deploy Entra ID Application Proxy with 2 connectors in a connector group. Configure KCD so the connector can obtain Kerberos tickets on behalf of the Entra-authenticated user.
  3. Secret management (LO8): Store the SQL connection string in Azure Key Vault. The on-premises app reads the secret at startup via the Key Vault SDK, authenticating with a managed identity registered in Entra ID (or a service principal with certificate-based auth).
  4. Conditional Access (LO4): Apply a CA policy to the Application Proxy enterprise app requiring MFA and a compliant device.

[!NOTE] Key insight: Application Proxy + KCD eliminates VPN while preserving Windows Integrated Auth. Key Vault removes the secret from configuration files, and PTA satisfies the no-cloud-password constraint.

Visual Explanations

Conditional Access Policy Evaluation Flow

Loading Diagram...
Figure 4 — Mermaid diagram

This diagram shows how Conditional Access collects multiple signals before making a grant/block decision. The policy engine evaluates all matching policies — the most restrictive grant control wins.

Azure RBAC Inheritance Model

Scope levelExampleInherited by
Management Groupmg-contoso-rootAll child subscriptions
Subscriptionsub-prod-001All resource groups within
Resource Grouprg-web-prodAll resources within
Resourcekv-prod-contoso(leaf — no children)

Roles assigned at a higher scope propagate downward. A Reader assignment at the management group level grants read access to every resource in every subscription beneath it. Use the narrowest scope that satisfies the requirement.

Hybrid Identity Architecture (TikZ)

Compiling TikZ diagram…
Running TeX engine…
This may take a few seconds
Figure 5 — TikZ diagram

This diagram illustrates the full hybrid identity architecture: Entra Connect synchronises identities, PTA agents handle real-time password validation, Application Proxy connectors provide remote access via KCD, and Key Vault is accessed through Entra ID RBAC.

Common Mistakes

Myth: PHS sends user passwords to the cloud, so it fails every compliance audit. ✅ Reality: PHS syncs a SHA-256 hash of the MD4 hash — the original password is never transmitted or stored. Microsoft uses this double-hash to detect leaked credentials (Entra ID Protection). Many compliance frameworks accept PHS when the architecture is documented. Why it's tricky: The word "hash" sounds insecure to non-technical stakeholders, but PHS is actually the most secure sync method because it enables cloud-based threat detection that PTA and federation cannot.

Myth: Assigning Owner at the subscription scope is fine for the lead architect because they need full access. ✅ Reality: Owner includes Microsoft.Authorization/*/Write, meaning the architect can grant anyone any role — including themselves elevated access. Use Contributor for resource deployment and grant User Access Administrator separately with PIM just-in-time activation if IAM changes are needed. Why it's tricky: Owner feels natural for a lead role, but it violates least-privilege and separation-of-duties. The exam specifically tests whether you choose Owner vs. Contributor + PIM.

Myth: Key Vault access policies and RBAC can be used together on the same vault. ✅ Reality: A vault uses either the access-policy model or the RBAC model — not both simultaneously. The property enableRbacAuthorization is a boolean toggle. Microsoft recommends RBAC for new deployments because it unifies authorisation with the rest of Azure. Why it's tricky: Legacy documentation and older exam prep materials show access policies as the primary model, so candidates assume they can layer RBAC on top. They cannot.

Myth: Application Proxy requires opening inbound firewall ports to the on-premises network. ✅ Reality: The connector agent creates outbound HTTPS connections to the Application Proxy cloud service. No inbound ports are needed, which is a key security advantage over traditional reverse proxies and VPNs. Why it's tricky: Candidates familiar with traditional DMZ architectures assume inbound ports are required. The outbound-only model is a distinguishing feature the exam tests.

Practice Exercises

🟢 Easy — Contoso wants to enable self-service password reset (SSPR) for cloud-only users. Which Entra ID licence tier is required?

💡 Hint

SSPR for cloud-only users is available at a specific premium tier. Check the licence table in the Deep Dive.

✅ Solution

Entra ID P1 is required for SSPR. Entra ID Free supports admin-only password reset, not self-service for all users.

🟢 Easy — Which Key Vault tier must Fabrikam choose if their auditor requires FIPS 140-3 Level 3 HSM-protected keys?

💡 Hint

Key Vault has two SKUs. Only one provides HSM backing.

✅ Solution

Key Vault Premium. Standard uses software-protected keys only.

🟡 Medium — Woodgrove Bank must ensure that only users on compliant, Intune-managed devices can access their Azure SQL databases via Visual Studio Code with the MSSQL extension. They also need MFA. Design the Conditional Access policy.

💡 Hint

You need to combine two grant controls. Think about the operator (AND vs OR).

✅ Solution

Create a Conditional Access policy: target all users in the "Database Admins" group, scope to the "Azure SQL Database" cloud app, grant controls = require MFA AND require device to be marked as compliant. The AND operator ensures both conditions must be satisfied.

🟡 Medium — An engineer needs to read secrets from Key Vault kv-prod but should not be able to delete them or manage keys/certificates. Which built-in RBAC role should you assign?

💡 Hint

There are separate roles for secrets, keys, and certificates — and "User" vs "Officer" distinctions.

✅ Solution

Assign Key Vault Secrets User at the kv-prod resource scope. This role grants Microsoft.KeyVault/vaults/secrets/getSecret/action and list, but not delete or write. It does not grant any key or certificate permissions.

🔴 Hard — Litware Inc. is migrating 12,00012{,}000 users from three AD forests to a single Entra ID tenant. Forest A uses a .local UPN suffix (non-routable). Forests B and C use routable UPN suffixes. Password sync to the cloud is acceptable. Design the Entra Connect topology and address the UPN issue.

💡 Hint

Consider how many Entra Connect servers you need for multiple forests, and what happens when a UPN suffix is non-routable.

✅ Solution

Deploy a single Entra Connect server with multi-forest topology (one connector per forest). Use PHS for synchronisation. For Forest A, add an alternative routable UPN suffix (e.g., litware.com) in Active Directory Domains and Trusts, then update user accounts to use the routable suffix before sync. Alternatively, configure Entra Connect to use the mail attribute as the source anchor for sign-in if UPN remediation is infeasible. Deploy a staging-mode Entra Connect server for disaster recovery.

🔴 HardSynthetic scenario (AZ-305 style): Adatum Corp runs a legacy Java app on-premises that uses header-based authentication (the app reads X-Remote-User from the HTTP header). Remote workers need SSO via Entra ID without VPN. Which service should the architect recommend, and how does it handle header injection?

💡 Hint

Application Proxy supports multiple SSO modes beyond KCD. One of them is specifically designed for header-based apps.

✅ Solution

Deploy Entra ID Application Proxy with header-based SSO. Configure the connector to inject the X-Remote-User header with the authenticated user's UPN after Entra ID completes authentication and Conditional Access evaluation. This mode is designed for legacy apps that cannot negotiate Kerberos or SAML. For additional security, apply a Conditional Access policy to the enterprise app requiring MFA.

Summary & Concept Map

  • Entra ID is the central identity provider for all Azure workloads; Conditional Access is the enforcement engine for Zero Trust.
  • B2B extends your tenant to partners (they authenticate at their home tenant); B2C is a separate tenant for consumer-facing self-service sign-up, but it can no longer be purchased by new customers — design new consumer apps on Entra External ID in an external tenant.
  • Entra Connect bridges on-prem AD to the cloud — choose PHS for simplicity and leak detection, PTA for on-prem-only passwords, federation only for advanced claims.
  • RBAC + ABAC enforce least-privilege at every scope level; prefer built-in roles, use custom roles sparingly, and always assign to groups, not individuals.
  • Application Proxy provides VPN-less access to on-prem web apps through outbound-only connectors with SSO (KCD, header-based, SAML).
  • Key Vault centralises secrets, keys, and certificates; use RBAC access model, Premium SKU for HSM, and private endpoints for network isolation.
  • Cross-cutting theme: layer authentication (who you are), authorisation (what you can do), and secret management (how credentials are stored) as independent, composable controls.
Loading Diagram...
Figure 6 — Mermaid diagram

Connections & Next Steps

This topic integrates five learning objectives into one security design module. For deeper mastery, proceed through the lessons in this order:

  1. LO4 — Design an authentication solution — deep dive into Conditional Access policy patterns, B2B cross-tenant settings, and External ID (or legacy B2C) user flow customisation.
  2. LO5 — Design identity management — Entra Connect topologies, staging-server failover, and password writeback configuration.
  3. LO6 — Design authorisation for Azure resources — custom role JSON authoring, ABAC condition syntax, and PIM activation workflows.
  4. LO7 — Design authorisation for on-premises resources — Application Proxy connector groups, KCD setup, and header-based SSO configuration.
  5. LO8 — Design secrets, keys, and certificates management — Key Vault networking, key rotation automation, and certificate auto-renewal with App Service.

After completing this topic, move to Topic U1/T3 — Design solutions for logging and monitoring, where you will learn how to audit and monitor the identity decisions made here.

Design Studio734 words

Design Studio — Design authentication and authorization solutions

AZ-305 › Unit 1 › Design authentication and authorization solutions

Read full article

Design Studio — Design authentication and authorization solutions

This studio turns the topic into an architecture exercise. Produce a recommendation that another engineer could challenge, implement, and validate. There is no credit for a list of Azure products without flows, constraints, failure behaviour, and trade-offs.

Studio brief

1
Design identity, governance, and monitoring solutions
4
45–60 minutes

Client brief

Fabrikam is modernising a production workload in this domain: Separate who signs in, what they may do, how privilege activates, and how workloads obtain tokens. The workload serves internal teams and external customers, carries regulated data, and must remain supportable by a small platform team. The client has supplied incomplete requirements; part of the exercise is to state assumptions and identify questions that would materially change the recommendation.

The initial requirements are:

  1. The design must address human sign-in with explicit assumptions and measurable acceptance evidence.
  2. The design must address azure resource action with explicit assumptions and measurable acceptance evidence.
  3. The design must address workload access with explicit assumptions and measurable acceptance evidence.
  4. The design must address privileged administration with explicit assumptions and measurable acceptance evidence.
  5. The solution must use Microsoft Entra identities, private connectivity where justified, infrastructure as code, and observable health signals.
  6. The design must state a recovery path, operational owner, cost driver, and one deliberate compromise.

Candidate decision anchors

Requirement threadCandidate starting pointQualification rule
Human sign-inMicrosoft Entra ID and Conditional AccessEvaluate identity, app, device, location, and risk
Azure resource actionAzure RBACPrincipal plus role plus narrow durable scope
Workload accessManaged identityAvoid stored credentials; grant a data or control-plane role
Privileged administrationPIMEligible, approved, time-bound activation with audit evidence

These are starting points, not an answer key. You may select a different service when a stated assumption or constraint justifies it. Every deviation must identify the requirement it serves and the new operational cost it introduces.

Studio workflow

  1. Clarify

    Write five questions whose answers could change the architecture. Mark hard constraints separately from preferences.

Required submission

  1. A one-page architecture diagram with a text equivalent.
  2. A decision record containing context, decision, alternatives, consequences, and validation evidence.
  3. A requirement-to-control matrix that maps every hard constraint to a component or operating process.
  4. A failure table covering component, zone, region, identity, network, and operator-error failures where applicable.
  5. Three validation tests: one functional, one reliability/security, and one operational or cost test.

Review traps

  • Reader does not imply service data access.
  • Policy does not grant permissions.
  • A managed identity still needs authorization.

Assessment rubric

Dimension0 — Missing1 — Partial2 — Release quality
RequirementsProducts chosen before constraintsSome constraints mappedHard constraints, assumptions, and change-driving questions are explicit
ArchitectureComponent listMain flow shownIdentity, traffic/data, dependencies, and failure boundaries are coherent
Trade-offsNo alternativeAlternative namedStrongest alternative rejected using a stated requirement
OperabilityMonitoring mentionedSome runbook detailHealth, capacity, deployment, recovery, ownership, and cost evidence defined
CurrencyNo sourcesSecondary/undated sourceCurrent Microsoft primary source linked and reviewed date recorded

Reflection

  • Which requirement eliminated the most attractive alternative?
  • Which assumption creates the greatest residual risk?
  • What would you test in a pilot before approving production deployment?
  • How would the recommendation change if the operations team doubled in size or the recovery objective tightened?

Source and freshness

Grounded in the current AZ-305 skills outline and both attached course sources. Current service contracts must be verified in Microsoft Learn during the studio. Reviewed 2026-08-02.

LO Quick Note758 words

Quick Note — Recommend an Authentication Solution

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend an authentication solution

Read full article

Quick Note — Recommend an Authentication Solution

This lesson aligns with AZ-305 Chapter 2, §2.1–2.2, p. 41–65 and covers the architecture and design considerations for authenticating users and applications in Azure. We focus on Microsoft Entra ID (formerly Azure AD) as the identity platform, multi-factor authentication (MFA), Conditional Access policies, passwordless authentication methods, and authentication protocols such as SAML 2.0, OAuth 2.0, and OpenID Connect (OIDC). This is not a lesson on identity governance or lifecycle management (see LO-5), nor on authorization and RBAC (see LO-6/LO-7) — it is about how to verify who someone is when they attempt to access resources.

Retrieval target

Recommend an Authentication Solution
Closed-book recall
5 minutes
Open the full lesson after a miss

Decision anchors

PromptCompact answer
Microsoft Entra IDMicrosoft's cloud identity-and-access platform (formerly Azure Active Directory). Issues identities, authenticates users, and authorizes access to cloud apps and Azure resources. The tenant is the directory boundary — one Microsoft 365 / Azure subscription is associated with exactly one Entra tenant.
Multi-factor authentication (MFA)An authentication method that requires more than one challenge before granting access: something you have (phone, key, FIDO2), know (password, PIN), are (biometrics), or where you are (location). The most effective single control for reducing credential-theft risk in Entra ID.
Conditional Access policyAn if/then rule in Entra IDif signals match (user, app, device platform, location, client app, risk level), then grant or block, optionally requiring extra controls like MFA or a compliant device. The standard tool for enforcing MFA, blocking legacy auth, and acting on Identity Protection risk signals.
Password hash synchronization (PHS)An Entra Connect sign-in method that synchronizes a hash of the on-prem AD password hash into Entra ID. Users authenticate in the cloud — no on-prem dependency at sign-in. Simplest hybrid option; tolerates on-prem outages because Entra can validate the password by itself.

Read the answers once, then cover the right-hand column and reconstruct each one from the prompt. A useful answer names the requirement, the recommended control or service boundary, and the nearest alternative it rejects. If you can only recognize the answer after seeing it, retrieval is not yet secure.

Ninety-second explanation

Without notes, explain:

  1. What requirement signals this learning objective rather than a neighbouring one?
  2. Which two solution families are most likely to be compared?
  3. Which hard constraint eliminates the strongest distractor?
  4. What identity, network, data, or failure boundary must appear in the design?
  5. Which operational test would prove the recommendation works?

Then compare your explanation with the full lesson. Record the missing decision rule—not merely the missed product name—in your error log.

Loading flashcards…

When to open the full lesson

Open the curriculum-linked lesson when you cannot explain a comparison, when a scenario depends on a numeric limit or SKU feature, or when the service is on a retirement path. Use current Microsoft Learn documentation for availability, limits, pricing, naming, and migration milestones; the quick note is intentionally compact.

Source and freshness

Derived from the linked AZ-305 lesson and retrieval deck, grounded in both attached course sources. Reviewed 2026-08-02. Current Microsoft documentation controls changing product contracts.

Lesson4,970 words

Recommend an Authentication Solution — Lesson

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend an authentication solution

Read full article

Recommend an Authentication Solution — Lesson

This lesson aligns with AZ-305 Chapter 2, §2.1–2.2, p. 41–65 and covers the architecture and design considerations for authenticating users and applications in Azure. We focus on Microsoft Entra ID (formerly Azure AD) as the identity platform, multi-factor authentication (MFA), Conditional Access policies, passwordless authentication methods, and authentication protocols such as SAML 2.0, OAuth 2.0, and OpenID Connect (OIDC). This is not a lesson on identity governance or lifecycle management (see LO-5), nor on authorization and RBAC (see LO-6/LO-7) — it is about how to verify who someone is when they attempt to access resources.

Reference: Ch. 2, §2.1–2.2, p. 41–65 of the AZ-305 exam book.

Why This Matters

Authentication is the foundation of every secure Azure architecture. Microsoft reports that organisations enabling MFA block over 99.9% of account-compromise attacks. As an architect designing infrastructure for financial services, healthcare, or enterprise SaaS, you must choose between basic username-password, multi-factor methods, passwordless approaches, and federation patterns. The wrong choice costs companies millions in downtime and compliance fines — the right choice enables a workforce to be productive, mobile, and secure. The AZ-305 exam tests your ability to match authentication mechanisms to real-world constraints: device fleets, regulatory mandates, user populations, and risk tolerance.

Prerequisites

  • Authentication vs. authorisation — Can you explain why verifying who someone is (authentication) is separate from deciding what they can do (authorisation)? Self-check: if a user passes MFA but has no RBAC role, can they read a Storage blob?
  • Entra ID tenant basics — Do you know what a tenant is and how it isolates users? Self-check: can a user in Tenant A directly sign in to resources in Tenant B without an invitation?
  • Token-based access — Can you describe why APIs accept tokens instead of passwords? Self-check: what happens when a JWT access token expires — does the user re-enter their password?
  • Hybrid identity awareness — Do you know the difference between cloud-only and synced (hybrid) identities? Self-check: what tool synchronises on-premises AD users to Entra ID?

Learning Objectives

By the end of this lesson you will be able to:

  1. Analyse authentication requirements across on-premises, cloud, and hybrid identity scenarios and recommend the appropriate Entra ID deployment model.
  2. Evaluate MFA methods and Conditional Access policies against organisational risk profiles and design a policy framework that balances security with usability.
  3. Design passwordless authentication implementations using FIDO2 security keys, Windows Hello for Business, and Microsoft Authenticator passwordless sign-in.
  4. Recommend the correct authentication protocol (SAML 2.0, OAuth 2.0, OIDC) for federation with third-party identity providers or SaaS applications.
  5. Architect managed-identity solutions for Azure workloads that eliminate stored secrets.
  6. Assess B2C and external-identity scenarios for customer-facing and partner-facing applications.

Building Blocks

Entra ID (formerly Azure Active Directory)Analogy: Azure's phone book and security guard rolled into one — the phone book lists all users and apps, and the guard checks ID before letting anyone in. → Formal definition: a cloud-based identity and access management service that authenticates users and apps, manages devices, and enforces policies across Microsoft and third-party cloud applications. → Why it matters: it is the core identity platform for Azure; without it there is no user access, no MFA, no Conditional Access, no federation.

Multi-Factor Authentication (MFA)Analogy: requiring both a passport and a fingerprint scan to enter a building, rather than just the passport. → Formal definition: a security control that requires two or more independent verification factors — something you know, something you have, something you are — before granting access. → Why it matters: even if passwords are stolen, a second factor is exponentially harder to compromise; MFA reduces breach impact by 99% or more in empirical studies.

Conditional AccessAnalogy: a bouncer who lets you in from your home office with just an ID but demands a fingerprint scan if you arrive from airport WiFi because the risk is higher. → Formal definition: a policy-driven authentication mechanism that grants, challenges, or denies access based on real-time signals — location, device health, user risk, application sensitivity. → Why it matters: it enables risk-based authentication, allowing legitimate users seamless access while blocking suspicious logins automatically.

Passwordless AuthenticationAnalogy: replacing a metal key with a biometric fingerprint reader that is unique to you and impossible to lose or share. → Formal definition: authentication methods that replace or eliminate the password — FIDO2 security keys, Windows Hello for Business (biometric or PIN), certificate-based auth, or Microsoft Authenticator phone sign-in. → Why it matters: passwords are the weakest link; passwordless methods are resistant to phishing and credential stuffing.

Authentication ProtocolAnalogy: a standardised handshake between a user, an app, and an identity provider (IdP) so they all know each other and trust the exchange. → Formal definition: a technical specification for exchanging identity information; common ones are SAML 2.0 (XML-based federation), OAuth 2.0 (delegation/authorisation), and OIDC (authentication layer on top of OAuth). → Why it matters: each protocol solves a different problem; choosing the wrong one breaks interoperability or introduces security gaps.

Managed IdentityAnalogy: a passport-less identity for an Azure resource (VM, Function, App Service) that Azure automatically manages — the service never stores a secret because Azure vouches for it at runtime. → Formal definition: an identity automatically created and managed by Azure for resources to authenticate to other Azure services without storing credentials. Two types: system-assigned (tied to one resource) and user-assigned (reusable across resources). → Why it matters: it eliminates connection strings and secrets from application code.

Deep Dive

Microsoft Entra ID Authentication Fundamentals

Entra ID is the identity layer for Azure. When a user logs in, Entra ID verifies credentials and issues a token. When an app wants to access another service, it authenticates via Entra ID and receives a token. All Azure resources check tokens from Entra ID to decide who you are.

Tenants and users:

ConceptDescriptionExample
TenantA dedicated instance of Entra ID; your organisation's identity boundarycontoso.onmicrosoft.com
Primary userA work/school account managed by your organisationalice@contoso.com
Guest userAn external user invited from a partner organisationbob@partner.com (B2B guest)
Service principalAn identity for an application or serviceApp registration for a custom API
Managed identityAn identity for an Azure resource, managed by AzureSystem-assigned MI for an App Service

Authentication flows:

FlowActorToken issuedUse case
Interactive (auth code)Human user via browserID token + access tokenWeb apps, SPAs
Device codeHuman user on input-limited deviceID token + access tokenCLI tools, IoT
Client credentialsApp (no user)Access token onlyBackend daemon, microservice
On-behalf-ofApp acting for a userAccess tokenMiddle-tier API calling downstream API
ROPC (resource owner)Legacy app sending username/password directlyAccess tokenLegacy migration only — avoid in new designs

[!NOTE] In hybrid scenarios (on-premises Active Directory + Entra ID), you use Microsoft Entra Connect Sync or Microsoft Entra Cloud Sync to synchronise identities. Seamless SSO lets domain-joined users sign in to cloud apps without re-entering credentials.

Multi-Factor Authentication and Conditional Access

MFA is no longer optional for sensitive workloads — it is a best practice and often a compliance requirement.

MFA methods ranked by strength:

MethodPhishing-resistantHardware requiredEase of deploymentBest for
FIDO2 security keyYesUSB/NFC keyMediumAdmins, executives, high-risk roles
Windows Hello for BusinessYesWindows 10+ with TPM 2.0Easy (corporate fleet)Corporate desktop users
Microsoft Authenticator (push)ModerateSmartphoneEasyGeneral workforce
OATH hardware tokenNoPhysical tokenMediumShared workstations, manufacturing
SMS / voice OTPNo (SIM swap risk)PhoneVery easyFallback, low-sensitivity apps

Conditional Access policies evaluate signals at sign-in time and make a real-time grant/deny/challenge decision:

json
{ "displayName": "Require MFA outside corporate network", "state": "enabled", "conditions": { "applications": { "includeApplications": ["All"] }, "users": { "includeUsers": ["All"], "excludeUsers": ["BreakGlassAccount"] }, "locations": { "includeLocations": ["All"], "excludeLocations": ["CorporateNetwork"] } }, "grantControls": { "operator": "OR", "builtInControls": ["mfa"] } }

[!TIP] Start with a baseline: require MFA for Azure Portal, all admin roles, and sensitive apps. Use "Report-only" mode for 1–2 weeks before enforcing. Review the Entra ID sign-in logs to catch false positives before users are blocked.

Named locations and device compliance:

  • A named location is an IP range (e.g., your office CIDR blocks) or country that Entra ID recognises as trusted.
  • Device compliance checks whether a device meets Intune security baselines (BitLocker enabled, antivirus active, OS patched).
  • Combining named locations + device compliance reduces false positives while maintaining strong security.

Passwordless Authentication

Passwordless eliminates the password entirely — a paradigm shift from "something you know" to "something you have" or "something you are."

FIDO2 security keys:

  • A hardware device (USB, NFC, or Bluetooth) storing a private key.
  • The key signs a challenge from the server without revealing the private key.
  • Phishing-resistant: the key is domain-bound — an attacker cannot redirect it to a fake site.
  • Deployment: register keys in the Entra ID portal or via Microsoft Authenticator.

Windows Hello for Business:

  • Biometric (face/fingerprint) or PIN on a Windows device.
  • Private key stored in the Trusted Platform Module (TPM), a hardware security chip.
  • Requires Windows 10+ with TPM 2.0.
  • Deploy via Intune or Group Policy.
powershell
# Check TPM status on a Windows device Get-Tpm | Select-Object TpmPresent, TpmReady, TpmEnabled # Verify Windows Hello for Business registration dsregcmd /status | Select-String -Pattern "NgcSet|WorkplaceJoined|AzureAdJoined"

Microsoft Authenticator passwordless:

  • User sees a number-match prompt on their phone, confirms via biometric, done.
  • Works cross-platform (iOS, Android) — ideal for BYOD.

Certificate-Based Authentication (CBA):

  • Authenticate via X.509 certificate on a smart card or device.
  • Common in government (e.g., US federal PIV/CAC) and regulated industries.

[!IMPORTANT] Passwordless does not mean MFA is unnecessary. Defence in depth means layering passwordless + Conditional Access + device compliance. A FIDO2 key satisfies both the "something you have" and "something you are" factors in a single gesture.

Authentication Protocols: SAML, OAuth 2.0, and OIDC

When integrating third-party applications or federating with partners, you must choose a protocol.

FeatureSAML 2.0OAuth 2.0OIDC
Primary purposeIdentity federationDelegated authorisationAuthentication + authorisation
Token formatXML assertionJWT access tokenID token (JWT) + access token
TransportHTTP POST / redirectHTTPS + JSONHTTPS + JSON
Best forLegacy enterprise apps, on-prem federationAPI access delegationModern SaaS, SPAs, mobile apps
Entra ID supportFull (enterprise apps gallery)Full (app registrations)Full (app registrations)

When to choose which:

Loading Diagram...
Figure 1 — Mermaid diagram

Managed identities for workloads:

When an Azure resource (VM, Function App, Container Instance) needs to authenticate to another Azure service, use a managed identity.

bicep
resource webApp 'Microsoft.Web/sites@2023-01-01' = { name: 'app-contoso-api' location: location identity: { type: 'SystemAssigned' } properties: { siteConfig: { appSettings: [] } } } // Grant the web app access to Key Vault with Azure RBAC. // Azure RBAC is the default access-control model for newly created vaults // (API version 2026-02-01 and later); access policies are the legacy model. resource keyVault 'Microsoft.KeyVault/vaults@2023-07-01' existing = { name: keyVaultName } resource kvSecretsUser 'Microsoft.Authorization/roleAssignments@2022-04-01' = { scope: keyVault name: guid(keyVault.id, webApp.id, 'Key Vault Secrets User') properties: { // Key Vault Secrets User — read secret contents roleDefinitionId: subscriptionResourceId('Microsoft.Authorization/roleDefinitions', '4633458b-17de-408a-b874-0445c86b69e6') principalId: webApp.identity.principalId principalType: 'ServicePrincipal' } }

[!WARNING] Never store connection strings or client secrets in application code or config files when a managed identity is available. Secrets in code leak via git history, error logs, and backup files. Use DefaultAzureCredential in your SDK calls — it automatically discovers managed identities at runtime.

B2C and External Identity Scenarios

Microsoft Entra External ID for customers is a separate service from Entra ID, designed for customer-facing consumer identity management.

ScenarioServiceScaleIdentity source
Employee authenticationEntra IDThousandsCorporate directory
Partner/contractor collaborationEntra ID External Identities (B2B)Dozens to hundredsPartner's own IdP
Customer-facing appMicrosoft Entra External ID for customersMillionsSocial (Google, Facebook), local email

B2C user flow example (sign-up/sign-in with social providers):

yaml
# Conceptual B2C policy configuration userFlows: signUpSignIn: type: signUpOrSignIn identityProviders: - google - facebook - localEmailSignUp userAttributes: - displayName - email - givenName applicationClaims: - sub - email - displayName mfaEnforcement: conditional sessionTimeout: 60 # minutes

When to use B2C vs. External Identities:

  • B2C: you are a SaaS provider or retailer with potentially millions of customer logins; you want full control over the sign-up/sign-in UX.
  • External Identities: you are inviting a handful of partner organisations to collaborate inside your Entra ID tenant; they sign in with their home IdP.

Worked Examples

Easy — Single-Tenant Corporate MFA Rollout

Problem: A medium-sized insurance company (500 employees) uses Entra ID for Microsoft 365 and Azure resources. Currently they enforce passwords with no MFA. They must roll out MFA company-wide for SOC 2 Type II compliance. The workforce is 70% in two corporate offices, 30% remote.

Step-by-step solution:

  1. Assess current state: check how many users have Microsoft Authenticator installed; identify any legacy apps that cannot support modern auth.
  2. Phase 1 (Weeks 1–2): deploy Authenticator via Intune push or manual download. Provide training videos and helpdesk support.
  3. Phase 2 (Week 3): enable MFA registration requirement; users register on next sign-in. Allow Authenticator (push), SMS, and FIDO2.
  4. Phase 3 (Week 4): create a Conditional Access policy — Condition: all cloud apps, all users; Control: require MFA; Exclusion: 2 break-glass accounts.
  5. Monitor: track adoption via Entra ID Authentication Methods Activity report. Follow up with non-compliant users.

[!NOTE] Most users will choose Authenticator (push notification). FIDO2 is ideal for admins and executives — consider it as a Phase 2 initiative.

Medium — Multi-Location Conditional Access with BYOD

Problem: A financial services firm (2,0002{,}000 employees) has offices in New York, London, and Singapore. Employees use both personal laptops (BYOD) and corporate devices. They access Azure Portal, Dynamics 365, and custom banking APIs. They need to allow productivity but block risky logins (e.g., new country at 3 AM).

Step-by-step solution:

  1. Define named locations: Corporate Network = IP ranges of the three offices; Allowed Countries = US, UK, Singapore.
  2. Enable device compliance in Intune: require BitLocker, antivirus, no jailbreak. Non-compliant devices cannot access banking APIs.
  3. Create Conditional Access policies:
    • Policy 1 (Sensitive Apps): Apps = Azure Portal + Dynamics + Banking APIs; Device not compliant → require MFA + compliant device.
    • Policy 2 (High Risk): Sign-in risk = high OR user risk = high → require MFA + password change.
    • Policy 3 (Location Block): Location = outside Allowed Countries → block access entirely.
  4. Test: use Report-only mode for 1 week, review sign-in logs, adjust.
kusto
// Review Conditional Access sign-in failures in Log Analytics SigninLogs | where TimeGenerated > ago(7d) | where ConditionalAccessStatus == "failure" | summarize count() by UserPrincipalName, AppDisplayName, ConditionalAccessPolicies | order by count_ desc | take 20

[!NOTE] Entra ID's impossible-travel detection is automatic. The key is interpreting the risk signals and mapping them to the right control — block vs. step-up MFA vs. allow.

Hard — Hybrid Identity with Federation, B2C, and Managed Identities

Problem: A healthcare company has 1,5001{,}500 employees on on-premises AD, a patient-facing mobile app (100,000100{,}000+ users needing social login), and a backend microservice in Azure Container Instances that reads patient records from Azure SQL Database without storing secrets.

Step-by-step solution:

  1. Hybrid identity: deploy Microsoft Entra Cloud Sync to synchronise on-premises AD users to Entra ID. Enable Seamless SSO so domain-joined users sign in to cloud apps automatically.
  2. B2C for patients: create a separate Microsoft Entra External ID for customers tenant. Define a sign-up/sign-in user flow with Google, Facebook, and local email. Integrate the mobile app (iOS/Android) via MSAL. B2C returns an ID token + access token on sign-in.
  3. Managed identity for the microservice: enable a system-assigned managed identity on the Container Instance. In Azure SQL Database, create a contained database user mapped to the MI. Grant SELECT on patient tables. In code, use DefaultAzureCredential to obtain a token scoped to https://database.windows.net.
  4. Conditional Access for employees: require MFA for Salesforce; block high-risk countries; require compliant devices for Azure Portal.
sql
-- Create a contained database user for the managed identity in Azure SQL. -- The Azure CLI has no subcommand that runs T-SQL against a database — run this -- against PatientDB as an Entra ID admin from the portal query editor, SSMS, or sqlcmd. CREATE USER [aci-patient-reader] FROM EXTERNAL PROVIDER; ALTER ROLE db_datareader ADD MEMBER [aci-patient-reader];

[!NOTE] Three identity systems coexist: on-premises AD (employees, synced to Entra ID), Entra ID (cloud and hybrid), and B2C (patients). Each is isolated and purpose-built.

Visual Explanations

Entra ID Authentication Flow (Mermaid)

Loading Diagram...
Figure 2 — Mermaid diagram

Caption: The basic authentication flow. The user provides credentials and MFA; Entra ID validates, evaluates Conditional Access, and issues a JWT. The resource verifies the token and grants access.

Conditional Access Decision Tree (Mermaid)

Loading Diagram...
Figure 3 — Mermaid diagram

Caption: Conditional Access evaluates real-time signals (location, device state, risk level) and makes a dynamic decision: allow, challenge with MFA, or block.

Authentication Protocol Comparison (TikZ)

Compiling TikZ diagram…
Running TeX engine…
This may take a few seconds
Figure 4 — TikZ diagram

Caption: Evolution and comparison of authentication protocols. SAML 2.0 handles legacy federation, OAuth 2.0 handles API delegation, and OIDC extends OAuth with an authentication layer for modern apps.

Passwordless Methods Comparison Table

MethodPhishing-resistantEase of setupHardware requiredBest for
FIDO2 security keyYes (strongest)MediumUSB/NFC keyC-suite, admins, high-risk roles
Windows Hello for BusinessYesEasy (corporate fleet)Windows 10+ with TPM 2.0Corporate desktop/laptop users
Microsoft Authenticator (passwordless)ModerateEasySmartphoneRemote workers, general workforce
SMS OTPNo (SIM swap risk)Very easyPhone (any)Fallback only, low-sensitivity apps
Certificate-based auth (CBA)YesHardSmart card or device certGovernment, regulated industries

Caption: FIDO2 and Windows Hello are phishing-resistant and recommended for high-value accounts. Authenticator is the easiest cross-platform option. SMS should only be a fallback.

Common Mistakes

Myth: "We require MFA for all users, so we are fully secure." ✅ Reality: MFA adds a second factor but does not adapt to risk. If an attacker compromises a password and tricks the user into approving an MFA push (MFA fatigue), they gain access. Conditional Access adds a third dimension: even if MFA passes, it can block access from high-risk locations or non-compliant devices. Why it's tricky: MFA feels like a complete solution because users see the second prompt. Conditional Access is invisible to legitimate users but invaluable against advanced attacks. Many teams stop after enabling MFA.

Myth: "We use SAML for all cloud integrations because it is the enterprise standard." ✅ Reality: SAML was designed in the 2000s for on-premises federation. OIDC, built on OAuth 2.0, is the modern standard for cloud applications and APIs. Most SaaS apps prefer OIDC. Using SAML for a new cloud-native app is like insisting on fax when email is available — it works, but you lose features and integration capabilities. Why it's tricky: SAML is mature and stable; many architects learned it first. The mental model says "SAML = enterprise." But OIDC is now the enterprise standard for cloud; the switch requires updating app registrations but yields simpler code and better API support.

Myth: "We store the database connection string in our app's config. It is in a private repo, so it is safe." ✅ Reality: Secrets in code leak via git history, error logs, deployment artefacts, and backup files. A junior developer commits a secret; it lives in the repo forever. A managed identity eliminates this risk entirely — Azure vouches for the app at runtime with a short-lived token. Why it's tricky: Managed identities require a mental shift from "here is the key, use it" to "Azure will give you a temporary key at runtime." The first approach feels simpler but is architecturally fragile.

Myth: "All users must comply with our Conditional Access policies — no exceptions." ✅ Reality: If a Conditional Access misconfiguration blocks all users — including admins — you lose access to your tenant. You must maintain 2 break-glass (emergency access) accounts excluded from all policies. These accounts have long complex passwords, no MFA, are monitored by alerts, and are only used in emergencies. Why it's tricky: Excluding accounts feels insecure. But 2 heavily guarded break-glass accounts are far safer than a complete tenant lockout with no recovery path.

Practice Exercises

🟢 Easy — A start-up with 50 employees uses Entra ID for Microsoft 365. They have no MFA today. Which single Conditional Access policy should they deploy first?

💡 Hint

Think about the highest-risk access point that is also the easiest to protect.

✅ Solution

Require MFA for all users accessing all cloud apps. Exclude 2 break-glass accounts. This is the single highest-impact policy and covers the broadest attack surface. At 50 users, a blanket policy is manageable.

🟢 Easy — An app registration in Entra ID returns both an ID token and an access token after sign-in. Which authentication protocol is being used?

💡 Hint

SAML uses XML assertions. OAuth 2.0 returns only an access token. Which protocol adds an ID token on top of OAuth?

✅ Solution

OpenID Connect (OIDC). It extends OAuth 2.0 by adding an ID token (JWT with identity claims) alongside the access token.

🟡 Medium — A pharmaceutical company has offices in Boston and Toronto. Remote workers use personal laptops. They access a HIPAA-regulated patient records app on Azure App Service. Design a Conditional Access policy set.

💡 Hint

Consider: (1) named locations for offices, (2) device compliance for BYOD, (3) the sensitivity of HIPAA data, (4) break-glass exclusions.

✅ Solution

Policy 1: Condition = Patient Records App + location not in "Boston" or "Toronto" named locations → Control = require MFA. Policy 2: Condition = Patient Records App + device not Intune-compliant → Control = require MFA + compliant device. Exclusion on both: break-glass accounts and service accounts. This allows office workers frictionless access on compliant devices while remote/BYOD users must satisfy MFA and device compliance.

🟡 Medium — A web app on Azure App Service needs to read secrets from Azure Key Vault. Currently the connection string is in appsettings.json. Redesign this using a managed identity.

💡 Hint

Enable a system-assigned managed identity on the App Service. Assign it the Key Vault Secrets User role on Key Vault. Update the code to use DefaultAzureCredential.

✅ Solution

Enable the system-assigned managed identity on the App Service (Bicep: identity: { type: 'SystemAssigned' }). On the Key Vault, assign the built-in Key Vault Secrets User role to the App Service's managed identity — Azure RBAC is the default access-control model for newly created vaults, and access policies are the legacy model. In code, replace the connection string with new SecretClient(vaultUri, new DefaultAzureCredential()). Remove the secret from appsettings.json and git history entirely.

🔴 Hard — A logistics company wants to: (a) allow 10,00010{,}000+ customers to track shipments via a web portal with social login, and (b) allow 5 partner logistics companies to access a shared shipment database (read-only). Should they use Microsoft Entra External ID for customers, Entra ID External Identities, or a combination? Justify.

💡 Hint

Consider scale (10,00010{,}000+ vs. 5), governance (self-service vs. admin-provisioned), social login needs, and identity isolation.

✅ Solution

Customers: Use Microsoft Entra External ID for customers. Rationale: 10,00010{,}000+ external, unmanaged identities at consumer scale. B2C supports social login (Google, Facebook), self-service sign-up, and is isolated from the corporate tenant. Partners: Use Entra ID External Identities (B2B guest). Rationale: only 5 known organisations; invite their users as guests. They sign in with their home IdP and inherit your Conditional Access policies. Architecture: two separate identity systems — B2C for customers (public portal) and Entra ID for partners (governed, internal). This ensures compliance (customers never touch the corporate tenant) and appropriate scale.

🔴 Hard — A healthcare company has on-premises AD (1,5001{,}500 employees), a patient mobile app (100,000100{,}000+ users), and a backend microservice in Azure Container Instances that reads from Azure SQL Database. Design the complete authentication architecture covering all three identity populations.

💡 Hint

Think: (1) hybrid identity for employees, (2) B2C for patients, (3) managed identity for the microservice. How do these three coexist?

✅ Solution

Employees: deploy Microsoft Entra Cloud Sync to synchronise on-prem AD to Entra ID. Enable Seamless SSO for domain-joined devices. Apply Conditional Access policies (MFA for sensitive apps, compliant devices for Azure Portal). Patients: create a separate Microsoft Entra External ID for customers tenant. Define a sign-up/sign-in user flow with Google, Facebook, and local email. The mobile app uses MSAL to authenticate and receives ID + access tokens. Microservice: enable a system-assigned managed identity on the Container Instance. Create a contained database user in Azure SQL mapped to the MI. Grant db_datareader. In code, use DefaultAzureCredential for token-based SQL auth. Result: three isolated identity systems, zero stored secrets, strong MFA for employees, frictionless social login for patients.

Summary & Concept Map

  • Entra ID is the foundational identity platform for every Azure authentication scenario — employees, apps, and services all authenticate through it.
  • MFA + Conditional Access together form the modern security baseline: MFA alone is insufficient; Conditional Access adds risk-adaptive, context-aware enforcement.
  • Passwordless methods (FIDO2, Windows Hello for Business, Microsoft Authenticator) eliminate the weakest link — the password — and should be the target state for all organisations.
  • OIDC is the modern standard for SaaS and cloud app integration; use SAML 2.0 only for legacy federation scenarios that do not support OIDC.
  • Managed identities eliminate stored secrets for Azure workloads — always prefer them over connection strings or client secrets.
  • Use B2C for consumer-scale external identity (social login, self-service) and External Identities for governed B2B partner collaboration.
  • Always maintain 2 break-glass accounts excluded from all Conditional Access policies to prevent tenant lockout.
Loading Diagram...
Figure 5 — Mermaid diagram
LO Quick Note796 words

Quick Note — Recommend an Identity Management Solution

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend an identity management solution

Read full article

Quick Note — Recommend an Identity Management Solution

This lesson covers the identity lifecycle—how on-premises and cloud-based identities are synchronized, provisioned, and managed in hybrid and cloud-native Azure environments. Based on AZ-305 exam guidance (Ch. 2, §2.2, p. 47–65), the focus is on synchronization strategy, Seamless SSO, group sync, B2B/B2C, and managed identities. Identity management is distinct from authentication (LO4) and authorization (LO6/7) — we emphasize the lifecycle: how identities are created, synced, and deprovisioned.

Retrieval target

Recommend an Identity Management Solution
Closed-book recall
5 minutes
Open the full lesson after a miss

Decision anchors

PromptCompact answer
Entra ID user — Member vs GuestTwo userType values in an Entra tenant. Member — a regular employee identity owned by your tenant (default for synced or in-cloud-created users). Guest — an external person invited via B2B; they sign in with their home tenant's identity and appear in your directory but cannot be assigned licenses by default and have a more limited Directory view.
Dynamic groupAn Entra ID group whose membership is determined by a rule over user (or device) attributes — e.g., user.department -eq "Sales". Members join and leave automatically as attributes change. Requires Entra ID P1 licensing. Use for license / app assignment that should track org changes without manual list maintenance.
Service principalThe identity an application, service, or automation uses to authenticate to Entra-protected resources. Created automatically when you register an app in the portal. Two flavors: Application service principal (manual app registration, you manage the credential) and Managed identity (Azure-managed credential lifecycle, see separate card).
Managed identityA service principal whose credential is created, rotated, and deleted by Azure — your code never sees a secret. Available on most Azure compute (VM, VMSS, App Service, Functions, Logic Apps, AKS). Get a token from the IMDS endpoint, present it to any resource that does Entra auth (Storage, Key Vault, SQL, etc.).

Read the answers once, then cover the right-hand column and reconstruct each one from the prompt. A useful answer names the requirement, the recommended control or service boundary, and the nearest alternative it rejects. If you can only recognize the answer after seeing it, retrieval is not yet secure.

Ninety-second explanation

Without notes, explain:

  1. What requirement signals this learning objective rather than a neighbouring one?
  2. Which two solution families are most likely to be compared?
  3. Which hard constraint eliminates the strongest distractor?
  4. What identity, network, data, or failure boundary must appear in the design?
  5. Which operational test would prove the recommendation works?

Then compare your explanation with the full lesson. Record the missing decision rule—not merely the missed product name—in your error log.

Loading flashcards…

When to open the full lesson

Open the curriculum-linked lesson when you cannot explain a comparison, when a scenario depends on a numeric limit or SKU feature, or when the service is on a retirement path. Use current Microsoft Learn documentation for availability, limits, pricing, naming, and migration milestones; the quick note is intentionally compact.

Source and freshness

Derived from the linked AZ-305 lesson and retrieval deck, grounded in both attached course sources. Reviewed 2026-08-02. Current Microsoft documentation controls changing product contracts.

Lesson6,130 words

Recommend an Identity Management Solution — Lesson

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend an identity management solution

Read full article

Recommend an Identity Management Solution — Lesson

This lesson covers the identity lifecycle—how on-premises and cloud-based identities are synchronized, provisioned, and managed in hybrid and cloud-native Azure environments. Based on AZ-305 exam guidance (Ch. 2, §2.2, p. 47–65), the focus is on synchronization strategy, Seamless SSO, group sync, B2B/B2C, and managed identities. Identity management is distinct from authentication (LO4) and authorization (LO6/7) — we emphasize the lifecycle: how identities are created, synced, and deprovisioned.

Why This Matters

Identity management underpins security architecture. In hybrid organizations, on-premises directories contain thousands of user accounts; moving to Azure requires a synchronization strategy that is secure, low-latency, and maintainable. Wrong choices lead to:

  • Orphaned accounts in the cloud with no on-premises counterpart (manual cleanup cost).
  • Sync failures that break productivity (users cannot sign in).
  • Security gaps (e.g., federation without proper token validation).
  • B2B/B2C confusion (guest collaboration vs. customer identity, different policies).
  • Managed identity misuse (resource-to-resource auth becomes fragile if you pick system-assigned when user-assigned is better).

AZ-305 expects you to recommend the right identity solution given a scenario: a multi-site enterprise, a startup going cloud-first, a partner ecosystem requiring B2B access, or a customer-facing app needing B2C. This lesson equips you to make that call.

Prerequisites

  • Active Directory basics — domain controller, OU, group policy, trust relationships. Self-check: what is the role of a domain controller in Kerberos authentication?
  • Microsoft Entra ID (Entra ID) fundamentals — tenants, users, groups, app registrations, role assignments. Self-check: what is the difference between a security group and a Microsoft 365 group in Entra ID?
  • Azure networking — VNets, on-premises connectivity (ExpressRoute, VPN). Self-check: which connectivity method does Entra Connect use to reach Entra ID — internet HTTPS or private endpoint?
  • PKI and certificates — SSL/TLS, token signing, federation metadata. Self-check: why does AD FS require a token-signing certificate?
  • Authentication concepts — passwords, MFA, SSO, SAML, OAuth 2.0, OpenID Connect. Self-check: what is the difference between SAML and OpenID Connect?

Learning Objectives

After completing this lesson, you will be able to:

  1. Evaluate synchronization methods (PHS, PTA, Federation) and recommend the right one for a given scenario (latency, security, complexity).
  2. Configure Seamless SSO and explain how it interacts with PHS/PTA to reduce password prompts.
  3. Design group synchronization (scoping filters, group writeback) for role-based access control in hybrid deployments.
  4. Distinguish B2B from B2C identities and recommend collaboration tools (guest users, B2B cross-tenant access) vs. customer identity platforms (custom policies, external identity providers).
  5. Choose between system-assigned and user-assigned managed identities for workloads and explain when to avoid managed identities entirely (switch to service principals).
  6. Architect an end-to-end identity solution combining Entra Connect sync, Seamless SSO, managed identities, and B2B/B2C policies.

Building Blocks

Entra ConnectAnalogy: think of a postal sorting office that takes letters from your local mailboxes (on-prem AD) and delivers copies to a central hub (cloud Entra ID) on a regular schedule. → Formal definition: an on-premises synchronisation engine (formerly Azure AD Connect) that replicates user, group, and contact objects from Active Directory to Microsoft Entra ID. It supports three authentication methods: PHS, PTA, and Federation. → Why it matters: Entra Connect is the bridge between your on-prem identity store and the cloud — getting its sync method and scoping right determines sign-in latency, disaster recovery posture, and compliance stance.

Password Hash Sync (PHS): Entra Connect hashes the user's on-prem password and syncs the hash to the cloud. The user types their on-prem password at cloud sign-in; Azure computes the hash and matches it. No password exposure over the internet.

Pass-Through Authentication (PTA): User enters password at cloud sign-in; Azure forwards it to an on-prem agent, which validates it against Active Directory. The password never leaves the organization.

Federation (AD FS)Analogy: a trusted notary who vouches for your identity — the cloud never sees your password; it only sees the notary's signed stamp. → Formal definition: AD FS (or a third-party STS) acts as a trust broker; the user is redirected on-prem for authentication, and AD FS issues a SAML token back to Entra ID. → Why it matters: Federation gives full control over authentication logic (custom MFA, hardware tokens, biometrics) but carries the highest infrastructure and maintenance cost.

Seamless SSOAnalogy: an automatic badge swipe — your domain-joined laptop silently proves your identity via Kerberos, so you never type a password for cloud apps. → Formal definition: an optional add-on for PHS or PTA that uses the AZUREADSSOACC computer account in on-prem AD to issue Kerberos tickets accepted by Entra ID. → Why it matters: eliminates password fatigue for corporate network users without requiring Federation infrastructure.

Group Synchronization: Entra Connect syncs on-prem security groups and distribution groups to the cloud. Writeback of cloud-created security groups to on-prem AD DS is performed by Microsoft Entra Cloud Sync, not Entra Connect Sync (requires Microsoft Entra ID P1).

Managed Identities: Azure resources (VMs, App Services, Functions, Logic Apps, Data Factory, Synapse, Kubernetes) get an identity from Entra ID without managing secrets. System-assigned = 1:1 with resource. User-assigned = many resources share one identity.

Service Principals: The Azure object backing an app registration or managed identity. Used for resource-to-resource authentication.

B2B (Business-to-Business): Invite external users (partners, vendors, contractors) as guests into your Entra ID tenant. They retain their home org identity. Useful for collaboration, not customer identity.

B2C (Business-to-Customer): Customer identity is delivered by Microsoft Entra External ID in a separate external tenant — Azure AD B2C is the legacy product and, effective May 1, 2025, is no longer available to purchase for new customers. Customers sign up, reset passwords, and authenticate without an internal user account. Supports external identity providers (Google, Facebook, Apple, SAML, OpenID Connect).

Deep Dive

1. Synchronization Methods: PHS vs. PTA vs. Federation

Password Hash Sync (PHS)

  • How it works: Every two minutes, Entra Connect hashes on-prem passwords (one-way, salted) and syncs them to the cloud. User signs into Azure with the same password.
  • Pros: Low latency (no on-prem call required), simple to deploy, built-in disaster recovery (if on-prem AD is down, users can still sign in with cached credentials).
  • Cons: Requires trust in Microsoft's hashing; not suitable if compliance mandates passwords never leave the office.
  • Use when: You want simplicity, resilience, and cloud-first migration; you have reliable Entra Connect health monitoring.
  • Infrastructure: One Entra Connect server (or two in staging for HA), no extra agents required.
bicep
resource entraConnect 'Microsoft.ADHybridHealthService/services@2014-01-01' = { name: 'entra-connect-phs' properties: { serviceType: 'AzureActiveDirectoryConnect' health: true } }

[!TIP] Always enable Entra Connect Health monitoring alongside PHS — it surfaces sync failures, hash-mismatch events, and agent-health issues before users notice broken sign-ins.

Pass-Through Authentication (PTA)

  • How it works: User enters password at cloud sign-in; Entra ID forwards the credential to an on-prem agent (running on a server or VM), which validates it against Active Directory. Password is never stored in the cloud.
  • Pros: Passwords never sync or hash; passwords never stored in cloud; tight on-prem control (if you disable on-prem account, cloud access stops immediately); works with Seamless SSO.
  • Cons: Extra on-prem infrastructure (agents); latency (on-prem call per sign-in); if agents fail, sign-in fails (need HA).
  • Use when: Compliance requires passwords to never leave on-premises; you have reliable on-prem network connectivity and agent infrastructure.
  • Infrastructure: 2–3 PTA agents on-prem (HA), each running the PTA agent service; ensure redundancy.
powershell
# Register a PTA agent on an on-prem server Install-Module -Name AzureADConnect Register-AzureADConnectAuthenticationAgent ` -TenantId "contoso.onmicrosoft.com" ` -AgentGroupName "PTA-HA-Group"

[!WARNING] If all PTA agents go offline simultaneously, users cannot sign in — there is no cached-credential fallback as with PHS. Deploy agents in at least 2 separate data centres or availability zones.

Federation (AD FS / Custom STS)

  • How it works: User is redirected to an on-prem identity provider (AD FS, Okta, Ping Identity, etc.). The provider authenticates the user and issues a SAML 2.0 token; the user's browser posts the token to Entra ID, which trusts it and issues a cloud token.
  • Pros: Full control over authentication (custom MFA, device checks, hardware tokens); integrates with third-party identity solutions; existing AD FS investment.
  • Cons: Highest complexity; requires PKI, token signing certs, and federation metadata; single point of failure if on-prem STS is down; latency (user is redirected on-prem).
  • Use when: You need custom authentication logic; you have an existing AD FS or third-party STS; you require on-prem MFA device integration.
  • Infrastructure: AD FS farm (2+ servers for HA), WAP (Web Application Proxy) for external access, certificate management.

Decision Matrix

CriterionPHSPTAFederation
Password storage in cloudHashed onlyNoNo
On-prem infrastructureMinimalModerate (agents)High (AD FS farm)
Sign-in latencyLowMediumMedium–High
Custom auth logicNoNoYes
Disaster recoveryExcellent (cached)Good (multiple agents)Fair (depends on on-prem)
CostLowestMediumHigh

2. Seamless SSO and Group Synchronization

Seamless SSO

Enables silent, password-less sign-in when the user is on a domain-joined computer and within the corporate network.

  • How: Browser sends an HTTP request with Kerberos ticket (created via Windows NTLM) to a special Azure endpoint. No password prompt.
  • Works with: PHS and PTA (not Federation; Federation already handles on-prem auth).
  • Setup: Entra Connect wizard, relies on the AZUREADSSOACC computer account in on-prem AD.
  • Deployment: Requires group policy or registry to set Azure endpoints as trusted sites in Internet Explorer / Edge.
  • Benefit: Reduces password fatigue; users expect seamless experience on corporate networks.

Group Synchronization

  • Default: On-prem security groups and distribution groups sync to Entra ID (read-only unless writeback enabled).
  • Scoping: Use Entra Connect filtering to sync only certain OUs, groups, or user cohorts (e.g., sales only, not finance). Reduces Entra ID object count and blast radius if sync misconfigures.
  • Writeback: Cloud-created security groups can be provisioned back to on-prem AD DS by Microsoft Entra Cloud Sync (Microsoft Entra ID P1 license required); group writeback v2 in Entra Connect Sync is deprecated and no longer supported, and only Microsoft 365 group writeback (v1) remains there. Useful for role-based groups created in the cloud that need on-prem permissions.

[!NOTE] Dynamic membership groups created in Entra ID do not support writeback to on-premises AD. If your access model relies on dynamic groups, keep those assignments cloud-only and use static security groups for any on-prem permission grants.

  • Group types: Mail-enabled security groups, distribution groups. Dynamic groups in the cloud do not sync back.
  • Use case: Grant on-prem file share access based on cloud role membership, or cloud-based conditional access policies based on on-prem group membership.

3. B2B vs. B2C Identities

B2B (Business-to-Business) — Guest Users in Your Tenant

  • Scenario: Partner company employees, external consultants, vendors need access to your Azure resources, Microsoft 365, or apps.
  • Mechanism: Invite them as "Guest" users into your Entra ID. They authenticate to their home organization; you trust their home org's authentication.
  • Identity: Guest user has a UPN like partner@partner.onmicrosoft.com#EXT#@yourtenant.onmicrosoft.onmicrosoft.com; their directory lives in their home tenant.
  • Licensing: Guest users don't consume your Entra ID licenses; they consume licenses in their home org. You pay only if they access resources you own (Microsoft 365, Azure apps).
  • Conditional access: You can enforce conditional access policies on guests (require MFA, device compliance).
  • B2B Cross-Tenant Access: Advanced feature — configure mutual trust with partner tenants to simplify guest invitation and resource sharing.
json
{ "crossTenantAccessPolicy": { "partner": { "tenantId": "partner-tenant-guid", "b2bCollaborationInbound": { "usersAndGroups": { "accessType": "allowed" }, "applications": { "accessType": "allowed", "targets": [{ "appId": "app-guid" }] } }, "trustSettings": { "isCompliantDeviceAccepted": true, "isMfaAccepted": true } } } }
  • Use case: Allowing partners to collaborate on a project SharePoint site, granting a contractor access to a Web App, or giving vendors read access to a Power BI dashboard.

B2C (Business-to-Customer) — Customer Identity

  • Scenario: Your app serves external customers. You need a way for customers to sign up, sign in, reset passwords, and authenticate without having them as internal users.
  • Tenant: Separate Microsoft Entra external tenant provisioned for External ID (different domain, different management). The legacy Azure AD B2C tenant is no longer available to purchase for new customers as of May 1, 2025 — design greenfield customer identity on External ID.
  • User journeys: Customizable flows—sign-up, sign-in, password reset, profile edit. You control UI, validation, and post-auth redirects.
  • Identity providers: Customers can authenticate via their own credentials (email/password), or via external providers (Google, Facebook, Twitter, SAML, OpenID Connect).
  • Custom policies: SAML and OpenID Connect support. Build complex auth flows (e.g., "sign in with LinkedIn, then MFA, then consent screen").

[!IMPORTANT] A B2C tenant is a separate Entra ID tenant — it does not share users, groups, or policies with your primary (workforce) tenant. Treat it as an independent boundary for licensing, compliance, and data residency.

  • Licensing: B2C billing is per-authentication (monthly active users). Significantly cheaper than internal licensing for large customer bases.
  • Use case: E-commerce site with millions of customers, SaaS platform with free tier sign-ups, mobile app with social login.

B2B vs. B2C Comparison Table

AspectB2BB2C
User typePartner employees, contractorsCustomers, end-users
Identity ownershipHome org (federated)B2C tenant
License costHome org paysPay-per-MAU in B2C
CustomizationLimited (Entra ID constraints)Extensive (custom policies)
External IdPLimited (Entra ID federation)Full (Google, Facebook, SAML, OIDC)
MFA enforcementConditional accessCustom policies
Multi-tenancyGuest in one tenantSingle B2C tenant

4. Managed Identities: System-Assigned vs. User-Assigned

Why Managed Identities?

When an Azure resource (VM, App Service, Function, etc.) needs to authenticate to another resource (Key Vault, storage account, SQL database), it needs credentials. Managed identities provide credentials automatically without you managing secrets.

System-Assigned Managed Identity

  • Lifecycle: Created when the resource is created; deleted when the resource is deleted. 1:1 relationship.
  • Identity: A service principal in Entra ID with the same name/ID as the resource.
  • Scope: Can be accessed only by that one resource.
  • Use when: Resource accesses a single backend (e.g., App Service → Key Vault). Tight coupling is acceptable.
  • Cons: If you scale the resource (e.g., multiple App Service instances), they all share the same identity (no fine-grain audit trail per instance).

User-Assigned Managed Identity

  • Lifecycle: Created separately, can be assigned to multiple resources. Many-to-one relationship.
bash
# Create a user-assigned managed identity az identity create \ --name mi-app-tier \ --resource-group rg-identity \ --location eastus # Assign it to an App Service az webapp identity assign \ --name webapp-prod \ --resource-group rg-app \ --identities /subscriptions/{sub}/resourceGroups/rg-identity/providers/Microsoft.ManagedIdentity/userAssignedIdentities/mi-app-tier
  • Identity: A standalone Entra ID service principal; you control its lifecycle.
  • Scope: Can be shared across resources in the same or different resource groups/subscriptions.
  • Use when: Multiple resources share the same backend identity, or you want to reuse an identity across deployments (Terraform, ARM templates).
  • Pros: Better for Infrastructure-as-Code (lifecycle matches app tier, not individual resource). Easier to rotate (one change, all consumers updated).

System-Assigned vs. User-Assigned Decision

FactorSystem-AssignedUser-Assigned
LifecycleTied to resourceIndependent
SharingSingle resourceMultiple resources
Audit trailBlended (instance-level)Clear (identity-level)
IaC friendlyNo (tied to resource)Yes (portable)
ComplexityLowMedium
CostFreeFree

When NOT to Use Managed Identities

  • Legacy app requires hardcoded connection strings or keys (use Key Vault reference or app settings instead).
  • Cross-tenant authentication (managed identity works within one tenant; use service principal with certificate).
  • Third-party service without Entra ID support (store secret in Key Vault, reference in app).

Worked Examples

Example 1: Easy — Single-Site Hybrid Sync

Scenario

A mid-size bank (500 users) has on-premises Active Directory and is piloting Azure cloud services. Users should sign into Azure apps with their current on-prem password. There are no special compliance mandates about password location. You need high availability and minimal on-prem infrastructure changes.

Solution

  1. Deploy Entra Connect on a server (or VM) in the on-prem data center, with a staging replica for HA.
  2. Choose PHS: Users sync to the cloud with password hashes. Setup is fast, and if on-prem AD goes down temporarily, users can still access cloud apps (cached login). Cost is minimal.
  3. Enable Seamless SSO for domain-joined workstations: users on corporate network won't be prompted for password when accessing cloud apps.
  4. Sync on-prem groups to govern access: Finance group in on-prem AD → Finance group in Entra ID → assign Azure RBAC roles or app access.
  5. Monitor: Set up Entra Connect Health monitoring; alert on sync failures.
kusto
SigninLogs | where AppDisplayName == "Microsoft Entra ID Connect" | where ResultType != "0" | summarize FailedSyncAttempts = count() by bin(TimeGenerated, 1h), UserPrincipalName | order by FailedSyncAttempts desc

Example 2: Medium — Partner Collaboration with B2B

Scenario

A software vendor partners with an outsourced QA firm (20 employees) who need access to your Azure DevOps project, a shared SharePoint site, and a test environment. Grant access without creating internal accounts; restrict to test only.

Solution

  1. Invite B2B guests: Use "Invite external user" in Entra ID. Guests authenticate to their home org (the QA firm's Entra ID or Microsoft account).
  2. Azure RBAC assignment: Assign the QA team a custom role (Contributor on test RG, Reader on DevOps) at the test resource group scope.
  3. Conditional access: Require MFA for guests accessing your environment (corporate policy). Guest must authenticate to their home org first; then Azure validates the token.
  4. Application integration: If you have a custom web app, add the guest's home org tenant as an external identity provider (federated); they can sign in with their corporate credentials.
  5. Monitor guest activity: Use Entra ID sign-in logs to audit guest access; revoke access by deleting the guest user (no cleanup in their home org).

Example 3: Hard — Multi-Tenant SaaS with Managed Identities and B2C

Scenario

You are building a SaaS analytics platform. Customers (enterprises) want to sign their end-users (employees) into your app using their own Entra ID (i.e., your app is a multi-tenant app in their Entra IDs). You also have a B2C tier for small business customers who sign up directly. Your backend consists of a Node.js App Service that calls a SQL database and reads/writes to a storage account. You need least-privilege access and audit trails per customer.

Solution

  1. Multi-tenant app registration: Register your app in your tenant with "Accounts in any Entra ID tenant" (multi-tenant). Customers add your app to their Entra ID; their users sign in via Entra ID.
  2. External ID for self-serve customers: Create a separate Microsoft Entra external tenant for direct sign-ups (email/password, one-time passcode, Google login); Azure AD B2C is closed to new purchases as of May 1, 2025. Those customer users are redirected to your multi-tenant app after signing in.
  3. User-assigned managed identity for the App Service: Create one identity scoped to serve the app tier. It has:
    • db_datareader, db_datawriter roles in SQL Database.
    • Storage Blob Data Contributor on the storage account.
    • Key Vault Secrets User on the key vault (to fetch database connection string, API keys).
  4. Token refresh logic: App Service code fetches a managed identity token at startup and caches it (with 1-minute refresh buffer). Call Key Vault and SQL via token.
  5. Per-customer data isolation: App code filters data by customer_id (from the signed-in user's token claim). SQL row-level security (RLS) enforces this at the database layer.
  6. Audit: Enable SQL audit and storage account logging. Managed identity sign-in attempts appear in Entra ID logs (track which tenant's users hit your app).

Visual Explanations

Diagram 1: Sync Methods at a Glance

Loading Diagram...
Figure 1 — Mermaid diagram

Diagram 2: B2B Guest Collaboration Flow

Loading Diagram...
Figure 2 — Mermaid diagram

Diagram 3: Managed Identity Lifecycle

Loading Diagram...
Figure 3 — Mermaid diagram

Diagram 4: Group Sync with Writeback

Loading Diagram...
Figure 4 — Mermaid diagram

Comparison Table: Identity Management Patterns

PatternUse CaseAuth MethodInfrastructure
PHS + Seamless SSOHybrid, cloud-first migrationPassword hash + Kerberos1 Entra Connect server
PTA + Seamless SSOCompliance: passwords on-premPass-through validation2–3 PTA agents
Federation (AD FS)Custom auth, existing STSSAML 2.0 tokenAD FS farm + WAP
Cloud-OnlyStartup, no on-prem ADEntra ID nativeEntra ID only
B2B Guest CollaborationPartner/vendor accessExternal Entra ID tenantConditional access policies
B2CCustomer identityEmail/password, social IdPB2C tenant + custom policies

Example TikZ Figure: Seamless SSO Handshake

Compiling TikZ diagram…
Running TeX engine…
This may take a few seconds
Figure 5 — TikZ diagram

Managed Identity Costs and Coverage

Resource TypeSystem-AssignedUser-AssignedNotes
App ServiceBoth fully supported
VMBoth fully supported
Function AppsBoth fully supported
Container InstancesBoth fully supported
Logic AppsBoth fully supported
Data FactoryBoth fully supported
Azure SynapseBoth fully supported
AKS (Kubelet)User-assigned only; kubelet agents use it
Cost per identityFreeFreeNo per-identity charge

Common Mistakes

Myth: "We chose PTA, so passwords are more secure than PHS." ✅ Reality: PTA validates passwords on-prem, but the password transmission from client to cloud is over HTTPS — equally secure for both PHS and PTA. The real benefit of PTA is policy control: if you disable a user on-prem, cloud access stops immediately. Choose PTA for enforcement latency, not transport security. Why it's tricky: The name "Pass-Through" implies the password travels somewhere unsafe, but HTTPS protects the wire in both models.

Myth: "Seamless SSO requires Federation (AD FS)." ✅ Reality: Seamless SSO works with PHS and PTA only — it does not work with Federation, because Federation already handles on-prem authentication via SAML token redirect. If you want silent Kerberos-based sign-in for domain-joined users, pair PHS or PTA with Seamless SSO. Why it's tricky: Federation also provides "single sign-on," but through a completely different mechanism (SAML redirect, not Kerberos ticket). The exam uses both terms and expects you to distinguish them.

Myth: "We should sync all on-prem groups to the cloud; Entra ID will auto-manage them." ✅ Reality: Over-syncing groups clutters Entra ID and creates orphaned permissions. Use scoping filters in Entra Connect to sync only groups relevant to cloud workloads (e.g., functional teams, not legacy distribution lists). Entra ID does not auto-delete or auto-disable stale synced groups — you must audit and prune regularly. Why it's tricky: The default Entra Connect configuration syncs all groups, which feels like the safe choice. In practice it creates noise that makes RBAC auditing harder.

Myth: "B2B guests can just use a personal Microsoft account — it works fine." ✅ Reality: B2B guests can authenticate with personal MSAs, but you cannot enforce conditional access policies (MFA, device compliance) on personal accounts. Best practice: require guests to authenticate to their organizational Entra ID. For freelancers without one, invite as personal MSA but layer stricter conditional access (always require MFA, restrict to managed devices). Why it's tricky: The invitation flow accepts any email, and personal MSAs "just work" — the security gap only surfaces when you try to enforce compliance policies.

Myth: "System-assigned managed identity is always simpler — just use it everywhere." ✅ Reality: System-assigned is simpler per resource, but at scale (10 App Services each needing Key Vault access = 10 separate RBAC role assignments). User-assigned lets you manage one identity for all 10, with a single set of permissions. For Infrastructure-as-Code and production workloads, user-assigned is often the better choice. Why it's tricky: Tutorials and quickstarts default to system-assigned because it is one toggle in the portal. The operational cost only becomes visible when you manage dozens of resources.

Myth: "Our company uses B2B for partners, so we don't need B2C." ✅ Reality: B2B is for partner/vendor collaboration (business-to-business); B2C is for customer-facing apps (business-to-customer). A company often needs both: B2B for vendor portal access, B2C for customer app logins. Conflating them leads to poor licensing (customers consuming workforce Entra ID seats) and poor UX (customers seeing internal org branding). Why it's tricky: Both involve "external users," and the Azure portal surfaces them in similar-looking blades — but their tenants, licensing, and policy models are completely different.

Practice Exercises

Exercise 1: Sync Method Decision 🟢 Easy

Scenario: A healthcare provider has $5,000 users in on-prem AD. Compliance (HIPAA) mandates that passwords never leave the organization's network. The organization has reliable fiber connectivity and a 99.9% uptime SLA on-prem. Cloud apps should be available even if on-prem AD is temporarily down. Which sync method do you recommend, and why?

💡 Hint

Which sync methods keep passwords entirely on-premises? Consider the compliance requirement first, then availability.

✅ Solution

PTA + Seamless SSO. HIPAA rules out PHS (password hashes are sent to the cloud, even though hashed). Federation is overly complex here (no custom auth logic mentioned). PTA validates passwords on-prem and pairs with Seamless SSO for silent sign-in on domain-joined workstations. Deploy 2–3 PTA agents across separate sites for HA — if one AD server is down, users authenticate via another agent.

Exercise 2: B2B Guest Conditional Access 🟡 Medium

Scenario: Your company (Acme Corp) invites a guest user from PartnerCorp. The guest should access Acme's Azure SQL Database via Azure Data Studio, but only from Acme's corporate network or from a company-issued laptop with Intune compliance. What conditional access policy would you create?

💡 Hint

Consider the key decision factors for this scenario.

✅ Solution

Answer: Create a conditional access policy with the following conditions:

  • Users: Guest user (or "External users" if templated).
  • Apps: Target the SQL Database or the Azure portal (depending on access method).
  • Conditions:
    • Location: Allow only known corporate IP ranges or trusted locations.
    • Device: Require device compliance (Intune enrollment, or trusted device from partner org).
    • Sign-in risk: Low (do not allow risky sign-ins).
  • Grant: Require MFA and compliant device.
  • Session: Apply app-enforced restrictions (IP pinning, session timeout).

Why this works: Guests authenticate to their home org (PartnerCorp); Entra ID in Acme's tenant trusts that auth and layers on additional checks (MFA, device compliance, location). If the guest's device is not managed or they sign in from an unexpected location, access is blocked.

Exercise 3: Managed Identity for Multi-Database App 🟡 Medium

Scenario: You have an App Service that reads from a SQL Database (read-only query), writes to another SQL Database (operational data), and uploads files to a storage account. You want to minimize secrets in your app config. Should you use one system-assigned identity or create a user-assigned identity? Explain your choice.

💡 Hint

Consider the key decision factors for this scenario.

✅ Solution

Answer: Create a user-assigned managed identity (not system-assigned).

Rationale:

  • A single user-assigned identity can be assigned to the App Service and given granular RBAC roles: db_datareader on DB1, db_datawriter on DB2, Storage Blob Data Contributor on the storage account.
  • If you scale the App Service (add multiple instances), all instances share the same identity, making audit trails cleaner (one identity per app tier, not per instance).
  • User-assigned identity is portable: if you redeploy the app (IaC/Terraform), the identity persists independently, so you don't lose permissions.
  • Although system-assigned would also work functionally, user-assigned is operationally superior for multi-resource scenarios and Infrastructure-as-Code patterns.

Exercise 4: B2C Custom Policy Flow 🟡 Medium

Scenario: Your B2C tenant serves two types of customers: "Premium" (must authenticate via corporate SAML) and "Free" (can sign up with email/password). Design a user journey that branches on sign-up based on customer tier.

💡 Hint

Consider the key decision factors for this scenario.

✅ Solution

Answer: Create a B2C custom policy with the following elements:

  1. Sign-up form: Collect email, password, and a "Tier" selection (radio: Premium/Free).
  2. Conditional orchestration:
    • If Tier = "Premium": Redirect to SAML federated identity provider (customer's corporate SAML).
    • If Tier = "Free": Proceed with email/password validation and account creation.
  3. Token claim: Add a tier claim to the final token, so your app can enforce tier-based permissions.
  4. Redemption: Issue an ID token with the tier claim to your app; app uses it to apply tier-specific UI (e.g., premium features disabled for free tier).

Exercise 5: PHS to PTA Migration 🔴 Hard

Scenario: Your company used PHS for $2,000 users. A new compliance requirement mandates password hashes never leave on-prem. You must migrate to PTA without downtime. Outline the steps.

💡 Hint

Consider the key decision factors for this scenario.

✅ Solution

Answer: Deploy 2–3 PTA agents on separate on-prem servers; set up a staging Entra Connect instance. Enable PTA in the Entra Connect wizard while keeping PHS temporarily active. Pilot with 50 test users, then roll out department-by-department over 1–2 weeks. Monitor sign-in failures in Entra ID logs. Once all users are on PTA, disable PHS to remove password hashes from the cloud. Keep PHS as a documented rollback plan.

Exercise 6: Choosing System-Assigned vs. User-Assigned at Scale 🟡 Medium

Scenario: You manage a microservices platform with 20 stateless services deployed on AKS, App Services, and Functions. Each service accesses a central SQL Database, a shared Key Vault, and a logging storage account. You're using Terraform to manage all infra. Would you use system-assigned or user-assigned managed identities, and why?

💡 Hint

Consider the key decision factors for this scenario.

✅ Solution

Answer: Use user-assigned managed identities, one per service tier (not per instance/pod).

Rationale:

  • Scale: With 20 services, system-assigned would create 20 separate identities, each with its own RBAC bindings. User-assigned lets you group them logically: one identity per service tier (web, api, worker), reducing management overhead.
  • IaC lifecycle: Terraform manages the app deployment; if you redeploy a service, a new system-assigned identity is created, losing RBAC permissions. User-assigned identity persists across redeployments (you define it as a separate Terraform resource).
  • Audit trails: One identity per service tier is cleaner in audit logs; you see "api-service-identity accessed Key Vault" rather than "app-service-instance-12 accessed Key Vault."
  • Migration: If you later move a service from App Service to AKS, the identity is reusable (just re-assign it to the new workload).

Exercise 7: Disaster Recovery Scenario 🔴 Hard

Scenario: A company uses PTA for sign-in. During a data-center outage, all on-prem PTA agents become unreachable for 2 hours. Users cannot sign into Azure apps. What could have mitigated this, and what actions do you take during/after?

💡 Hint

Consider the key decision factors for this scenario.

✅ Solution

Answer:

Mitigation: Deploy PTA agents across 2+ data centres/availability zones, co-located with AD replicas. Enable PHS as a warm standby — if all agents fail, cached hashes provide sign-in continuity. During outage: Monitor Entra ID sign-in logs; alert on-prem IT; consider temporary PHS enablement. After: Verify agent health via Entra Connect Health; review locked-out accounts; implement PTA agent availability alerts.

Exercise 8: B2B + B2C Architecture 🔴 Hard

Scenario: Your organization runs both a B2B SaaS product (partners collaborate on projects) and a B2C product (customers subscribe and use features). Describe how you would architecture identities for this scenario to keep B2B and B2C separate and secure.

💡 Hint

Consider the key decision factors for this scenario.

✅ Solution

Answer:

Tenant A (Production): Internal users via Entra Connect (PHS + Seamless SSO); B2B guests from partner orgs. Tenant B (B2C): Separate B2C tenant for customer sign-ups (email/password, social IdPs). Backend: Single API deployment accepts tokens from both tenants; shared database uses row-level security (RLS) filtered by tenant_id. RBAC: Tenant A uses Azure RBAC for partners; Tenant B uses app-level tier logic for customers. Why separate: Isolation prevents cross-tier access, simplifies compliance (B2C may have different data residency), and avoids customers consuming workforce Entra ID licenses.

Summary & Concept Map

Key Takeaways

  1. Sync method choice (PHS, PTA, Federation) depends on latency tolerance, on-prem infrastructure capacity, and compliance policy. PHS is simplest; PTA is most secure; Federation is most flexible but complex.

  2. Seamless SSO layers atop PHS or PTA to give domain-joined users silent sign-in (no password prompt). Requires Kerberos delegation and special setup (AZUREADSSOACC account).

  3. Group synchronization bridges on-prem and cloud: on-prem groups sync to cloud (read-only by default); cloud-created security groups are written back to on-prem AD DS by Microsoft Entra Cloud Sync (Microsoft Entra ID P1 required — group writeback v2 in Entra Connect Sync is deprecated). Use scoping to avoid sync bloat.

  4. B2B is for partner/vendor collaboration (guests in your tenant, home org identity). B2C is for customers (separate tenant, customer-managed identity). Both serve different use cases and licensing models.

  5. System-assigned managed identities are 1:1 with a resource; user-assigned are reusable. User-assigned is better for scale and IaC; system-assigned is simpler per-resource. Choose based on lifecycle alignment.

  6. Avoid managed identities if your resource doesn't support them (use service principals instead) or if you need cross-tenant auth (use certificates, not tokens).

Concept Map

Loading Diagram...
Figure 6 — Mermaid diagram

More Study Notes (145)

Quick Note — Recommend a Solution for Authorizing Access to Azure Resources

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend a solution for authorizing access to Azure resources

745 words

Recommend a Solution for Authorizing Access to Azure Resources — Lesson

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend a solution for authorizing access to Azure resources

2,561 words

Quick Note — Recommend a Solution to Manage Secrets, Certificates, and Keys

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend a solution to manage secrets, certificates, and keys

925 words

Recommend a Solution to Manage Secrets, Certificates, and Keys — Lesson

AZ-305 › Unit 1 › Design authentication and authorization solutions › Recommend a solution to manage secrets, certificates, and keys

5,416 words

Build Lab — Assign one policy and watch it refuse a deployment

AZ-305 › Unit 1 › Design governance

480 words

Cram Sheet — Design governance

AZ-305 › Unit 1 › Design governance

621 words

Design Governance — Topic Lesson

AZ-305 › Unit 1 › Design governance

5,170 words

Design Lab — Put each control at the scope that owns it

AZ-305 › Unit 1 › Design governance

302 words

Design Studio — Design governance

AZ-305 › Unit 1 › Design governance

732 words

Quick Note — Recommend a Solution for Identity Governance

AZ-305 › Unit 1 › Design governance › Recommend a solution for identity governance

817 words

Recommend a Solution for Identity Governance — Lesson

AZ-305 › Unit 1 › Design governance › Recommend a solution for identity governance

6,121 words

Quick Note — Recommend a Solution for Managing Compliance

AZ-305 › Unit 1 › Design governance › Recommend a solution for managing compliance

792 words

Recommend a Solution for Managing Compliance — Lesson

AZ-305 › Unit 1 › Design governance › Recommend a solution for managing compliance

4,603 words

Quick Note — Recommend a Structure for Management Groups, Subscriptions, Resource Groups, and Tagging

AZ-305 › Unit 1 › Design governance › Recommend a structure for management groups, subscriptions, and resource groups, and a strategy for resource tagging

832 words

Recommend a Structure for Management Groups, Subscriptions, Resource Groups, and Tagging — Lesson

AZ-305 › Unit 1 › Design governance › Recommend a structure for management groups, subscriptions, and resource groups, and a strategy for resource tagging

5,361 words

Identity, Governance & Monitoring — A Unit 1 Survey

AZ-305 › Unit 1: Design identity, governance, and monitoring solutions

5,962 words

Quick Note — Recommend a Solution for Authorizing Access to On-Premises Resources

AZ-305 › Unit 1: Design identity, governance, and monitoring solutions › Design authentication and authorization solutions › Recommend a solution for authorizing access to on-premises resources

857 words

Recommend a Solution for Authorizing Access to On-Premises Resources — Lesson

AZ-305 › Unit 1: Design identity, governance, and monitoring solutions › Design authentication and authorization solutions › Recommend a solution for authorizing access to on-premises resources

4,885 words

Build Lab — Route the Activity Log into a workspace and query it

AZ-305 › Unit 1 › Design solutions for logging and monitoring

463 words

Cram Sheet — Design solutions for logging and monitoring

AZ-305 › Unit 1 › Design solutions for logging and monitoring

642 words

Design Lab — Route the logs once, and only where they earn their keep

AZ-305 › Unit 1 › Design solutions for logging and monitoring

338 words

Design Solutions for Logging and Monitoring — Lesson

AZ-305 › Unit 1 › Design solutions for logging and monitoring

4,172 words

Design Studio — Design solutions for logging and monitoring

AZ-305 › Unit 1 › Design solutions for logging and monitoring

744 words

Quick Note — Recommend a Logging Solution

AZ-305 › Unit 1 › Design solutions for logging and monitoring › Recommend a logging solution

781 words

Recommend a Logging Solution — Lesson

AZ-305 › Unit 1 › Design solutions for logging and monitoring › Recommend a logging solution

4,782 words

Quick Note — Recommend a Monitoring Solution

AZ-305 › Unit 1 › Design solutions for logging and monitoring › Recommend a monitoring solution

737 words

Recommend a Monitoring Solution — Lesson

AZ-305 › Unit 1 › Design solutions for logging and monitoring › Recommend a monitoring solution

6,241 words

Quick Note — Recommend a Solution for Routing Logs

AZ-305 › Unit 1 › Design solutions for logging and monitoring › Recommend a solution for routing logs

864 words

Recommend a Solution for Routing Logs — Lesson

AZ-305 › Unit 1 › Design solutions for logging and monitoring › Recommend a solution for routing logs

5,386 words

Unit 2 Capstone — Design data storage solutions

AZ-305 › Unit 2

667 words

Unit 2 Roadmap — Design data storage solutions

AZ-305 › Unit 2

620 words

Cram Sheet — Design data integration

AZ-305 › Unit 2 › Design data integration

621 words

Design Data Integration — Lesson

AZ-305 › Unit 2 › Design data integration

5,273 words

Design Studio — Design data integration

AZ-305 › Unit 2 › Design data integration

730 words

Quick Note — Recommend a Solution for Data Analysis

AZ-305 › Unit 2 › Design data integration › Recommend a solution for data analysis

761 words

Recommend a Solution for Data Analysis — Lesson

AZ-305 › Unit 2 › Design data integration › Recommend a solution for data analysis

5,183 words

Quick Note — Recommend a Solution for Data Integration

AZ-305 › Unit 2 › Design data integration › Recommend a solution for data integration

785 words

Recommend a Solution for Data Integration — Lesson

AZ-305 › Unit 2 › Design data integration › Recommend a solution for data integration

2,797 words

Quick Note — Recommend a Database Service Tier and Compute Tier

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a database service tier and compute tier

905 words

Recommend a Database Service Tier and Compute Tier — Lesson

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a database service tier and compute tier

4,572 words

Quick Note — Recommend a Solution for Database Scalability

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a solution for database scalability

801 words

Recommend a Solution for Database Scalability — Lesson

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a solution for database scalability

5,921 words

Quick Note — Recommend a Solution for Data Protection (Relational)

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a solution for data protection

895 words

Recommend a Solution for Data Protection (Relational) — Lesson

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a solution for data protection

5,671 words

Quick Note — Recommend a Solution for Storing Relational Data

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a solution for storing relational data

924 words

Recommend a Solution for Storing Relational Data — Lesson

AZ-305 › Unit 2 › Design data storage for relational data › Recommend a solution for storing relational data

4,862 words

Design Data Storage for Semi-Structured and Unstructured Data — Topic Lesson

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data

5,745 words

Quick Note — Recommend a Data Solution for Protection and Durability

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a data solution for protection and durability

783 words

Recommend a Data Solution for Protection and Durability — Lesson

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a data solution for protection and durability

5,926 words

Quick Note — Recommend a Data Storage Solution to Balance Features, Performance, and Costs

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a data storage solution to balance features, performance, and costs

1,001 words

Recommend a Data Storage Solution to Balance Features, Performance, and Costs — Lesson

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a data storage solution to balance features, performance, and costs

4,260 words

Quick Note — Recommend a Solution for Storing Semi-Structured Data

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a solution for storing semi-structured data

905 words

Recommend a Solution for Storing Semi-Structured Data — Lesson

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a solution for storing semi-structured data

4,410 words

Quick Note — Recommend a Solution for Storing Unstructured Data

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a solution for storing unstructured data

873 words

Recommend a Solution for Storing Unstructured Data — Lesson

AZ-305 › Unit 2 › Design data storage for semi-structured and unstructured data › Recommend a solution for storing unstructured data

4,536 words

Design Data Storage Solutions — Unit Lesson

AZ-305 › Unit 2: Design data storage solutions

6,905 words

Cram Sheet — Design data storage solutions for relational data

AZ-305 › Unit 2 › Design data storage solutions for relational data

640 words

Design Data Storage Solutions for Relational Data — Lesson

AZ-305 › Unit 2 › Design data storage solutions for relational data

6,732 words

Design Lab — Match the data store to the thing you cannot change later

AZ-305 › Unit 2 › Design data storage solutions for relational data

308 words

Design Studio — Design data storage solutions for relational data

AZ-305 › Unit 2 › Design data storage solutions for relational data

740 words

Cram Sheet — Design semi-structured and unstructured data storage

AZ-305 › Unit 2 › Design semi-structured and unstructured data storage

650 words

Design Studio — Design semi-structured and unstructured data storage

AZ-305 › Unit 2 › Design semi-structured and unstructured data storage

750 words

Unit 3 Capstone — Design business continuity solutions

AZ-305 › Unit 3

635 words

Unit 3 Roadmap — Design business continuity solutions

AZ-305 › Unit 3

567 words

Design Business Continuity Solutions — Lesson

AZ-305 › Unit 3: Design business continuity solutions

6,306 words

Quick Note — Recommend a High Availability Solution for Compute

AZ-305 › Unit 3: Design business continuity solutions › Design for high availability › Recommend a high availability solution for compute

951 words

Recommend a High Availability Solution for Compute — Lesson

AZ-305 › Unit 3: Design business continuity solutions › Design for high availability › Recommend a high availability solution for compute

5,069 words

Quick Note — Recommend a High Availability Solution for Relational Data

AZ-305 › Unit 3: Design business continuity solutions › Design for high availability › Recommend a high availability solution for relational data

1,108 words

Recommend a High Availability Solution for Relational Data — Lesson

AZ-305 › Unit 3: Design business continuity solutions › Design for high availability › Recommend a high availability solution for relational data

5,118 words

Quick Note — Recommend a High Availability Solution for Semi-Structured and Unstructured Data

AZ-305 › Unit 3: Design business continuity solutions › Design for high availability › Recommend a high availability solution for semi-structured and unstructured data

1,030 words

Recommend a High Availability Solution for Semi-Structured and Unstructured Data — Lesson

AZ-305 › Unit 3: Design business continuity solutions › Design for high availability › Recommend a high availability solution for semi-structured and unstructured data

4,839 words

Quick Note — Recommend a Recovery Solution for Azure and Hybrid Workloads

AZ-305 › Unit 3 › Design business continuity solutions › Recommend a recovery solution for Azure and hybrid workloads that meets recovery objectives

828 words

Recommend a Recovery Solution for Azure and Hybrid Workloads — Lesson

AZ-305 › Unit 3 › Design business continuity solutions › Recommend a recovery solution for Azure and hybrid workloads that meets recovery objectives

2,764 words

Cram Sheet — Design for high availability

AZ-305 › Unit 3 › Design for high availability

622 words

Design Studio — Design for high availability

AZ-305 › Unit 3 › Design for high availability

731 words

Build Lab — Make the secondary region unreadable, then readable

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery

490 words

Cram Sheet — Design solutions for backup and disaster recovery

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery

655 words

Design Lab — Match the mechanism to the RTO and the RPO

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery

400 words

Design Solutions for Backup and Disaster Recovery — Lesson

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery

4,963 words

Design Studio — Design solutions for backup and disaster recovery

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery

745 words

Quick Note — Recommend a Backup and Recovery Solution for Compute

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery › Recommend a backup and recovery solution for compute

1,025 words

Recommend a Backup and Recovery Solution for Compute — Lesson

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery › Recommend a backup and recovery solution for compute

4,694 words

Quick Note — Recommend a Backup and Recovery Solution for Databases

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery › Recommend a backup and recovery solution for databases

902 words

Recommend a Backup and Recovery Solution for Databases — Lesson

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery › Recommend a backup and recovery solution for databases

4,948 words

Quick Note — Recommend a Backup and Recovery Solution for Unstructured Data

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery › Recommend a backup and recovery solution for unstructured data

854 words

Recommend a Backup and Recovery Solution for Unstructured Data — Lesson

AZ-305 › Unit 3 › Design solutions for backup and disaster recovery › Recommend a backup and recovery solution for unstructured data

5,639 words

Unit 4 Capstone — Design infrastructure solutions

AZ-305 › Unit 4

691 words

Unit 4 Roadmap — Design infrastructure solutions

AZ-305 › Unit 4

672 words

Cram Sheet — Design an application architecture

AZ-305 › Unit 4 › Design an application architecture

610 words

Design an Application Architecture — Lesson

AZ-305 › Unit 4 › Design an application architecture

5,802 words

Design Studio — Design an application architecture

AZ-305 › Unit 4 › Design an application architecture

723 words

Cram Sheet — Design compute solutions

AZ-305 › Unit 4 › Design compute solutions

640 words

Design Compute Solutions — Lesson

AZ-305 › Unit 4 › Design compute solutions

5,124 words

Design Lab — Pick the smallest compute that still fits

AZ-305 › Unit 4 › Design compute solutions

296 words

Design Studio — Design compute solutions

AZ-305 › Unit 4 › Design compute solutions

742 words

Design Infrastructure Solutions — A Unit 4 Survey

AZ-305 › Unit 4: Design infrastructure solutions

5,815 words

Quick Note — Recommend a Caching Solution for Applications

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend a caching solution for applications

1,088 words

Recommend a Caching Solution for Applications — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend a caching solution for applications

2,936 words

Quick Note — Recommend a Messaging Architecture

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend a messaging architecture

829 words

Recommend a Messaging Architecture — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend a messaging architecture

4,561 words

Quick Note — Recommend an Application Configuration Management Solution

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend an application configuration management solution

951 words

Recommend an Application Configuration Management Solution — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend an application configuration management solution

4,046 words

Quick Note — Recommend an Automated Deployment Solution for Applications

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend an automated deployment solution for applications

822 words

Recommend an Automated Deployment Solution for Applications — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend an automated deployment solution for applications

4,000 words

Quick Note — Recommend an Event-Driven Architecture

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend an event-driven architecture

1,005 words

Recommend an Event-Driven Architecture — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend an event-driven architecture

4,458 words

Quick Note — Recommend a Solution for API Integration

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend a solution for API integration

1,015 words

Recommend a Solution for API Integration — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design an application architecture › Recommend a solution for API integration

4,096 words

Quick Note — Recommend a Compute Solution for Batch Processing

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a compute solution for batch processing

895 words

Recommend a Compute Solution for Batch Processing — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a compute solution for batch processing

4,434 words

Quick Note — Recommend a Container-Based Solution

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a container-based solution

957 words

Recommend a Container-Based Solution — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a container-based solution

4,572 words

Quick Note — Recommend a Serverless-Based Solution

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a serverless-based solution

1,104 words

Recommend a Serverless-Based Solution — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a serverless-based solution

4,437 words

Quick Note — Recommend a Virtual Machine-Based Solution

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a virtual machine-based solution

919 words

Recommend a Virtual Machine-Based Solution — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Recommend a virtual machine-based solution

4,610 words

Quick Note — Specify Components of a Compute Solution Based on Workload Requirements

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Specify components of a compute solution based on workload requirements

850 words

Specify Components of a Compute Solution Based on Workload Requirements — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design compute solutions › Specify components of a compute solution based on workload requirements

4,611 words

Evaluate a Migration Solution that Leverages the Microsoft Cloud Adoption Framework — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Evaluate a migration solution that leverages the Microsoft Cloud Adoption Framework for Azure

4,240 words

Quick Note — Evaluate a Migration Solution that Leverages the Microsoft Cloud Adoption Framework

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Evaluate a migration solution that leverages the Microsoft Cloud Adoption Framework for Azure

954 words

Evaluate On-Premises Servers, Data, and Applications for Migration — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Evaluate on-premises servers, data, and applications for migration

4,371 words

Quick Note — Evaluate On-Premises Servers, Data, and Applications for Migration

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Evaluate on-premises servers, data, and applications for migration

1,045 words

Quick Note — Recommend a Solution for Migrating Databases

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Recommend a solution for migrating databases

1,120 words

Recommend a Solution for Migrating Databases — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Recommend a solution for migrating databases

4,439 words

Quick Note — Recommend a Solution for Migrating Unstructured Data

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Recommend a solution for migrating unstructured data

1,005 words

Recommend a Solution for Migrating Unstructured Data — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Recommend a solution for migrating unstructured data

4,242 words

Quick Note — Recommend a Solution for Migrating Workloads to IaaS and PaaS

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Recommend a solution for migrating workloads to infrastructure as a service (IaaS) and platform as a service (PaaS)

883 words

Recommend a Solution for Migrating Workloads to IaaS and PaaS — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design migrations › Recommend a solution for migrating workloads to infrastructure as a service (IaaS) and platform as a service (PaaS)

4,179 words

Quick Note — Recommend a Connectivity Solution that Connects Azure Resources to On-Premises Networks

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a connectivity solution that connects Azure resources to on-premises networks

958 words

Recommend a Connectivity Solution that Connects Azure Resources to On-Premises Networks — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a connectivity solution that connects Azure resources to on-premises networks

4,236 words

Quick Note — Recommend a Connectivity Solution that Connects Azure Resources to the Internet

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a connectivity solution that connects Azure resources to the internet

983 words

Recommend a Connectivity Solution that Connects Azure Resources to the Internet — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a connectivity solution that connects Azure resources to the internet

4,514 words

Quick Note — Recommend a Load-Balancing and Routing Solution

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a load-balancing and routing solution

873 words

Recommend a Load-Balancing and Routing Solution — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a load-balancing and routing solution

4,414 words

Quick Note — Recommend a Solution to Optimize Network Performance

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a solution to optimize network performance

963 words

Recommend a Solution to Optimize Network Performance — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a solution to optimize network performance

4,283 words

Quick Note — Recommend a Solution to Optimize Network Security

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a solution to optimize network security

1,016 words

Recommend a Solution to Optimize Network Security — Lesson

AZ-305 › Unit 4: Design infrastructure solutions › Design network solutions › Recommend a solution to optimize network security

4,524 words

Cram Sheet — Design migrations

AZ-305 › Unit 4 › Design migrations

632 words

Design Migrations — Topic Lesson

AZ-305 › Unit 4 › Design migrations

6,820 words

Design Studio — Design migrations

AZ-305 › Unit 4 › Design migrations

735 words

Cram Sheet — Design network solutions

AZ-305 › Unit 4 › Design network solutions

635 words

Design Lab — Put the entry point, the private path, and the SKU in the right places

AZ-305 › Unit 4 › Design network solutions

351 words

Design Network Solutions — Lesson

AZ-305 › Unit 4 › Design network solutions

5,243 words

Design Studio — Design network solutions

AZ-305 › Unit 4 › Design network solutions

738 words

Ready to practice? Jump straight in — no sign-up needed.

Take practice tests, review flashcards, and read study notes right now.

Take a Practice Test

Designing Microsoft Azure Infrastructure Solutions (AZ-305) Practice Questions

Try 15 sample questions from a bank of 582. Answers and detailed explanations included.

Q1hard

A team is migrating a nonclustered Redis workload to Azure Managed Redis. The client library supports the Redis Cluster API, and the main goals are low latency and near-linear throughput scaling. Which clustering policy should the team evaluate first?

A.

OSS clustering policy

B.

Non-clustered policy regardless of client support

C.

Disable high availability to increase durability

D.

Use Azure Front Door as the Redis cluster coordinator

Show answer & explanation

Correct Answer: A

Evaluate the OSS clustering policy first. Microsoft guidance describes it as a strong default when clients support the Redis Cluster API because clients can connect directly to shards, providing low latency and strong throughput scaling. Enterprise clustering allows selected multikey operations across slots but has different routing trade-offs. Non-clustered mode is primarily for clients that cannot support either clustered topology.

Answer: A

Q2medium

A cloud governance team is implementing CAF Govern phase guardrails. They want to enforce that all resources deployed into the landing zone subscriptions are tagged with a CostCenter tag. Review the policy definition below and identify which effect should replace the placeholder to prevent non-compliant deployments.

A.

Deny — blocks any resource deployment that lacks the CostCenter tag

B.

Audit — logs non-compliant resources but allows deployment

C.

DeployIfNotExists — automatically adds the CostCenter tag with a default value

D.

Disabled — turns off policy evaluation for testing purposes

Show answer & explanation

Correct Answer: A

To prevent non-compliant deployments, the correct effect is Deny. When a Deny policy is assigned, Azure Resource Manager rejects any PUT or PATCH request that would create or update a resource without the required CostCenter tag.

Here is the corrected policy snippet:

json
{ "policyRule": { "if": { "field": "tags['CostCenter']", "exists": "false" }, "then": { "effect": "Deny" } } }

Why each distractor is wrong:

  • B (Audit) only logs non-compliance in the Activity Log and compliance dashboard; it does not block deployments. Useful for visibility but not enforcement.
  • C (DeployIfNotExists) triggers a remediation deployment (e.g., deploying a diagnostic setting), but it cannot modify the resource's own tags during creation. For tag defaults, Modify would be the correct auto-remediation effect — but the stem asks for prevention, not auto-fix.
  • D (Disabled) turns off the policy entirely, providing zero governance.

Assigning governance policies at the management group level is a core CAF Govern practice, aligned with the Well-Architected Framework Cost Optimization pillar (cost-center tagging) and Operational Excellence (policy-as-code guardrails).

Answer: A

Q3medium

Examine the network topology below. The architect needs to route resource logs from the VMs in the spoke VNets to a central Log Analytics workspace in the hub, archive a copy to a Storage account, and stream a copy to Event Hub for a third-party SIEM. How many diagnostic settings must be configured per VM to achieve this?

A.

1 Data Collection Rule (DCR) that targets all three destinations simultaneously

B.

3 diagnostic settings, one for each destination

C.

1 diagnostic setting with all three destinations selected

D.

2 diagnostic settings — one for Log Analytics workspace and Storage account, and a separate one for Event Hub

Show answer & explanation

Correct Answer: C

A single diagnostic setting on an Azure resource can specify multiple destinations simultaneously — a Log Analytics workspace, a Storage account, an Event Hub, and a partner solution. You can configure up to 5 diagnostic settings per resource, but for this scenario only 1 is needed because all three destinations can be selected in the same setting.

ApproachSettings per VMCorrect?Why
Option A — DCR only1NoDCRs apply to Azure Monitor Agent (AMA) data collection, not to platform resource-level diagnostic settings
Option B — one setting per destination3Functional but unnecessaryCreates operational overhead; not the minimum required
Option C — single setting, 3 destinations1YesA diagnostic setting supports multiple concurrent destinations
Option D — split settings2Functional but unnecessaryNo technical reason to separate Event Hub from the others

Option A is the most common misconception: Data Collection Rules govern what the Azure Monitor Agent collects from guest OS sources (performance counters, event logs, syslog), whereas diagnostic settings govern platform-level resource logs. They are complementary but distinct mechanisms.

This supports the Operational Excellence pillar — minimizing the number of settings reduces configuration drift.

Answer: C

Q4medium

You are writing a Bicep template to deploy a zone-redundant Standard SKU public IP address that will later be associated with an Azure NAT Gateway. Examine the Bicep snippet below. Which line must be changed so the public IP is zone-redundant and compatible with NAT Gateway?

bicep
resource publicIp 'Microsoft.Network/publicIPAddresses@2023-05-01' = { name: 'pip-nat-prod-eastus' location: location sku: { name: 'Basic' // Line 1 tier: 'Regional' // Line 2 } zones: [] // Line 3 properties: { publicIPAllocationMethod: 'Static' // Line 4 publicIPAddressVersion: 'IPv4' } }
A.

Change Line 1 from 'Basic' to 'Standard' and Line 3 from [] to ['1','2','3'].

B.

Change Line 2 from 'Regional' to 'Global'.

C.

Change Line 4 from 'Static' to 'Dynamic'.

D.

Change Line 1 from 'Basic' to 'Standard' only; no other changes are needed.

Show answer & explanation

Correct Answer: A

Azure NAT Gateway requires a Standard SKU public IP; Basic SKU is not supported. Additionally, to achieve zone redundancy the zones property must list all three availability zones ['1','2','3'] — an empty array means no zone assignment, which makes the IP non-zonal.

Two changes are needed:

  1. Line 1: 'Basic''Standard'NAT Gateway only accepts Standard SKU public IPs.
  2. Line 3: []['1','2','3'] — this makes the public IP zone-redundant so it survives a single-zone failure.

Option B is wrong because 'Global' tier is used for cross-region load balancers, not for NAT Gateway. Option C is wrong because NAT Gateway requires Static allocation; Dynamic would cause the IP to change on deallocation and is incompatible. Option D fixes the SKU but leaves the IP without zone redundancy, which the question explicitly requires.

From the Reliability pillar, note what a zone-redundant public IP does and does not buy you. It makes the address itself resilient, and a Standard NAT gateway accepts a zone-redundant Standard public IP — which is what this question asks for. It does not make egress zone-resilient: zone redundancy is a property of the NAT gateway SKU, and a Standard NAT gateway is zonal or nonzonal, so an availability-zone outage still drops its outbound connectivity. Zone-redundant egress requires the StandardV2 NAT gateway SKU, which pairs with StandardV2 public IPs rather than Standard ones.

Answer: A

Q5easy

An operations engineer collects guest OS performance counters from Azure VMs into a Log Analytics workspace. Which KQL query identifies computers whose average processor utilization exceeded 80% during the last hour?

A.
kusto
Perf | where ObjectName == "Processor" and CounterName == "% Processor Time" | where TimeGenerated > ago(1h) | summarize AvgCPU = avg(CounterValue) by Computer | where AvgCPU > 80 | order by AvgCPU desc
B.
kusto
AzureMetrics | where MetricName == "CPU Usage" | where TimeGenerated > ago(1h) | summarize AvgCPU = max(Total) by Resource | where AvgCPU > 80
C.
kusto
Heartbeat | where TimeGenerated > ago(1h) | summarize AvgCPU = avg(CPUPercent) by Computer | where AvgCPU > 80
D.
kusto
InsightsMetrics | where Name == "CPU" | where TimeGenerated > ago(1h) | summarize AvgCPU = avg(Val) by Computer | where AvgCPU > 100
Show answer & explanation

Correct Answer: A

The Perf table in Log Analytics stores performance counter data collected by the Azure Monitor Agent (AMA) or the legacy Azure Monitor Agent. The ObjectName == "Processor" and CounterName == "% Processor Time" filters correctly target CPU utilization data. The query uses summarize avg(CounterValue) by Computer to compute the hourly average per VM and then filters for VMs exceeding 80%.

Why not the others?

  • B: The AzureMetrics table stores platform metrics, but the MetricName value "CPU Usage" is incorrect — the correct metric name is "Percentage CPU" for Azure VMs. Additionally, max(Total) is not the correct aggregation for an average.
  • C: The Heartbeat table tracks agent connectivity (last-seen timestamps, OS info) and does not contain a CPUPercent column. It cannot be used to query CPU performance.
  • D: The InsightsMetrics table is used by VM Insights, but the threshold > 100 is logically wrong — CPU percentage cannot meaningfully exceed 100% for a single-core metric, and the question asks for 80%.

This aligns with the Operational Excellence pillar — using KQL to proactively identify resource-constrained VMs.

Answer: A

Q6hard

A financial services company runs mission-critical Azure VMs across three availability zones in West Europe. Regulations require that backup data must remain within the same country (data residency) and survive a full availability-zone outage. The company also wants to minimize cost. Which Recovery Services vault storage redundancy option should you recommend?

A.

LRS — lowest cost, keeps data in a single datacenter within the region.

B.

GRS — replicates data to a paired region for maximum durability.

C.

ZRS — replicates data across availability zones within the region, satisfying both data residency and zone-failure resilience.

D.

RA-GRS — provides read access to backup data in the secondary region for faster restores during regional outages.

Show answer & explanation

Correct Answer: C

The decision matrix below maps each option against the two hard constraints plus the cost-optimization goal:

RedundancySurvives zone failureData stays in-countryRelative costMeets all requirements?
LRSNo — single datacenterYesLowestNo — fails zone-resilience
GRSYes — paired regionDepends — paired region may be in another countryHigherMaybe — data residency risk
ZRSYes — 3 zonesYes — same regionMediumYes
RA-GRSYes — paired region + read accessDepends — paired region may cross bordersHighestMaybe — data residency risk

ZRS replicates backup data across three availability zones within the same Azure region, guaranteeing both data residency (data never leaves the region) and zone-failure resilience. It costs more than LRS but less than GRS/RA-GRS.

Why not A? LRS stores data within a single datacenter, so a zone-wide outage could make backups inaccessible.

Why not B or D? GRS and RA-GRS replicate to the paired region, which for some Azure geographies may be in a different country (e.g., West Europe, in the Netherlands, pairs with North Europe, which is in Ireland — so a GRS vault in West Europe does move backup data out of the country). More importantly, they are more expensive than ZRS when only zone resilience (not region resilience) is required.

This aligns with the Reliability pillar (zone redundancy) and Cost Optimization pillar (right-sizing redundancy to actual requirements).

Answer: C

Q7medium

Refer to the network diagram above. A company deploys Azure API Management in Internal VNet mode behind an Application Gateway with WAF. External clients must reach the APIs through a custom domain with TLS termination at the WAF. Which statement about this architecture is correct?

A.

External clients connect directly to the APIM gateway's public IP, and Application Gateway is only used for internal routing.

B.

Application Gateway terminates TLS from external clients and forwards traffic to the APIM gateway's private IP on the VNet subnet.

C.

APIM in Internal VNet mode still exposes a public IP, and Application Gateway is not needed for external access.

D.

Application Gateway replaces APIM policies entirely, so no rate limiting or JWT validation occurs at the APIM layer.

Show answer & explanation

Correct Answer: B

When Azure API Management is deployed in Internal VNet mode, the APIM gateway endpoint is accessible only via a private IP address within the VNet — there is no public endpoint. To enable external access, you place an Application Gateway (with WAF v2) in front of APIM:

ComponentRoleNetwork exposure
Application Gateway + WAFTLS termination, OWASP rule enforcement, public-facing entry pointPublic IP (internet-facing)
APIM (Internal VNet mode)API gateway — policies, rate limiting, JWT validation, routingPrivate IP only (VNet subnet)
Back-end microservicesBusiness logicPrivate endpoints / VNet-integrated
  • A — Incorrect. In Internal VNet mode, APIM has no public IP. External clients cannot reach APIM directly.
  • C — Incorrect. Internal mode specifically removes the public endpoint; that is the entire point of Internal mode vs. External mode.
  • D — Incorrect. Application Gateway and APIM operate at different layers. Application Gateway provides WAF and TLS termination (Layer 7 load balancing), while APIM provides API-specific policies (rate limiting, JWT validation, transformation). Both layers are active.

This architecture follows the Security pillar — defense in depth with WAF at the perimeter and APIM policies at the API layer.

Answer: B

Q8medium

Examine the network topology shown in the figure. Spoke VMs must access the internet through a predictable static public IP for allow-listing by a third-party API provider. Which resource should be attached to the workload subnets in the spoke VNets to satisfy this requirement with the least operational overhead?

A.

Assign a Basic SKU public IP directly to each VM's NIC in the spoke VNets.

B.

Associate an Azure NAT Gateway with a Standard SKU static public IP to each workload subnet in the spoke VNets.

C.

Route all spoke traffic through Azure Firewall in the hub VNet using a UDR with next hop set to the firewall's private IP.

D.

Deploy an Azure Load Balancer with an outbound rule in each spoke VNet.

Show answer & explanation

Correct Answer: B

CriterionNAT GatewayBasic Public IP per VMAzure Firewall (hub)Load Balancer outbound rule
Static, predictable egress IPYes (1 or more static IPs)No (one IP per VM, not shared)Yes (firewall's public IP)Yes (LB frontend IP)
Operational overheadLow (PaaS, subnet association)High (manage per-VM IPs)Medium–High (UDRs, firewall rules, cost)Medium (LB config per spoke)
Third-party allow-listing simplicitySingle IP or prefix50+ IPs to allow-listSingle IP but complex routingPer-VNet LB IP
Requires UDR configurationNoNoYesNo

Azure NAT Gateway is purpose-built for outbound-only internet connectivity and provides a static public IP that all VMs on the associated subnet share. The third-party provider only needs to allow-list one IP. It is a PaaS resource requiring no patching or UDR management.

Option A assigns a separate public IP to every VM, creating dozens of IPs to allow-list and violating the "predictable static IP" goal. Option C works but introduces significant cost and complexity — Azure Firewall is designed for inspection and policy enforcement, which is overkill when the sole requirement is a static egress IP. Option D requires deploying and managing a load balancer per spoke, adding unnecessary complexity.

From the Cost Optimization pillar, NAT Gateway is the most cost-effective solution when the primary need is static outbound connectivity without traffic inspection.

Answer: B

Q9hard

The workload only lists and reads blobs in one container. Which authorization is the best starting point?

A.

Storage Account Contributor at subscription scope

B.

Owner on the storage account

C.

Reader on the resource group plus an account key

D.

Storage Blob Data Reader scoped to the required container

Show answer & explanation

Correct Answer: D

Storage Blob Data Reader grants the required data actions without management-plane control or key distribution. Scoping it to the container minimizes blast radius.

Answer: D

Q10easy

A cloud engineer needs to identify all Azure Site Recovery replication events that failed in the last 7 days. Which KQL query returns the correct results from a Log Analytics workspace connected to the Recovery Services vault?

A.
kusto
AzureActivity | where ResourceProvider == "Microsoft.RecoveryServices" | where ActivityStatus == "Succeeded" | where TimeGenerated > ago(7d)
B.
kusto
Heartbeat | where Category == "SiteRecovery" | where TimeGenerated > ago(7d)
C.
kusto
AzureDiagnostics | where Category == "AzureSiteRecoveryJobs" | where ResultType == "Failed" | where TimeGenerated > ago(7d) | project TimeGenerated, OperationName, ResultType, Resource
D.
kusto
AzureDiagnostics | where Category == "AzureBackupReport" | where TimeGenerated > ago(30d) | summarize count() by OperationName
Show answer & explanation

Correct Answer: C

The AzureDiagnostics table receives resource logs from Recovery Services vaults when diagnostic settings are configured. The AzureSiteRecoveryJobs category captures replication job events. Filtering on ResultType == "Failed" and ago(7d) isolates failed replication events within the required 7-day window.

  • A — The AzureActivity table records control-plane (management) operations, not data-plane replication events. Additionally, this query filters for Succeeded rather than failed events.
  • B — The Heartbeat table tracks agent connectivity for VMs running the Azure Monitor Agent; it does not contain Azure Site Recovery job data.
  • D — The AzureBackupReport category logs Azure Backup telemetry, not Azure Site Recovery replication jobs, and uses a 30-day window instead of 7 days.

This tests the Operational Excellence pillar — monitoring replication health is essential for maintaining recovery readiness.

Answer: C

Q11easy

What is the maximum depth of the management group hierarchy tree in a single Microsoft Entra ID tenant, excluding the root management group level and the subscription level?

A.

4 levels

B.

10 levels

C.

8 levels

D.

6 levels

Show answer & explanation

Correct Answer: D

The management group hierarchy tree can be up to 6 levels deep, not including the root management group level or the subscription level. This means an organization can create up to 6 nested layers of management groups beneath the root to model its departmental, functional, or environmental structure.

To query the current management group structure using Azure Resource Graph, you can use a KQL query:

kusto
resourcecontainers | where type == "microsoft.management/managementgroups" | project name, displayName = properties.displayName, parent = properties.details.parent.id | order by name asc

Why each option is right or wrong:

  • A (4 levels) — Too restrictive; this would prevent larger organizations from modelling complex departmental structures.
  • B (10 levels) — Incorrect; Azure caps the tree at 6 levels for performance and governance manageability.
  • C (8 levels) — Incorrect; this exceeds the actual limit.
  • D (6 levels) — Correct. This is the documented limit per the Azure hierarchy constraints.

This limit is a key consideration under the Cost Optimization and Operational Excellence pillars of the Well-Architected Framework, because overly deep hierarchies increase complexity without proportional benefit.

Answer: D

Q12hard

Which protection feature keeps national identifiers encrypted from database administrators while supporting equality predicates with deterministic encryption?

A.

Transparent Data Encryption alone

B.

Always Encrypted with keys kept outside the database engine

C.

Dynamic data masking alone

D.

A resource lock on the logical server

Show answer & explanation

Correct Answer: B

Always Encrypted moves cryptographic operations and key access to the trusted client boundary. TDE protects storage at rest but the database engine can read plaintext; masking is not encryption.

Answer: B

Q13medium

Examine the network topology below. Fabrikam has two data centers and wants to publish on-premises applications from both sites through Microsoft Entra Application Proxy. Users nearest each data center should be served by connectors in that data center to minimize latency. Which design achieves this?

A.

Install connectors in both data centers and assign them to a single default connector group; Entra ID will automatically route users to the nearest connector

B.

Create two connector groups (one per data center), install connectors in each site and assign them to the corresponding group, then assign each published application to the connector group in its data center

C.

Install connectors only in Data Center 1 and use a site-to-site VPN so they can reach applications in Data Center 2; assign all apps to the default connector group

D.

Deploy Azure Front Door in front of Application Proxy and let Front Door route traffic to the nearest data center; a single connector group is sufficient

Show answer & explanation

Correct Answer: B

Connector groups are the mechanism for partitioning Application Proxy connectors by network location. By creating a connector group per data center and assigning each published application to the group closest to its backend server, you ensure that the connector handling the request has low-latency network access to the application.

ApproachLatency Optimized?Fault Isolation?Complexity
Single default group (A)No — random connector selectionNoLow
Two connector groups (B)Yes — app-to-group affinityYes — per-siteMedium
Connectors in DC1 + VPN (C)No — cross-site VPN latencyNoMedium
Azure Front Door (D)N/A — Front Door doesn’t manage connector routingNoHigh

Why not A? A single connector group does not guarantee geographic affinity. The Application Proxy service may route requests to any connector in the group, potentially sending traffic across data centers.

Why not C? Funneling all traffic through Data Center 1 connectors adds VPN latency for Data Center 2 applications and creates a single point of failure.

Why not D? Azure Front Door can accelerate traffic to the Application Proxy cloud endpoint, but it cannot direct requests to specific connector groups. Connector group assignment is configured per application in Entra ID, not at the network edge.

This design follows the Performance Efficiency pillar by minimizing network hops between connectors and backend applications.

Answer: B

Q14medium

Which feature encodes database, API, and web start order and can invoke automation during failover?

A.

A storage lifecycle rule

B.

A Site Recovery recovery plan

C.

An NSG flow log

D.

A Blob index tag

Show answer & explanation

Correct Answer: B

Recovery plans group protected machines, order recovery groups, and include manual or automated actions for application recovery.

Answer: B

Q15medium

An architect is deploying Azure Backup operational backup for blobs using infrastructure as code. Review the Bicep snippet below. Which component is missing to make the operational backup functional?

bicep
resource backupVault 'Microsoft.DataProtection/backupVaults@2023-01-01' = { name: 'blob-backup-vault' location: location properties: { storageSettings: [ { datastoreType: 'VaultStore' type: 'LocallyRedundant' } ] } } resource backupPolicy 'Microsoft.DataProtection/backupVaults/backupPolicies@2023-01-01' = { parent: backupVault name: 'blob-backup-policy' properties: { datasourceTypes: [ 'Microsoft.Storage/storageAccounts/blobServices' ] objectType: 'BackupPolicy' policyRules: [ { name: 'Default' objectType: 'AzureRetentionRule' isDefault: true lifecycles: [ { deleteAfter: { objectType: 'AbsoluteDeleteOption' duration: 'P30D' } sourceDataStore: { dataStoreType: 'OperationalStore' objectType: 'DataStoreInfoBase' } } ] } ] } }
A.

A managementLock resource with CanNotDelete on the Backup vault

B.

A diagnosticSettings resource to send storage account logs to the Backup vault

C.

An objectReplicationPolicy resource to replicate blobs to a secondary storage account

D.

A backupInstance resource that associates the storage account with the backup policy in the Backup vault

Show answer & explanation

Correct Answer: D

The Bicep snippet defines a Backup vault and a backup policy, but it does not create a backupInstance resource. The backup instance is the resource that links a specific storage account (the data source) to the backup policy within the vault, effectively enabling protection. Without it, the vault and policy exist but no storage account is actually protected.

Option A is a good practice for preventing accidental vault deletion but is not required for operational backup to function. Option B is incorrect — diagnostic settings send logs to Log Analytics or other sinks for monitoring; they are not required for operational backup to function. Option C is incorrect — object replication is a separate feature for replicating blobs across storage accounts and is unrelated to Azure Backup.

This aligns with the Operational Excellence pillar — infrastructure as code ensures repeatable, auditable backup configurations.

Answer: D

These are 15 of 582 questions available. Take a practice test →

Designing Microsoft Azure Infrastructure Solutions (AZ-305) Flashcards

928 flashcards for spaced-repetition study. Showing 30 sample cards below.

AZ-305 LO — Evaluate a Migration Solution Using the CAF(12 cards shown)

Question

Cloud Adoption Framework (CAF)

Answer

Microsoft's opinionated playbook for cloud adoption — documentation, tools, templates, and best practices organized around the seven phases of an enterprise cloud journey. Vendor-neutral concepts but tooling targeted at Azure. Pairs with the Well-Architected Framework (WAF) — CAF is what to adopt; WAF is how to build well once adopted.

Question

The seven CAF phases

Answer

  1. Strategy — motivations, mission, business outcomes.
  2. Plan — operating model, cloud skills, migration plan, cost estimate.
  3. Ready — the Azure landing zone (platform + application landing zones).
  4. Adopt — migrate, modernize, or build cloud-native workloads.
  5. Govern — assess cloud risks and enforce guardrails.
  6. Secure — protect workloads.
  7. Manage — administer, monitor and optimize what's running.
    Strategy → Plan → Ready → Adopt are the sequential foundation; Govern, Secure and Manage are the ongoing operational methodologies.
    'Organize' is no longer a CAF phase — team-structure / CCoE guidance moved into CAF's resources.

Question

Landing Zone

Answer

A pre-configured, opinionated Azure environment ready to receive workloads. Includes governance baselines (Policy, RBAC, network topology, identity, logging, security). CAF publishes enterprise-scale landing zone reference architecture with Bicep / Terraform templates. The 'foundation' you deploy before the first workload — saves teams from re-inventing tenant-level setup.

Question

The R's of cloud migration (CAF migration strategies)

Answer

CAF names eight, one per workload:

  1. Retire — decommission; no current or future business value.
  2. Retain — leave it alone; stable, compliant, no near-term driver to move.
  3. Rehost — like-for-like lift-and-shift (VM → IaaS, PaaS → PaaS); fastest, lowest risk.
  4. Replatform — move onto PaaS with minimal code change (IIS → App Service, SQL Server → SQL MI).
  5. Refactor — actual code changes to cut technical debt, use Azure SDKs, apply cloud patterns.
  6. Rearchitect — restructure the architecture (decompose the monolith, per-component scaling).
  7. Rebuild — discard and write a new cloud-native solution.
  8. Replace — retire the app and adopt SaaS.
    Replatform ≠ Refactor in current CAF — don't use them as synonyms. Each choice follows from a business driver, and most portfolios mix several.

Question

CAF Migrate workloads flow (under Adopt)

Answer

Five steps, run per migration wave rather than once for the whole estate:

  1. Plan migration — sequence workloads, map dependencies, choose the data path (ExpressRoute / VPN / Data Box / internet).
  2. Prepare workloads — remediate readiness blockers, size targets, ready the landing zone.
  3. Execute migration — brief stakeholders, impose a change freeze, replicate, cut over (planned-downtime or near-zero-downtime approach).
  4. Optimize workloads — right-size, apply reservations / savings plan + AHB, tune cost and performance.
  5. Decommission the source workload.
    Large portfolios are broken into migration waves so risk stays small and each wave's retrospective improves the next.

Question

CAF Govern methodology

Answer

Govern is a continuous five-step cycle, not a fixed set of 'disciplines':

  1. Build a cloud governance team — clear ownership and accountability across IT, finance, security and compliance.
  2. Assess cloud risks — security, compliance, operations, cost, data, AI.
  3. Document governance policies that address the identified risks.
  4. Enforce policiesAzure Policy initiatives, RBAC + PIM, tagging, budgets and alerts, IaC guardrails (template specs / deployment stacks; Azure Blueprints is superseded).
  5. Monitor compliance — track violations and posture, then feed findings back into step 2.
    Step 1 happens once; steps 2–5 repeat forever. Apply at the management-group level so every subscription inherits.

Question

How does CAF help you choose the right migration strategy for a given on-prem app?

Answer

Start from the business driver — the gap between the workload's current and desired state — then pick:
• No current or future business value → Retire.
• Stable, compliant, no near-term driver to move → Retain.
• Needs minimal disruption, no modernization soon → Rehost (like-for-like to IaaS).
• Wants PaaS with minimal code change (IIS → App Service, SQL Server → SQL MI) → Replatform.
• Needs code changes to cut technical debt / optimize for cloud → Refactor.
• Needs architecture change to unlock cloud-native scale → Rearchitect.
• A SaaS product meets the requirement → Replace.
• Legacy system too outdated to evolve → Rebuild cloud-native.
⚠ The SMART assessment gauges organizational readiness (business planning, skills, security, governance) — it doesn't pick a strategy per app. Per-workload readiness comes from Azure Migrate assessments.

Question

Why does CAF push enterprise-scale landing zones instead of letting each team set up their own subscription?

Answer

An enterprise-scale landing zone enforces:
Consistent MG / subscription hierarchy so Policy and RBAC inherit predictably.
Network topology (hub-spoke, secured Azure Firewall) before workloads land.
Identity + logging plumbed once for all tenants.
Bicep / Terraform reference architectures so deployment is reproducible.
Letting each team set up ad-hoc means inconsistent governance and rework when central security / compliance arrives. Landing zones front-load that work.

Question

Enterprise plans to migrate 500 workloads over 2 years. Apply CAF to sequence the program.

Answer

  1. Strategy — leadership defines business outcomes and the cost-of-staying baseline.
  2. Plan — portfolio-classify the 500 workloads against CAF's eight migration strategies — retire, retain, rehost, replatform, refactor, rearchitect, rebuild, replace; group into waves of 10–20.
  3. Ready — deploy the enterprise-scale landing zone (MG hierarchy, Policy initiatives, hub VNet, identity, logging).
  4. Adopt iteratively — each wave: discover with Azure Migrate, choose an R per app, migrate, run smoke tests, retrospect.
  5. Govern + Manage + Secure — same policies / Defender baseline / Sentinel apply to every wave.

Organize — not a CAF phase: steps 1–5 above cover all seven CAF methodologies, and CAF files Organize under Resources. A Cloud Center of Excellence coordinates the platform while business units own their workloads, running alongside the whole program rather than after it.

Question

How do CAF, WAF, and the Azure Architecture Center divide responsibilities?

Answer

CAF (Cloud Adoption Framework)what to do and when: the phased program from strategy to operations. Process-oriented.
WAF (Well-Architected Framework)how to design a workload well, judged on five pillars (Reliability, Security, Cost Optimization, Operational Excellence, Performance Efficiency). Per-workload technical guidance.
Azure Architecture Center — reference architectures and pattern library you compose into a workload.
CAF guides the program; WAF reviews each workload; AAC supplies the building blocks.

Question

Why does CAF treat migration as iterative rather than 'plan everything, then migrate'?

Answer

Three benefits:
Risk reduction — small batches isolate failures; one bad migration doesn't tank the program.
Compounding learning — each iteration's retrospective improves the playbook for the next.
Faster business value — workloads land in cloud sooner, freeing on-prem datacentre + delivering cost saving / agility per wave.
Big-bang migration concentrates risk and delays value until late in the program — when problems hit, they hit at the worst time. CAF's wave-based migration sequence — plan, prepare workloads, execute, optimize, then decommission trades 'optimal sequencing on paper' for incremental, validated progress.

Question

Walk through CAF tooling at each phase — what software helps with what.

Answer

Strategy — Cloud Journey Tracker assessment.
PlanSMART (Strategic Migration Assessment and Readiness Tool), TCO / cost estimation, adoption-plan documentation.
Ready — Azure landing zone accelerators (Bicep / Terraform), Azure naming tool, Azure Policy built-in initiatives.
AdoptAzure Migrate (discovery, assessment, business case, migration), Azure Database Migration Service, App Service Migration Assistant.
Govern — cloud governance assessment, Azure Policy, Cost Management + Billing, Azure Governance Visualizer, Microsoft Purview.
SecureMicrosoft Defender for Cloud, Microsoft Sentinel, Microsoft cloud security benchmark.
ManageAzure Monitor, Azure Automation, Azure Update Manager.
(CCoE / team-structure guidance is process, not tooling — and is no longer one of the seven phases.)

AZ-305 LO — Evaluate On-Premises Servers, Data, and Applications for Migration(12 cards shown)

Question

Azure Migrate hub

Answer

A single portal to decide, plan and execute migration of servers, databases, web apps, virtual desktops and bulk data. The service itself is free — you pay only for the Azure resources you consume (partner tools may charge). Tools under one project:
Discovery and assessment — inventory, readiness, right-sizing, cost, dependency analysis, business case.
Migrate and modernize (Migration and modernization) — replication and cutover for VMware, Hyper-V, physical and other-cloud servers.
Azure Database Migration Service — database migration.
App Service Migration Assistant — .NET and PHP web apps.
Azure Data Box — offline bulk data shipping.
Partner tools (Carbonite, Cloudamize, CloudSphere, Device42, …) also surface here.
Movere is retired — use Azure Migrate itself for discovery and assessment.

Question

Azure Migrate appliance

Answer

A lightweight virtual appliance you deploy in the on-prem (or other-cloud) network. It performs agentless discovery — connecting to vCenter, Hyper-V hosts or physical servers — and continuously collects configuration and performance metadata, installed software inventory, SQL Server / PostgreSQL instances, web apps, and agentless dependency data, sending it outbound over HTTPS to Azure Migrate. Deployed from an OVA (VMware), VHD (Hyper-V) or a PowerShell script (physical servers and other public clouds). It's the data plane behind 'Discover' in the Azure Migrate hub.
⚠ Don't confuse it with the Azure Migrate collector — a separate tool that does a one-shot local scan for estates with no direct Azure connectivity (air-gapped or restricted networks).

Question

Agentless vs Agent-based discovery

Answer

Agentless dependency analysis (recommended for new projects) — the Azure Migrate appliance gathers TCP connection and process data without installing guest agents. The enhanced experience automatically analyzes eligible discovered servers and supports application grouping.
Agent-based dependency analysis (existing classic projects only) — Azure Monitor Agent plus the Dependency agent sends data to Log Analytics. New servers cannot be onboarded to this classic path, which is scheduled for deprecation. Prefer agentless analysis for new migration-wave planning.

Question

Azure Migrate Assessment

Answer

A scoped analysis run that produces a readiness verdict + right-sized recommendation + cost estimate per server. Inputs: assessment criteria (Azure VM target, AVS, App Service), pricing tier (PAYG / 3-year RI), AHB toggle, sizing mode (Performance-based or As-on-prem). Output: per-server PDF / CSV with recommended VM size, monthly cost, and any migration blockers (unsupported OS / boot type).

Question

Performance-based vs As-on-prem sizing

Answer

Two sizing modes in Azure Migrate Assessment:
Performance-based — recommendation derived from actual CPU/RAM/disk utilisation sampled by the appliance over time. Usually right-sizes down versus on-prem allocation. Default for cost-optimising migrations.
As-on-prem — recommendation matches the on-prem allocation exactly (e.g., 8 vCPU + 32 GB → D8s_v5D8s\_v5). Safer for lift-and-shift when uncertainty is high; usually leaves money on the table.

Question

Dependency analysis (application dependency map)

Answer

Visualises which servers and processes communicate, so dependent systems can move in the same migration wave. Use the current agentless dependency analysis experience through the Azure Migrate appliance for new projects. It collects connection and process data without guest agents and supports project-wide and per-server views. The older agent-based path (Azure Monitor Agent + Dependency agent + Log Analytics) is limited to existing classic projects and cannot onboard new servers.

Question

What does an Azure Migrate readiness verdict mean?

Answer

Per-server result of an assessment, judged on OS, boot type, OS disk size, storage, compute and security requirements — four categories:
Ready for Azure — migrate as-is, with full Azure support.
Conditionally ready for Azure — it may start in Azure but won't have full support until you remediate something (e.g. an out-of-support Windows Server version); follow the assessment's remediation guidance.
Not ready for Azure — it won't start in Azure at all. Example: a server whose disk holds more than 64 TB, which Azure can't host. Re-platform or replace before migrating.
Readiness unknown — Azure Migrate has insufficient metadata to decide (usually incomplete discovery); fix discovery and re-run.

Question

When does Azure Migrate's right-sizing save money — and when does it lie?

Answer

Saves money when on-prem provisioning was over-allocated for safety (most data centers run at 20–40% CPU). Performance-based sizing drops the recommendation to fit the actual peak.
Lies when the sample window is too short to capture month-end / quarter-end / batch peaks — recommendation is undersized and the migrated workload throttles. Best practice: let the appliance profile long enough that the window contains those peaks, and remember the ceiling — Azure Migrate keeps only the last month of 10-minute data points, so a 90-day performance history is not available to an assessment. Time the window to cover month-end, raise the comfort factor for critical workloads, and treat a low confidence rating as a signal that the history is too thin to trust.

Question

On-prem datacenter: 1,2001{,}200 servers across VMware + Hyper-V + 50 physical, 300 SQL Server DBs. Sketch the assessment plan.

Answer

  1. Deploy an Azure Migrate appliance in the VMware cluster and a second for Hyper-V; the physical servers are discovered agentlessly by the same appliance (script-based install) — no guest agents, and no Service Map (retired).
  2. Let the appliances collect configuration + performance data over a window that covers month-end / batch peaks; use the comfort factor for headroom.
  3. Run a server assessment with performance-based sizing, AHB on (assuming Software Assurance), and a 3-year reservation or savings-plan pricing option.
  4. Run agentless dependency analysis to group 10–20 co-dependent servers per wave (the agent-based path exists only in the classic view and can't onboard new servers).
  5. Assess the SQL estate with Azure Migrate's Azure SQL assessment or Azure Arc for SQL ServerData Migration Assistant is retired — to get per-DB targets (SQL Database / SQL MI / SQL on VM).
  6. Output: business case / TCO, ranked migration waves, per-DB target recommendation.

Question

Walk through the Assess → Migrate → Optimize loop with Azure Migrate.

Answer

Assess — Discover with the appliance → group → assess (readiness + right-sizing + cost) → agentless dependency analysis → business case. Output: a target architecture per workload.
Migrate — the Migration and modernization tool replicates the selected servers to Azure (agentless for VMware and Hyper-V; agent-based via a replication appliance for physical servers and other clouds), then you run a test migration into a non-production VNet, then cutover. Azure Database Migration Service does the equivalent for SQL / MySQL / PostgreSQL / MongoDB.
Optimize — after cutover, right-size on real telemetry (Azure Advisor), apply reservations or a savings plan plus AHB, enable Azure Backup and Defender for Cloud, archive cold data.
Each wave completes all three stages before the next wave starts.

Question

How do discovery, dependency analysis, and readiness assessment layer to define a migration wave?

Answer

  1. Discovery answers 'what's in the estate?' — inventory of every server / DB / app.
  2. Dependency analysis answers 'what talks to what?' — clusters servers into co-dependent groups (a database, the app it serves, and the load balancer in front).
  3. Readiness assessment answers 'can each member of the cluster run on Azure?' — flags blockers per server.
    A migration wave = a co-dependent cluster (from step 2) where all members are Ready or Ready-with-conditions (from step 3). Migrating individual servers out of a cluster usually breaks traffic.

Question

Why is TCO comparison a critical output of assessment — even when the migration is already approved?

Answer

TCO comparison surfaces:
The actual cloud cost of each migrated workload at chosen tiers (PAYG vs RI, with/without AHB) — drives the budget conversation.
Hidden on-prem cost — datacenter floor space, cooling, hardware refresh cycles, undepreciated assets — which leadership often underestimates.
Workload-by-workload payback period — flags which apps to migrate first for fastest ROI.
Cost spikes — discovers apps whose Azure cost will be higher than on-prem (legacy CPU-light, RAM-heavy workloads); these need re-architecture before migration.

AZ-305 LO — Recommend a Backup and Recovery Solution for Compute(6 cards shown)

Question

Two-tier Azure VM backup: Snapshot tier + Vault tier

Answer

When you back up an Azure VM, Backup first takes a disk snapshot stored locally (instant — used for fast restores). Default snapshot retention is 2 days on a Standard policy (configurable 1–5) and 7 days on an Enhanced policy (configurable 1–30). Backup then copies the snapshot to the Recovery Services Vault for longer retention. Snapshot-tier restores are fast (no copy); vault-tier restores fetch from the vault and take longer but cover the full retention window (recovery points can be kept up to 99 years).

Question

Instant Restore

Answer

A restore from the snapshot tier (not from the vault), available while the recovery point is still inside its snapshot-retention window — 2 days by default on a Standard policy (configurable 1–5) or 7 days on an Enhanced policy (configurable 1–30). Bypasses the vault download and gets a VM back in minutes instead of hours. Pick the right recovery point and restore the disk → attach to a new VM. After the snapshot ages out you can still restore — just slower, from the vault.

Question

Cross-Region Restore (CRR)

Answer

An optional Recovery Services Vault feature that lets you restore a VM, file, or disk in the paired region without waiting for Microsoft to declare a regional failover. Requires the vault to be GRS-redundant (not LRS or ZRS) and CRR explicitly enabled. Costs more (writes also go to the paired region). Use to meet compliance audits or run cross-region drills.

Question

File-level recovery from a VM backup

Answer

An option where Azure Backup mounts the VM's recovery point as iSCSI-attached drives on a recovery client machine (running a downloaded script). You browse the file system and copy out specific files / folders — no need to restore the entire VM disk just to get one config file back. Available for both Windows and Linux VMs, from any RSV recovery point.

Question

Enhanced Backup policy (Azure VM)

Answer

A newer backup policy subtype with three wins over Standard:
Multiple backups per day — an hourly schedule at 4/6/8/12/24-hour intervals, so up to 6 a day (Standard is 1/day).
Longer snapshot (instant-restore) retention — up to 30 days, versus a 5-day ceiling on Standard.
Support for newer offerings — Ultra Disks, Premium SSD v2, multi-disk crash-consistent snapshots, and zone-redundant snapshot storage.
Watch the fine print: Azure VM backup supports up to 32 disks under either policy, and Standard policy now also backs up Trusted Launch VMs (via CLI / PowerShell / REST). You can't switch an Enhanced-protected VM back to Standard. Pick Enhanced when RPO < 24 h or the VM uses those newer disk types.

Question

Velero (AKS backup)

Answer

An open-source Kubernetes backup tool that backs up cluster objects (deployments, services, secrets) and persistent volumes to Azure Blob storage. The Microsoft-supported AKS backup feature in Backup Vault is built on Velero under the covers. Used for application-aware AKS DR across regions: backup → store in geo-redundant blob → restore into a fresh cluster in the paired region.

Showing 30 of 928 flashcards. Study all flashcards →

Ready to ace Designing Microsoft Azure Infrastructure Solutions (AZ-305)?

Access all 582 practice questions, study notes, and flashcards — no sign-up required.

Start Studying — Free