delivered for clients · names withheldconsolidation Identity and access

Consolidating Okta and Entra ID after years of running both

Cohash helps organizations that run both Okta and Microsoft Entra ID pick one as the primary identity provider and move to it. We map which platform is authoritative for sign-in, MFA, provisioning and agents today, then compare the two on your apps and licenses. Applications, factors and SCIM provisioning move in waves. The other platform is retired, or kept for a stated purpose with an owner.

  1. 01Map who owns what
  2. 02Inventory apps with real usage
  3. 03Decide the target
  4. 04Move factors and devices
  5. 05Move apps and provisioning in waves
  6. 06Retire or scope the other platform
case-study / okta-entra-consolidation delivered
beforeOkta and Entra ID running side by side afterOne primary identity provider
01 · USERS AND AGENTS 02 · PRIMARY IDENTITY PROVIDER 03 · APPLICATIONS Workforce users: passkeys · Authenticator Workforce users passkeys ·Authenticator Managed devices: device trust Managed devices device trust AI agents: Entra Agent ID · named sponsor AI agents Entra Agent ID · namedsponsor Entra ID: Conditional Access · managed auth Entra ID Conditional Access ·managed auth Microsoft 365: managed authentication Microsoft 365 managed authentication SaaS apps: SAML · OIDC · one SCIM source SaaS apps SAML · OIDC · one SCIMsource Okta for a named purpose: owner · review date, or retired Okta for a namedpurpose owner · review date,or retired
01 · USERS AND AGENTS02 · PRIMARY IDENTITY PROVIDER03 · APPLICATIONS Workforce users: passkeys · Authenticator Workforceusers passkeys ·Authenticator Managed devices: device trust Manageddevices device trust AI agents: Entra Agent ID · named sponsor AI agents Entra Agent ID· named sponsor Entra ID: Conditional Access · managed auth Entra ID Conditional Access · managed auth Microsoft 365: managed authentication Microsoft365 managedauthentication SaaS apps: SAML · OIDC · one SCIM source SaaS apps SAML · OIDC ·one SCIM source Okta for a named purpose: owner · review date, or retired Okta for anamedpurpose owner · reviewdate, orretired © Cohash · cohash.com
case file

The story

Told without the client's name or anything that could identify them.

what happened

A healthcare group's identity team had run Okta and Entra ID side by side for years. Microsoft 365 sign-in was federated to Okta while Entra ID held Conditional Access, devices and Copilot licensing, and a few SaaS apps took SCIM from both. Two renewals were landing in the same year and AI agents were being registered wherever their builders preferred, so finance and security both wanted one answer. We merged the Okta System Log and Entra sign-in logs into one app inventory, wrote up both options, and moved factors, apps and provisioning in waves. Entra ID became the primary identity provider, with the Microsoft 365 domain converted to managed authentication last.

why it was urgent

Both vendors shipped AI agent identity in 2026. Okta for AI Agents reached general availability in April and Agent SSO in August, while Microsoft Entra Agent ID added Conditional Access for agents in July and changes agent consent rules on 4 November 2026. Running two identity providers now means registering, governing and reviewing every agent twice.

problem statement
  • openMicrosoft 365 sign-in is federated to Okta while Entra ID holds Conditional Access, devices and Copilot licensing.
  • recurringSome SaaS apps provision from Okta, others from Entra ID, and a few from both.
  • blockedUsers carry Okta Verify and Microsoft Authenticator side by side, and the help desk has to reset both.
  • openTwo identity renewals land in the same year and finance has asked why.
  • recurringAgents get registered in Okta or in Entra ID, depending on which team built them.
architecture

The estate, before and after

before
before

Before: two identity providers doing the same job

Before: users signed in through Okta and Entra ID, with Microsoft 365 federated from Entra ID to Okta. A few SaaS apps took SCIM from both platforms, and agents were registered in whichever one their builders chose.

Before: two identity providers doing the same job Before: users signed in through Okta and Entra ID, with Microsoft 365 federated from Entra ID to Okta. A few SaaS apps took SCIM from both platforms, and agents were registered in whichever one their builders chose. 01 · USERS AND AGENTS 02 · IDENTITY PROVIDERS 03 · APPLICATIONS sign-in sign-in agent registration agent registration M365 domain federation token SCIM SCIM Workforce users Okta Verify · Authenticator AI agents registered in eitherplatform Okta SSO · Workflows · SCIM Ex Entra ID Conditional Access ·devices Microsoft 365 domain federated to Okta Sf SaaS apps Salesforce ·ServiceNow © Cohash · cohash.com
01 · USERS AND AGENTS02 · IDENTITY PROVIDERS03 · APPLICATIONS Workforce users: Okta Verify · Authenticator Workforce users Okta Verify ·Authenticator AI agents: registered in either platform AI agents registered ineither platform Okta: SSO · Workflows · SCIM Okta SSO · Workflows ·SCIM Entra ID: Conditional Access · devices Entra ID Conditional Access· devices Microsoft 365: domain federated to Okta Microsoft 365 domain federatedto Okta SaaS apps: Salesforce · ServiceNow SaaS apps Salesforce ·ServiceNow sign-in sign-in agent registration agent registration token SCIM SCIM © Cohash · cohash.com
after
after

After: Entra ID as the one primary identity provider

Everything goes through Entra ID now, whether it's a user, a device or an agent. Microsoft 365 uses managed authentication, and SaaS apps get SSO and SCIM from Entra ID alone. Okta is gone, or kept for one named purpose.

After: Entra ID as the one primary identity provider Everything goes through Entra ID now, whether it's a user, a device or an agent. Microsoft 365 uses managed authentication, and SaaS apps get SSO and SCIM from Entra ID alone. Okta is gone, or kept for one named purpose. 01 · USERS AND AGENTS 02 · PRIMARY IDENTITY PROVIDER 03 · APPLICATIONS sign-in and MFA device trust agent registration managed auth SSO and SCIM scoped use Workforce users passkeys · Authenticator Managed devices device trust AI agents Entra Agent ID · namedsponsor Ex Entra ID Conditional Access ·managed auth Microsoft 365 managed authentication Sf SaaS apps SAML · OIDC · one SCIMsource Okta for a namedpurpose owner · review date,or retired © Cohash · cohash.com
01 · USERS AND AGENTS02 · PRIMARY IDENTITY PROVIDER03 · APPLICATIONS Workforce users: passkeys · Authenticator Workforceusers passkeys ·Authenticator Managed devices: device trust Manageddevices device trust AI agents: Entra Agent ID · named sponsor AI agents Entra Agent ID· named sponsor Entra ID: Conditional Access · managed auth Entra ID Conditional Access · managed auth Microsoft 365: managed authentication Microsoft365 managedauthentication SaaS apps: SAML · OIDC · one SCIM source SaaS apps SAML · OIDC ·one SCIM source Okta for a named purpose: owner · review date, or retired Okta for anamedpurpose owner · reviewdate, orretired sign-in and MFA device trust agent registration managed auth SSO and SCIM scoped use © Cohash · cohash.com
results

What the client got

What changed for the client once the work was done. Described, not scored: we don't publish client figures.

  1. result 01

    Each app has one provisioning source

    Each app now gets SCIM from one platform only, switched over on a recorded date. Accounts stopped flipping between attribute values, and the wrong side can't deprovision anyone.

  2. result 02

    Users enroll one set of factors

    Group by group, users switched to the target's MFA and passkeys before their apps moved. One authenticator for the help desk to support, where there used to be two.

  3. result 03

    Agents are registered in one place

    Agents and MCP servers live in a single platform now, each with an owner and scopes. The unclaimed agents were switched off.

  4. result 04

    Microsoft 365 uses managed authentication

    The Microsoft 365 domain stopped depending on Okta federation. That change ran in its own window, rollback plan ready.

  5. result 05

    The second platform is retired or has a named job

    We shut Okta down at renewal, or keep it for a stated purpose with an owner and a review date. The automation it carried has been rebuilt or retired.

what can go wrong

Risks we plan for

  1. Provisioning from two sources

    When both platforms push SCIM to the same app, accounts flip between attribute values or get deprovisioned by the wrong side. One source per app is set before any wave starts.

  2. Federated Microsoft 365 domain

    If Okta federates your Microsoft 365 domain, changing that touches every mailbox and every Teams sign-in. It gets a change window of its own, with a rollback plan.

  3. Automation nobody listed

    Okta Workflows, event hooks, Entra lifecycle workflows and custom scripts often carry joiner and leaver logic. Each one is found and rebuilt, or the leaver process quietly breaks.

  4. MFA re-enrollment fatigue

    Asking every user to enroll a new factor at once floods the help desk. Enrollment runs by group, ahead of each app wave, with a fallback for shared and kiosk devices.

ai in this move

Where AI helps, and where it needs guardrails

Okta for AI Agents registers each agent with an owner and certifies its connections. Microsoft Entra Agent ID uses identity blueprints and sponsors and puts agents under Conditional Access. Pick one place to register agents and MCP servers before the app waves start. Watch 4 November 2026 too. From then Microsoft stops granting AgentIdentity.CreateAsManager automatically, so Entra ID agents that create their own identities need explicit consent. We look for those in the inventory.

forward deployed engineers →
you keep

What you're left with

We write these for your setup, and they're working documents. Your team should be able to keep things running from them long after we've gone.

  • inventory01

    Map of sign-in, MFA, provisioning and agent registration by user group, showing which platform owns each

    yours to keep
  • inventory02

    Merged app inventory with usage, protocol, provisioning source and owner

    yours to keep
  • report03

    Target decision paper covering both options and what each leaves behind

    yours to keep
  • plan04

    Wave plan with factor enrollment, app moves and provisioning switch dates

    yours to keep
  • plan05

    Retirement or scoped-use plan for the second platform

    yours to keep
field notes

Learn the background

Terms from this page in plain English. If you want the why, the field note behind it is right there.

01Agent identity
One account per agent, separate from staff and service accounts. Policies and logs then point at the agent itself, so nobody has to guess who did what.in context →
02Rules
The JavaScript snippets Auth0 used to run at login. Someone would write one to add a role to the token or block a sign-in, and each one ran after the last.in context →
03Hooks
Older Auth0 scripts for moments outside login. Someone might have used one to stamp machine-to-machine tokens or check sign-ups, and then forgotten about it.in context →
04SCIM
A way for a company's directory to push users and groups into another system. Auth0 can then keep those groups as their own objects instead of on the profile.in context →
05Conditional access
Rules evaluated at each sign-in that look at conditions such as user, device or location, and then allow, block or demand more proof.in context →
06federation
Mirroring the Hive metastore as a foreign catalog in Unity Catalog, so Unity Catalog permissions apply to old tables before they move.in context →
A full business cycle Report-only Pilot ringenforces Staged rings Change in git All users
field note · 12 min · 3-question check Conditional access is a policy, not a prayer the ideaChange access policies the way you'd ship code: report-only, then rings, rollback at hand. read the note
talent and delivery · one primary identity provider

Certified engineers, wherever you need them.

Some clients want a project team, some want a couple of engineers on theirs. Either works. Onsite, nearshore or offshore, with handovers across time zones that keep things moving.

Onsite

Engineers at your sites in the US

Nearshore

Overlapping hours with US teams

Offshore

Overnight progress on your backlog

All time zones

Coverage handed over across time zones

24-hour coverage · US Central time
OnsiteUS business hours
Nearshoreoverlapping US hours
Offshoreovernight progress
Combinedhandover, not hand-off
01Which one should we keep?

It depends where most of your apps and devices sit, how much you lean on Okta Workflows or Entra ID Governance, and when each contract renews. Estates that are mostly Microsoft tend to pick Entra ID. If you have lots of non-Microsoft SaaS and Okta automation, Okta often wins. We put both cases on paper with your numbers.

02Can we keep both on purpose?

Yes, if each has a clear job, for example Entra ID for workforce and Okta's Auth0 for customers, or one platform for a subsidiary. What causes trouble is two platforms doing the same job for the same users.

03Will users notice the move?

They'll enroll a new factor once and see a different sign-in page. We schedule enrollment ahead of each wave and brief the help desk, so apps keep working on the day they move.

04What about AI agents already registered in both?

We list every agent with its owner and scopes, decide which platform governs agents from now on, and re-register them there. Agents nobody owns get disabled. If someone needs one back, they claim it.

fact-checked Checked against vendor and official documentation last checked 2026-10-20 content fingerprint fe3aa358
  1. 01Book a 30-minute working sessionsenior engineer
  2. 02Talk to an engineer about your setupreply within 24 hours
  3. 03See how similar projects wentcase studies
Reviewed by the Cohash team Product names are trademarks of their owners. how we handle facts and data →
next step

Planning this move?

A 30-minute working session with a senior engineer. No slides.

useful to bring
  • The platform and the version you're on
  • Where you need to get to, and by when
  • What's custom: rules, plugins, integrations
  • Any audit finding or deadline driving it