AZ-305 Guide Chapter 1 Β· Microsoft Entra ID

Chapter 1

Microsoft Entra ID: users, groups and access

πŸ“– Theory 50 minπŸ›  Lab 30 minIdentities & governance Β· 20–25%

Everything in Azure starts with an identity. Before you can give someone access to a VNet or a storage account, that person (or app) must exist in Microsoft Entra ID. This chapter covers users, groups, licenses, guests and self-service password reset, then how people sign in (SSO, MFA, passwordless), Conditional Access, and Entra Domain Services for apps that still need a classic domain.

Part A

Theory

Tenants and subscriptions

A tenant is one dedicated instance of Entra ID for one organisation. It has a default domain like contoso.onmicrosoft.com and can have extra custom domains (like contoso.com) after you prove ownership with a DNS TXT or MX record.

The relationship between tenants and subscriptions is a classic exam topic:

Entra ID tenantcontoso.onmicrosoft.com Β· contoso.com Users Membercloud / synced GuestB2B invited UPN Β· usage location Β· department Deleted users: restorable for 30 days Groups Type:Security Β· Microsoft 365 Membership:Assigned Dynamic user (P1) Dynamic device (P1) Owners can manage members Licenses Free Β· P1 Β· P2 Β· M365 E3/E5 … Assign to a user or to a group Needs usage location Directory roles Global Administrator User / Groups Administrator Helpdesk Β· License Β· Guest Inviter Scope: tenant or administrative unit Subscription Atrusts 1 tenant Subscription Btrusts 1 tenant Subscription Ctrusts 1 tenant Azure RBAC roles live here (chapter 2)
One tenant holds the identities; many subscriptions can trust it. Directory roles (tenant) and Azure RBAC roles (subscriptions) are two separate systems.

Entra ID editions

Many exam questions are really asking "which license do you need?" Remember the features that need P1, because they come up most:

FeatureFreeP1P2
Users, groups, basic reports, B2B guestsβœ“βœ“βœ“
Security defaults (basic MFA for everyone)βœ“βœ“βœ“
Dynamic groupsβœ“βœ“
Group-based licensingβœ“βœ“
SSPR for users (and password writeback to on-prem AD)βœ“βœ“
Conditional Accessβœ“βœ“
Identity Protection (risky sign-ins), Privileged Identity Management (PIM), access reviewsβœ“

A handy way to remember: P1 = automation and control (dynamic groups, group licensing, Conditional Access, SSPR). P2 = risk and privileged access (Identity Protection, PIM).

Users

There are two ways to look at a user: where it comes from and what type it is.

Important user properties for the exam:

You can create users in the portal one at a time, with bulk create (download a CSV template, fill it in, upload it), with Microsoft Graph PowerShell (New-MgUser), with the Azure CLI (az ad user create) or through the Graph API. Bulk operations also exist for invite, delete and "download users".

When you delete a user, it goes to Deleted users for 30 days. Within that time you can restore it with all group memberships and licenses intact. After 30 days it is permanently removed.

Exam trap

"You can't change the department of a user in the portal; the field is greyed out." The user is synchronized from on-premises AD. You change it in on-premises AD and let sync update Entra ID.

Administrative units

An administrative unit (AU) is a container for users, groups or devices that lets you scope a directory role to part of the organisation. Example: the Benelux helpdesk gets the Helpdesk Administrator role scoped to the "Benelux" AU, so they can reset passwords only for Benelux users. Without AUs, directory roles apply to the whole tenant.

Directory roles you should know

Directory roles control what you can do in Entra ID itself (users, groups, settings). They are not the same as Azure RBAC roles like Owner or Contributor, which control Azure resources. Use the least privileged role that does the job:

RoleCan do
Global AdministratorEverything. Keep this to 2–4 people (plus break-glass accounts).
User AdministratorCreate and manage users and groups, reset passwords of non-admins, manage some admin passwords.
Groups AdministratorCreate and manage groups and group settings.
Helpdesk AdministratorReset passwords and invalidate refresh tokens for non-admins and other Helpdesk admins.
License AdministratorAssign and remove licenses, edit usage location.
Guest InviterInvite guests when "members can invite" is turned off.

Groups

Groups make administration scale: you give access, licenses or apps to a group once, and people inherit it by being a member. Groups have two settings that matter most.

Group type

Membership type

A group's membership type can be changed later (assigned ↔ dynamic), but a group can't hold users and devices in one dynamic rule. Dynamic rules re-evaluate automatically when user properties change, which can take some minutes.

Exam trap

"You need to add a device to a Microsoft 365 group." That's impossible: M365 groups hold users only. Use a security group. Also: nested groups don't inherit group-based licenses. Only direct members of the licensed group get the license.

Other group settings worth recognising: group owners can manage membership without an admin role; "Microsoft Entra roles can be assigned to the group" must be set at creation time and can't be changed later; and group expiration and naming policies apply to Microsoft 365 groups.

Licenses

Licenses (Entra ID P1/P2, Microsoft 365 E3/E5 and so on) are bought per tenant and then assigned to users. There are two ways:

When group licensing fails for a user, the group shows an error state. The usual reasons are:

External users (B2B)

B2B collaboration lets people from other organisations use their own identity (their work account, a Microsoft account, Google, or a one-time email passcode) to access your apps and resources. In your tenant they appear as a guest user object.

The invitation flow works like this:

  1. An admin or allowed user invites the external email address (portal, bulk CSV, PowerShell or Graph).
  2. Entra ID creates a guest user object with userType = Guest and sends an invitation email.
  3. The person redeems the invitation by signing in with their own account and accepting the consent prompt. The guest object's state changes from Pending acceptance to Accepted.
  4. You can now add the guest to groups, apps and Azure RBAC roles like any other user.

You control B2B in External Identities β†’ External collaboration settings:

A separate area, cross-tenant access settings, controls trust with specific other Entra tenants: whether you trust their MFA and device compliance claims, and which users and apps may collaborate inbound or outbound.

Not the same thing

B2B collaboration is for partners working with your organisation. Microsoft Entra External ID for customers (formerly Azure AD B2C) is for consumer sign-up and sign-in to your public apps, in a separate external tenant. If a question mentions millions of customers signing up with social accounts, that's External ID, not B2B guests.

Self-service password reset (SSPR)

SSPR lets users reset their own forgotten password, which saves the helpdesk a lot of calls. You configure it under Protection β†’ Password reset. The settings, in the order the portal shows them:

Two behaviours surprise people:

Exam trap

"Enable SSPR for the Sales and Marketing groups." SSPR Selected accepts only one group. Create a third group with Sales and Marketing as nested members, or enable it for All.

Signing in: SSO, MFA and passwordless

Two words that are easy to mix up:

Single sign-on (SSO)

With single sign-on, a user signs in once with one identity and then opens many applications without signing in again. Entra ID acts as the identity provider: apps trust its tokens through standard protocols like SAML, OpenID Connect and OAuth 2.0.

Why it matters for security, not just comfort: one strong identity instead of many weak passwords, one place to enforce MFA and Conditional Access, and one account to disable when someone leaves.

Multifactor authentication (MFA)

MFA asks for two or more different kinds of proof:

There are three ways to turn MFA on in a tenant. Use only one of them:

MethodLicenseWhat it does
Security defaultsFreeOne switch: MFA registration for everyone, MFA for admins and when needed, legacy authentication blocked. On by default in new tenants. No exceptions possible.
Conditional AccessP1Policies decide who needs MFA, when and for which apps. Security defaults must be turned off first.
Per-user MFAFreeThe legacy way, set user by user. Avoid it; migrate to Conditional Access.

Separately from your tenant settings, Microsoft itself now requires MFA for everyone who signs in to the Azure portal, CLI, PowerShell and other Azure management tools (chapter 0).

Passwordless authentication

Passwords are the weakest link: they can be guessed, reused and phished. Passwordless methods replace the password with something you have plus a PIN or biometric, so every sign-in is automatically multifactor:

MethodHow it worksBest for
Windows Hello for BusinessBiometric or PIN tied to the user's own Windows PC (keys in the TPM)Users with a dedicated Windows device
Microsoft AuthenticatorPhone sign-in: match a number, then confirm with fingerprint, face or PIN. Can also hold a passkey.Mobile workers, everyone with a smartphone
Passkeys (FIDO2)A hardware security key (USB/NFC) or a device-bound passkeyShared PCs, admins, high-security users
Certificate-based authenticationX.509 certificate on a smart card or deviceOrganisations that already have a PKI

You enable these in Protection β†’ Authentication methods β†’ Policies. Windows Hello, FIDO2 passkeys and certificates are phishing-resistant: a fake website can't reuse them. With Conditional Access you can require exactly that through an authentication strength such as "Phishing-resistant MFA".

Conditional Access

Conditional Access is Entra ID's policy engine. Each policy is an if-then statement: if a sign-in matches these conditions, then block it or grant it with requirements. Policies run after the first factor (the password), and every policy that matches applies.

Signals (if…) User or group, role Target app or action Location / IP (named locations) Device platform, compliance Sign-in / user risk (P2) Conditional Accessall matching policies Decision (then…) Block accessalways wins Grant, but require…MFA or an authentication strengthcompliant or hybrid-joined deviceterms of use, password change Session controlssign-in frequency, app restrictions
Signals in, a decision out. If any matching policy blocks, access is blocked; otherwise all grant requirements must be met.

Things you need to know to work with it safely:

Exam trap

"Users must use MFA only when they sign in from outside the office." Create a named location for the office IPs and a Conditional Access policy that includes all locations and excludes that named location, with grant Require MFA. Security defaults can't do this: they have no conditions.

Microsoft Entra Domain Services

Entra ID is not a classic Active Directory domain: it has no LDAP, no Kerberos/NTLM for old apps, no Group Policy and no domain join in the traditional sense. Many older applications need exactly those. Microsoft Entra Domain Services gives you a managed domain that provides them, without running domain controllers yourself:

Microsoft Entra IDEntra Domain ServicesAD DS on your own VMs
ProtocolsOIDC, OAuth, SAML (modern, internet)LDAP, Kerberos, NTLM, Group PolicyEverything
Who runs the serversMicrosoft (global service)Microsoft (in your VNet)You
Typical useSign-in to cloud and SaaS appsLift-and-shift of legacy apps, Azure Files (chapter 7), AVD (chapter 5)Full control, existing forest extended to Azure
Exam trap

"Move an app that uses LDAP and Kerberos to Azure VMs. You must not manage domain controllers." β†’ Entra Domain Services. If the requirement says "Schema extensions" or "Domain Admin rights", it has to be AD DS on VMs.

AZ-305 link

In AZ-305 you design identity, so expect questions like "which license is the minimum that meets the requirement", "B2B or External ID", "Entra Connect vs Cloud Sync" and "how do you give admins just-in-time access" (PIM, P2). Knowing the P1/P2 split from this chapter answers half of them.

Self-check

1. Group-based licensing fails for one user. The license is available and other members got it. What is the most likely cause?

C. Licenses can't be assigned without a usage location. Dynamic groups and M365 groups both support group licensing.

2. You want all users whose department is "IT" to be added to a group automatically, including new hires. What do you need?

B. Dynamic membership needs P1. Administrative units scope admin roles; they don't grant access.

3. A helpdesk team in Belgium must reset passwords only for Belgian users. What is the least-privilege solution?

D. Administrative units scope directory roles. Azure RBAC roles (Owner) don't control Entra users.

4. You move a subscription to a different Entra tenant. What happens to the existing role assignments?

A. The old identities don't exist in the new tenant, so all RBAC assignments are removed and must be recreated.

5. SSPR is set to None. Can a Global Administrator reset their own password with SSPR?

C. The admin SSPR policy is always on and requires two strong methods.

6. You want to create a Conditional Access policy, but the portal says you can't enable it. Your tenant has P1. What's the likely cause?

B. Security defaults and Conditional Access can't be used together; turn security defaults off first. Only risk-based conditions need P2.

7. Admins must sign in with a method that a phishing website can't capture and replay. What do you require?

D. Those methods are bound to the real site, so a fake one can't reuse them.

8. A legacy app needs LDAP binds and Kerberos, and the team doesn't want to run domain controllers. What do you deploy?

A. Entra ID itself doesn't speak LDAP or Kerberos; Domain Services adds a managed domain that does.

Part B

Lab: users, groups, a guest, SSPR and Conditional Access

You create two users and two groups. The group az104-admins is the one you give Azure permissions to in chapter 2, so keep it.

Lab tenant only

Steps 5, 6 and 7 change tenant-wide settings. Do them in your own lab tenant, not your employer's.

  1. Task

    Find out which Entra ID edition you have

    Find your tenant's license edition. Steps 4, 6 and 7 need P1. If you have Free, start a free 30-day Entra ID P2 trial (P2 includes P1), or skip those steps.

    Done when
    • You know whether you have Free, P1 or P2.
    Solution Β· Portal

    Microsoft Entra admin center β†’ Overview: the License field. For a trial: Billing β†’ Licenses β†’ All products β†’ Try / Buy (or the Microsoft 365 admin center β†’ Billing β†’ Purchase services).

  2. Task

    Create two users

    Create these cloud users. Use a password you'll remember for Ada; you need it for the SSPR test.

    UPNDisplay nameDepartmentUsage location
    az104-ada@<your domain>Ada (AZ-104)ITyour country
    az104-ben@<your domain>Ben (AZ-104)Financeyour country
    Done when
    • Both users show in All users with the right department and usage location.
    Solution Β· Portal
    1. Users β†’ All users β†’ New user β†’ Create new user.
    2. Basics: UPN and display name; choose or auto-generate a password.
    3. Properties: set Department and Usage location.
    4. Review + create. Repeat for Ben.
    Solution Β· Azure CLI
    DOMAIN=$(az rest --url https://graph.microsoft.com/v1.0/domains --query "value[?isDefault].id" -o tsv)
    az ad user create --display-name "Ada (AZ-104)" --user-principal-name az104-ada@$DOMAIN --password '<choose-a-strong-password>'
    az ad user create --display-name "Ben (AZ-104)" --user-principal-name az104-ben@$DOMAIN --password '<choose-a-strong-password>'
    
    # az ad user create has no department flag, so set it through Microsoft Graph
    az rest --method PATCH --url "https://graph.microsoft.com/v1.0/users/az104-ada@$DOMAIN" \
      --body '{"department":"IT","usageLocation":"NL"}'
    az rest --method PATCH --url "https://graph.microsoft.com/v1.0/users/az104-ben@$DOMAIN" \
      --body '{"department":"Finance","usageLocation":"NL"}'
  3. Task

    Create the group az104-admins

    Create a security group with assigned membership called az104-admins. You are the owner and Ada is a member. Chapter 2 gives this group Azure permissions.

    Done when
    • The group's Members shows Ada and Owners shows you.
    Solution Β· Portal

    Groups β†’ All groups β†’ New group: Group type Security, name az104-admins, Membership type Assigned. Under Owners add yourself, under Members add Ada. Create.

    Solution Β· Azure CLI
    # Variables for this task
    DOMAIN=$(az rest --url https://graph.microsoft.com/v1.0/domains --query "value[?isDefault].id" -o tsv)
    
    az ad group create --display-name az104-admins --mail-nickname az104-admins
    az ad group member add --group az104-admins --member-id $(az ad user show --id az104-ada@$DOMAIN --query id -o tsv)
    az ad group owner add  --group az104-admins --owner-object-id $(az ad signed-in-user show --query id -o tsv)
  4. Task Β· needs P1

    Create a group that fills itself

    Create a security group az104-dept-it that automatically contains every user whose department is IT, including future hires. Before saving, test your rule against Ada and Ben.

    Optional: assign your trial license to this group, then remove Ada's usage location and see what the group reports.

    Done when
    • After a few minutes Ada is a member, Ben isn't.
    • You notice you can't add members by hand. Why not?
    Hint

    Membership type Dynamic User. The rule uses the property user.department.

    Solution Β· Portal
    1. Groups β†’ New group: type Security, name az104-dept-it, Membership type Dynamic User.
    2. Add dynamic query: property department, operator Equals, value IT. Rule text: (user.department -eq "IT").
    3. Tab Validate rules: add Ada and Ben and check the result. Save β†’ Create.
    4. Optional: Billing β†’ Licenses β†’ All products β†’ your license β†’ Assign β†’ group az104-dept-it.
    Solution Β· Azure CLI (through Graph)
    az rest --method POST --url https://graph.microsoft.com/v1.0/groups --body '{
      "displayName": "az104-dept-it", "mailNickname": "az104-dept-it",
      "mailEnabled": false, "securityEnabled": true,
      "groupTypes": ["DynamicMembership"],
      "membershipRule": "(user.department -eq \"IT\")",
      "membershipRuleProcessingState": "On" }'
  5. Task

    Invite a guest

    First find out who is allowed to invite guests in your tenant and whether there is a domain allow/deny list (just look, don't change). Then invite another email address of your own (a personal Outlook or Gmail) as a B2B guest and redeem the invitation.

    Done when
    • The guest shows User type: Guest and Invitation state: Accepted.
    Solution Β· Portal
    1. External Identities β†’ External collaboration settings: read Guest invite settings and Collaboration restrictions.
    2. Users β†’ New user β†’ Invite external user: enter the email, Review + invite.
    3. Open the mail, click Accept invitation, sign in and accept the consent prompt.
    Solution Β· Azure CLI (through Graph)
    az rest --method POST --url https://graph.microsoft.com/v1.0/invitations --body '{
      "invitedUserEmailAddress": "<your-other-email>",
      "inviteRedirectUrl": "https://myapps.microsoft.com",
      "sendInvitationMessage": true }'
  6. Task Β· needs P1

    Turn on self-service password reset for a pilot group

    Enable SSPR only for members of az104-admins. Users need one method, either email or the Authenticator app notification, and must register when they sign in.

    Test it (optional, 5 min): sign in as Ada in a private window, register methods, sign out, then reset her password yourself.

    Done when
    • The Password reset Properties show Selected β†’ az104-admins.
    • (Optional) Ada reset her own password.
    Solution Β· Portal
    1. Protection β†’ Password reset β†’ Properties: Selected, group az104-admins. Save.
    2. Authentication methods: number required 1; tick Email and Mobile app notification. Save.
    3. Registration: require users to register when signing in = Yes. Save.
    4. Test: private window β†’ https://myaccount.microsoft.com as Ada (MFA registration is also asked) β†’ sign out β†’ https://aka.ms/sspr.
  7. Task Β· needs P1

    Require MFA for admins, without locking anyone out

    Create a Conditional Access policy ca-az104-admins-mfa that requires multifactor authentication for members of az104-admins on all resources. It must run in report-only mode, and it must not apply to your own admin account.

    Then prove, without signing in as Ada, that the policy would apply to her.

    Done when
    • The policy list shows ca-az104-admins-mfa with state Report-only.
    • The What If tool lists the policy under "Policies that will apply" for Ada, and not for Ben.
    Hint

    If the portal won't let you create or turn on the policy, check whether security defaults are still enabled (Overview β†’ Properties β†’ Manage security defaults). In a lab tenant you may turn them off; your Conditional Access policy then takes over. You turn them back on in the chapter 10 cleanup.

    Solution Β· Portal
    1. Entra admin center β†’ Protection β†’ Conditional Access β†’ Policies β†’ + New policy. Name ca-az104-admins-mfa.
    2. Users: Include β†’ Select users and groups β†’ az104-admins. Exclude β†’ your own admin account (your break-glass safety net).
    3. Target resources: All resources (formerly "All cloud apps").
    4. Grant: Grant access, tick Require multifactor authentication β†’ Select.
    5. Enable policy: Report-only β†’ Create.
    6. Policies β†’ What If: user Ada, target Any resource (or "All resources") β†’ What If. The policy appears under Policies that will apply. Repeat for Ben: it appears under Policies that will not apply with the reason "Users and groups".
    7. Optional: sign in as Ada in a private window, then look at Monitoring β†’ Sign-in logs β†’ her sign-in β†’ Report-only tab: the result shows what would have happened.
Checkpoint

You now have:

  • Users Ada (IT) and Ben (Finance), plus one guest.
  • Group az104-admins (assigned, Ada is a member), which chapter 2 uses for RBAC.
  • Group az104-dept-it (dynamic) and SSPR enabled for az104-admins.
  • Conditional Access policy ca-az104-admins-mfa in report-only mode.

Entra objects cost nothing. You delete them in the chapter 10 cleanup.