What breaks in Entra ID this November: MemberOf, the PIM beta APIs and agent permissions
MemberOf rules freeze on 3 November, the PIM iteration 2 beta APIs went dark on 28 October, and agent blueprints lose an automatic permission on 4 November. What each change breaks, how to find it in your tenant and what to fix first.
part 9 of 10 · Identity security, from the ground upthe ideaThree Entra changes in a week, and two of them fail quietly
after reading, you can- Find every MemberOf rule, including the ones hiding in admin units and access package policies
- Move PIM scripts off the iteration 2 beta endpoint to iteration 3
- Agree who approves it when one of your agents wants to create identities of its own
Microsoft is retiring or tightening several Entra ID features within a few days of each other, and two of them fail quietly. Find every MemberOf rule in your tenant and every script still calling the old PIM beta API, today. After that, deal with the agent identity permission change, check the Conditional Access policy that switches itself on, and plan for the dates further out.
Some Entra settings your automation leans on are being switched off, a few days apart
Microsoft Entra ID is the sign-in and directory service behind Microsoft 365 and Azure. It decides who can sign in, which groups people belong to, and what each group can reach. Over the next few weeks Microsoft removes a preview feature some tenants use in production, an old version of the API behind Privileged Identity Management, and a permission AI agents used to get for free. Sign-in keeps working for everyone. What breaks is the automation around it: groups stop updating, scripts get no data back, and agents can't create their own identities. Nobody sees an error page. Access just drifts out of date until someone notices.
Picture an office where some door badges get their access from a list that copies two other lists every night. Microsoft is stopping the nightly copy. The badges keep whatever access they had on the last night, so new starters can't get in, and people who changed teams can still open their old doors.
- Entra ID and Microsoft 365 admins
- Teams using dynamic groups for licences
- Anyone with PIM scripts or reports
- Teams building agents on Entra Agent ID
- Security teams that own Conditional Access
- Auditors who test access reviews
Why it matters to you
The MemberOf change is the one to worry about. A group built on MemberOf doesn't vanish on 3 November. It freezes. Whoever was in it stays in it, and nobody new gets added. If that group hands out licences, Teams and SharePoint access or a Conditional Access exclusion, new hires go without and leavers keep what they had.
The PIM change has already happened. A script, runbook or reporting tool still calling the old beta endpoint for role assignments has been getting nothing back since 28 October. If a weekly report of eligible admins came back empty this week, start there.
The agent change mostly hits teams building their own agents with app-only authentication. Microsoft's own documentation hasn't caught up with it yet, which we come back to below.
-
01 An admin builds a MemberOf group
Someone wrote a rule that pulls in everyone from group A and group B. Licences, a Teams site or a Conditional Access policy now hang off that one group.
-
02 Microsoft ends the preview
On 3 November Entra stops reading the rule. Whoever happened to be in the group that morning stays in it, and that's the list from then on.
-
03 A new starter joins group A
IT adds them to group A as usual. The MemberOf group never picks them up, so the licence or the site access never arrives.
-
04 A leaver comes out of group B
IT pulls them out of group B on their last day, like always. The frozen group still has them, so whatever it gave them stays switched on.
-
05 Someone notices weeks later
Usually it's a help desk ticket about a missing licence, or an access review that finds people who shouldn't be there.
There's a detail in Microsoft's own preview notes worth knowing. Even before the retirement, removing someone from a child group didn't take them out of the MemberOf group until the rule was edited, and only direct members of the source groups ever counted. So a MemberOf group may already hold people who left its source groups months ago. Check the membership, not just the rule.
What's changing, item by item
Entra ID changes, late 2026 into early 2027
Anything that still calls /beta/privilegedAccess for Entra roles or Azure resource roles has got nothing back since 28 October. Move it to iteration 3: Microsoft Graph for roles and groups, Azure Resource Manager for Azure resources.
Groups, admin units and access package auto-assignment policies built on memberOf stop updating on 3 November. They keep whoever they held that day, so access goes stale quietly.
From 4 November, rolling out until late November, agent blueprints no longer get AgentIdentity.CreateAsManager on their own. An agent that creates its own identities with app-only auth needs an admin to grant it.
Microsoft drops managed Conditional Access policies into your tenant in report-only mode. Leave them alone and they switch on no less than 30 days later. Require remediation for high-risk users is one of them, for P2 tenants.
It's a preview, it's free, and it stays off until you turn it on. Once on, it emails owners and sponsors when an agent identity has sat idle for 60 days, disables it at 90 and deletes it at 455.
Since September 2026 you can't add or edit custom controls. Microsoft Learn says full retirement comes early in 2027, and the Message Center notice says May 2027. External MFA replaces them.
Users signing in with Windows Hello for Business or a Mac on Platform SSO can meet supported MFA prompts without registering another passkey. Message Center says it rolls out from early November to late December 2026, so update your help desk scripts.
Provisioning apps that use the OAuth 2.0 authorization code grant are moving to client credentials or workload identity federation. Timing varies by app, and existing jobs don't switch over by themselves.
Microsoft's reason for dropping MemberOf is performance. Learn says it can slow dynamic membership processing for every group in the tenant, and the Message Center notice adds that a single rule is enough. Microsoft says it's working on an alternative but hasn't given a date, so plan with what exists today. Either rewrite the rule on user attributes, or turn the group into an assigned group that someone actually maintains.
Assigned groups need an owner and a process, or the list rots. An access package with an approver, or a lifecycle workflow driven by HR data, usually does the job. Where the MemberOf group only glued two or three groups together for one app, assign those groups to the app directly and retire the combined one.
The PIM retirement is about plumbing. Iteration 2 lived under /beta/privilegedAccess, with one segment for Entra roles and one for Azure resources. Iteration 3 splits the work: Entra roles and PIM for Groups sit in Microsoft Graph, and Azure resource roles sit in Azure Resource Manager. You no longer write an assignment directly. You create an assignment or eligibility schedule request, and PIM builds the schedules from it. Microsoft's iteration 2 page maps the Azure resource calls to their Resource Manager versions and points to migration guidance for Entra roles, so once you've found the callers the rewrite is mostly mechanical.
Until now every agent identity blueprintdefinitionThe template Entra Agent ID stamps agent identities out of. Its principal in your tenant is the thing that needs CreateAsManager to make new ones. got AgentIdentity.CreateAsManager without anyone approving it. That's the permission that lets a blueprint create agent identities in your tenant. Microsoft's Message Center notice MC1506728 says that from 4 November an admin has to grant it as a Microsoft Graph application permission. Existing agent identities and blueprints stay put, and agents that use a directory role to create identities aren't affected.
Here's the catch. Microsoft Learn's page on how agent identities are created still says the permission is granted automatically and can't be revoked. In October an admin asked on Microsoft Q&A whether Copilot Studio's blueprint would need an explicit grant, and the AI-generated answer leaned on that same page. Go by the notice instead. Admins have been able to grant the permission explicitly since 16 October, so grant it now and test app-only creation before enforcement reaches your tenant. After that, a request that relied on the automatic grant fails with a 403.
Microsoft-managed Conditional Access policies appear in your tenant in report-only modedefinitionConditional Access runs the policy and logs what it would have done, but doesn't block anyone. It's how you find out who'd be hit before switching it on.. If you leave them there, Microsoft turns them on no less than 30 days later and, according to Learn, emails and posts in Message Center two weeks before. Learn also says some policies can be switched on faster. In October Microsoft sent some tenants a Message Center reminder (MC1507808) that the high-risk users policy was about to turn on.
When that policy is on, users Entra ID Protection rates as high risk have to clear the risk themselves before they get back in. Microsoft's notice tells you to make sure users have MFA registered so they can do that. Exclude break-glass accounts, and read the policy's Policy impact tab before it flips.
The dates side by side
| Change | Date | What fails if you do nothing | Usual owner |
|---|---|---|---|
| PIM iteration 2 beta APIs retired | 28 Oct 2026 | Scripts and tools reading or changing PIM roles get no data | Automation and reporting owners |
| MemberOf rule operator retired | 3 Nov 2026 | Groups, admin units and auto-assignments freeze in their last state | Entra and Microsoft 365 admins |
| CreateAsManager no longer automatic | 4 Nov 2026, rolling to late Nov | Agents can't create their own agent identities with app-only auth | Agent developers and app admins |
| Managed high-risk users policy | Usually 30+ days after it appears | High-risk users must self-remediate, which needs MFA registered | Security team |
| Windows Hello and Platform SSO as MFA | Early Nov to late Dec 2026 | Users with only these registered may get stuck on other devices; onboarding guidance goes stale | Identity and help desk |
| Custom controls retired | Early 2027 (MC: May 2027) | Policies using a custom control stop being supported | Conditional Access owners |
| SCIM authorization code grant | Varies by app | Existing jobs stay on the old grant until you change them; a few apps may leave the gallery | App and provisioning owners |
How the changes line up
- Sep 2026Custom controls frozen
No new custom controls, and no edits to existing ones. They keep working for now.
- 28 Oct 2026PIM iteration 2 stops returning data
Anything still calling /beta/privilegedAccess gets nothing back. Microsoft has warned about this since October 2025.
- Oct 2026Managed policy reminders
Some tenants got a Message Center reminder that the high-risk users policy was about to leave report-only. Ignore it and Microsoft switches the policy on for you.
- 3 Nov 2026MemberOf stops updating
Groups, admin units and auto-assignment policies that use memberOf keep whoever was in them that day. New joiners never get added.
- 4 Nov 2026Agent permission enforcement starts
Rolling out worldwide until late November, so the day it reaches your tenant will vary.
- Nov to Dec 2026Windows Hello and Platform SSO as MFA
No configuration change. Users see these credentials as passkeys in My Security Info.
- Early 2027Custom controls retired
Learn says early 2027 and Message Center says May 2027. Move to external MFA before either.
From MemberOf to a group that keeps updating
Before: one group built from other groups
A MemberOf rule copies the direct members of two source groups into one dynamic group, which then feeds licences, a Teams site and a Conditional Access policy. After 3 November the copy stops.
After: the group follows HR data, or someone owns it and answers for it
Where the population can be described by user attributes, a normal dynamic rule takes over. Where it can't, an assigned group with an owner, fed by an access package or a lifecycle workflow, replaces it, or the source groups are assigned directly.
- Copies direct members of up to 50 source groups
- Removals from a child group didn't flow through even in preview
- Can't be combined with any other rule
- Slowed dynamic processing for the whole tenant
- Stops updating on 3 November 2026
- A department or job code rule, or an assigned group with someone's name on it as owner
- Joiners and leavers come through from HR data or an approved request, so nobody edits the list by hand
- Rule builder and Validate rules work again
- Normal dynamic processing, no tenant-wide drag
- Supported, with no retirement date attached
Replace MemberOf in this order
- 01Find every use
Export dynamic groups and search the rules for memberof. Do the same for dynamic administrative units and access package auto-assignment policies with Microsoft Graph PowerShell. Keep the list in a sheet with the owner of each one.
- 02Find what each one feeds
For every group, note the licences, app assignments, Teams or SharePoint sites and Conditional Access policies that point at it. A group feeding an exclusion is more urgent than one feeding a site.
- 03Pick a replacement per group
If the population can be described by department, job code, location or another attribute, write a normal dynamic rule. If it can't, convert to assigned membership or assign the source groups directly.
- 04Build the new group alongside
Create the replacement next to the old group and compare the two member lists. Every difference is either a data problem in HR or a person who shouldn't have been there.
- 05Swap the targets
Point licences, apps, sites and policies at the new group, one target at a time. For Conditional Access, run the changed policy in report-only first if you can.
- 06Remove the old group
Once nothing points at it, delete the MemberOf group or administrative unit. Leaving it frozen invites someone to reuse it later.
# Run this before 3 November: groups still on memberOf Get-MgGroup -All -Filter "groupTypes/any(c:c eq 'DynamicMembership')" -Property Id,DisplayName,MembershipRule | Where-Object { $_.MembershipRule -match 'memberof' } | Select-Object DisplayName, Id # Then find scripts still on PIM iteration 2 grep -rni "beta/privilegedAccess" ./automation # example output Finance-All-Licensed 3f1c... pim-report.ps1:42: beta/privilegedAccess
What to do now
Who does what, and when
- Ask IT whether any group, admin unit or access package uses MemberOf, and who's fixing it before 3 November.
- Ask whether any admin role report or PIM tool went quiet after 28 October.
- Ask whoever builds your AI agents who signs off the agent creation permission, now that Microsoft won't hand it out by default.
- Run the memberOf search on groups, admin units and auto-assignment policies, and list what each one feeds.
- Rewrite or convert each one. Compare the old and new member lists, and only then move licences and policies across, one at a time.
- Open the Microsoft-managed Conditional Access policies and pick On or Off for each one yourself, before Microsoft picks for you.
- Exclude break-glass accounts from managed policies. Microsoft advises it, and a lockout is the worst time to find out.
- Search code, runbooks and automation accounts for beta/privilegedAccess and move each caller to iteration 3.
- Ask which of your agents create their own identities with app-only auth, and get an admin to consent to CreateAsManager for those.
- Test app-only agent identity creation before enforcement reaches your tenant, and don't rely on the docs page.
- Check each MemberOf group against its source groups. If someone left the source group and is still in the frozen one, take them out today.
- Check that users in scope of the high-risk policy have MFA registered.
- Decide whether to switch on the agent inactivity policy, still in preview, with a fallback recipient for agents nobody owns.
- If you still use custom controls, book the move to external MFA now. They're already frozen, so you can't patch them up later.
Harden so the next retirement hurts less
- 01Keep previews out of production paths
Microsoft's own notes said MemberOf was for test environments. If a preview feature ends up feeding licences or Conditional Access, write that down as a risk with an owner and an exit plan.
- 02Route Message Center to people who act
Each of these changes was announced in Message Center weeks or months ahead. Send the digest to a shared mailbox someone triages weekly, and turn every retirement into a ticket with a date.
- 03Inventory what calls Graph beta
Beta endpoints can change or go. Keep a list of scripts, runbooks and tools that use /beta, with an owner each, and move them to v1.0 when an equivalent exists.
- 04Give every agent an owner and a sponsor
The inactivity policy notifies owners and sponsors first. An agent with neither goes to your fallback recipient, or to nobody if you never set one.
- 05Decide on managed policies before Microsoft does
While a Microsoft-managed policy sits in report-only, read what it would have done on its Policy impact tab. Set your exclusions, then switch it On or Off when it suits you, not when the timer runs out.
If something already broke
When access drifted or a script went quiet
Most of these failures don't announce themselves. The playbook starts with finding out whether you're affected, then fixes access before it cleans up.
- 01Spot itfirst hour
- Check whether any PIM report, export or tool returned empty or errored since 28 October.
- List MemberOf groups and admin units and check when each one's membership last changed. Nothing since 3 November means it's frozen.
- Check whether new agents failed to get an identity once enforcement reached you. Existing ones keep running.
- 02Containsame day
- For a frozen group that feeds a Conditional Access exclusion or admin scope, take it out of that policy or scope first.
- Remove leavers from frozen groups by hand, starting with anyone who left after 3 November.
- 03Fixfirst days
- Rewrite or convert each MemberOf group. Compare lists, then move targets across one at a time, so you can tell what broke if something does.
- Move PIM callers to iteration 3: Graph for Entra roles and groups, Azure Resource Manager for Azure resource roles.
- Grant CreateAsManager to the agents that need it, through your normal consent process.
- 04Catch upfirst week
- Give missing licences and access to people who joined after the freeze.
- Rerun the PIM report that failed, and send it to whoever relies on it, such as auditors.
- 05Report and learnthis month
- Record what was frozen, for how long, and who had access they shouldn't have.
- Add the root cause, a preview feature or a beta API in production, to your risk register.
What it looks like in real life
Three typical tenants
- the setup
- A company of a few hundred people built one dynamic group from its office groups with MemberOf, and assigns Microsoft 365 licences to it.
- what happens
- After 3 November the group stops changing. New starters added to an office group get no licence, so no mailbox. A leaver removed from an office group keeps the licence.
- what to do
- Assign licences to the office groups directly, or rebuild the group on a department or office attribute. Compare member lists, swap the licence assignment, then delete the old group.
- the setup
- A weekly script exports who's eligible for privileged Entra roles and sends it to the audit team. It was written against the beta privilegedAccess endpoint years ago.
- what happens
- Since 28 October the script gets no data back. Depending on how it was written, it sends an empty report, fails, or reuses last week's file.
- what to do
- Rewrite it on the iteration 3 Graph APIs for role eligibility, rerun the missed weeks, and tell the auditors what happened and for how long.
- the setup
- A team runs its own agent platform on Entra Agent ID. Each time someone spins up an agent, the blueprint creates a fresh identity for it using app-only authentication.
- what happens
- When enforcement reaches the tenant, the blueprint no longer has CreateAsManager by default, so creating new agent identities fails with a 403. Agents that already have identities keep them.
- what to do
- Grant the Microsoft Graph application permission AgentIdentity.CreateAsManager before enforcement, which has been possible since 16 October, or move to a directory role model. Record who approved it, so you can revoke it later.
How Cohash helps
We run Entra ID estates for companies that rely on them for licences, admin roles and app access, and we start with the inventory: what's built on preview features, what calls beta APIs, and which groups feed which policies. If you want a hand clearing MemberOf before the date, or moving PIM automation to iteration 3, see our Microsoft Entra page, bring in an Entra engineer, or read how our identity and access management practice works. Building agents? Our AI agent identity work covers consent and ownership. Not sure where you stand? Start with the free assessment.
What to take from this
- 01
MemberOf groups, admin units and auto-assignment policies freeze on 3 November 2026. Find them, rewrite or convert them, and swap targets before then.
- 02
PIM iteration 2 went dark on 28 October. Search your scripts for beta/privilegedAccess and move whatever turns up to iteration 3.
- 03
From 4 November agent blueprints need an admin to grant AgentIdentity.CreateAsManager. Learn's own page hasn't caught up, so test rather than trust it.
- 04
Microsoft-managed Conditional Access policies switch on by themselves after report-only. Decide On or Off yourself, and exclude break-glass accounts.
- 05
Custom controls retire early in 2027. Plan the move to external MFA now, while the old policies still work.
01What actually happens to MemberOf groups we haven't fixed by 3 November?
They stop updating and keep the members they had on the day. Nobody new is added and nobody is removed. Anything the group feeds, such as licences, Teams and SharePoint access, Conditional Access or access packages, keeps acting on that frozen list until you replace the rule or convert the group.
02How do I find dynamic groups that use MemberOf?
Export dynamic groups from the Entra admin center and search the rules for memberof, or filter dynamic groups in Microsoft Graph PowerShell on their membership rule. Check dynamic administrative units and access package auto-assignment policies too. Microsoft's guidance uses Graph PowerShell for those two.
03Is there a replacement for the MemberOf operator?
Not yet. Microsoft says it's working on an alternative but hasn't given a date. Today the options are a dynamic rule on user attributes, assigned membership with an owner, or assigning the source groups directly to the app, licence or policy.
04Why does my PIM script suddenly return nothing?
If it calls the /beta/privilegedAccess endpoints, it's using PIM iteration 2, which stopped returning data on 28 October 2026. Move it to iteration 3: Microsoft Graph for Entra roles and PIM for Groups, and Azure Resource Manager for Azure resource roles.
05Will our existing agents stop working after 4 November?
Their identities and blueprints aren't removed. The change still applies to existing agents, though. Any agent that creates identities with app-only auth gets a 403 once enforcement reaches your tenant, unless an admin has granted AgentIdentity.CreateAsManager. You've been able to grant it since 16 October. Agents that use a directory role for this aren't affected.
06Will Microsoft turn on Conditional Access policies in my tenant without asking?
Microsoft-managed policies can. They're created in report-only mode and usually switched on no less than 30 days later if you leave them there, with an email and a Message Center post two weeks before. Learn says some can be enabled sooner. You can turn each one on early, or set it to Off.
07How long do we have before Conditional Access custom controls stop working?
Since September 2026 you can't create or edit them. Microsoft Learn says they retire fully early in 2027, and the Message Center notice gives May 2027. Plan the move to external MFA before then.
Three questions, about a minute
Pick an answer and we'll tell you if it's right, and why it is or isn't. The score stays in this browser.
-
Q1A licence group built with MemberOf is still in use on 10 November. A new hire joins one of its source groups. What happens?
show the answer
C. The group doesn't change, so the new hire never gets the licence After 3 November, configurations using memberOf stop updating and stay in their last known state. Nobody new is added and nobody is removed, so the licence never reaches the new hire.
-
Q2A weekly PIM export returned an empty file this week. Which change is the most likely cause?
show the answer
A. The old PIM beta APIs it calls went dark on 28 October Calls to the /beta/privilegedAccess endpoints stopped returning data on 28 October 2026. A script still on iteration 2 gets nothing back and has to move to the iteration 3 APIs.
-
Q3Your platform creates agent identities with app-only auth, and since enforcement it can't. What fixes it?
show the answer
B. Get an admin to grant AgentIdentity.CreateAsManager as a Graph application permission Entra stops granting AgentIdentity.CreateAsManager automatically. An admin has to grant it explicitly, or the agent moves to a directory role model. Existing identities and blueprints are left as they are.