Latest / The Identity Blueprint / Day One of the M&A. Okta and Ping Solve Day One Access Differently.
Transcript
- 0:00SPEAKER_00: Welcome back to the Identity Blueprint, Beyond the Domain.
- 0:03SPEAKER_00: I'm Ernie with Jose.
- 0:06SPEAKER_00: We already ran this exact day one scenario on Microsoft Entra.
- 0:09SPEAKER_00: Now we put Okta and Ping through it.
- 0:12SPEAKER_00: How a namespace collision between two employees who happen to share a surname gets resolved by anchoring identity to an immutable directory ID.
- 0:21SPEAKER_00: How Okta's org to org and ping federate bridge two separate cloud tenants without merging them.
- 0:28SPEAKER_00: And how a claim rewriting rule stops an acquired company's administrators group from silently inheriting the parents' keys.
- 0:36SPEAKER_00: We also trace the exact troubleshooting steps for when that federation breaks on launch day.
- 0:42SPEAKER_00: If you're the one debugging it at six in the morning, this episode is your field guide.
- 0:47SPEAKER_00: Let's get into it.
- 0:48SPEAKER_00: Imagine you are the lead identity architect, and um you've just been pulled into a highly confidential war room.
- 0:56SPEAKER_01: Oh boy.
- 0:57SPEAKER_01: The classic nightmare scenario.
- 1:00SPEAKER_00: Right.
- 1:00SPEAKER_00: The executives at the end of the table are shaking hands.
- 1:02SPEAKER_00: The ink on this massive merger and acquisition contract is like barely dry.
- 1:07SPEAKER_00: And the press release is going out in exactly 48 hours.
- 1:10SPEAKER_01: Yeah, the clock is already ticking.
- 1:12SPEAKER_00: Exactly.
- 1:13SPEAKER_00: So Company A, your parent organization, has thousands of employees.
- 1:17SPEAKER_00: You've just acquired company B, which has thousands more, and the CEO looks directly at you and says, We need everyone collaborating by Monday morning.
- 1:26SPEAKER_00: We need day one access.
- 1:27SPEAKER_01: It is uh it's honestly the ultimate trial by fire for an enterprise architect.
- 1:32SPEAKER_01: I mean, the business expectation is this seamless harmony, but the technical reality, you have two completely distinct, highly complex IT infrastructures.
- 1:39SPEAKER_01: Trevor Burrus, Jr.
- 1:40SPEAKER_00: That have been evolving on their own for what, a decade or more?
- 1:42SPEAKER_01: Aaron Ross Powell Right, exactly.
- 1:43SPEAKER_01: So you've got overlapping namespaces, completely conflicting security policies, entirely different authentication workflows.
- 1:51SPEAKER_01: And if you fail to connect them securely, I mean business continuity just grinds to a halt.
- 1:57SPEAKER_01: The merger basically stalls before it even begins.
- 2:00SPEAKER_00: Aaron Powell And you can't just, you know, mash their infrastructures together overnight.
- 2:04SPEAKER_00: Like you can't execute a massive lift and shift of tens of thousands of users over a weekend.
- 2:10SPEAKER_01: Aaron Powell No, absolutely not.
- 2:11SPEAKER_01: The sheer volume of data, the API rate limits alone would kill it.
- 2:15SPEAKER_01: Plus, you have the risk of corrupting active routing rules.
- 2:18SPEAKER_01: It's just impossible.
- 2:19SPEAKER_00: Aaron Powell So you have to build a highly secure, high-speed bridge between these two environments while traffic is literally already driving over it.
- 2:26SPEAKER_01: Aaron Powell Yeah.
- 2:26SPEAKER_01: And that requirement for immediate secure connectivity, it fundamentally changes how we have to approach security.
- 2:32SPEAKER_01: I mean, the traditional network perimeter, that whole idea of just dropping a VPN between two corporate firewalls and calling it a day.
- 2:39SPEAKER_00: That's completely obsolete here.
- 2:40SPEAKER_00: Trevor Burrus, Jr.
- 2:40SPEAKER_01: Totally obsolete.
- 2:41SPEAKER_01: Identity is now your primary security control plane.
- 2:45SPEAKER_01: If the identity layer fails, the entire acquisition fails.
- 2:48SPEAKER_00: And that pressure, that exact scenario, is the mission of this deep dive.
- 2:53SPEAKER_00: If you are an architect, an engineer, or a uh a technical leader navigating this space, you know exactly how high the stakes are.
- 3:01SPEAKER_00: So today we are unpacking the highly technical, under-the-hood reality of integrating an acquired organization's identities right into a parent company's environment.
- 3:12SPEAKER_01: And we're going to focus entirely on Okta and ping identity environments today, drawing directly on technical architecture guides, implementation specs, and API documentation.
- 3:22SPEAKER_01: Right.
- 3:22SPEAKER_00: This is a vendor neutral masterclass on how to achieve that day one cross-organizational access without completely collapsing your existing infrastructure.
- 3:30SPEAKER_00: Trevor Burrus, Jr.
- 3:31SPEAKER_01: Which is key.
- 3:31SPEAKER_01: The strategic shift here is moving away from that old mindset of, you know, rip and replace.
- 3:35SPEAKER_01: We aren't migrating everything to a single unified directory on day one.
- 3:38SPEAKER_01: We're talking about orchestration.
- 3:40SPEAKER_01: Right.
- 3:40SPEAKER_01: Platforms like Okta and Ping, they act as these diplomatic translators between completely different identity languages.
- 3:46SPEAKER_01: So that allows distinct directories to interoperate instantly, securely, and uh seamlessly.
- 3:51SPEAKER_00: Aaron Ross Powell, so let's start with what is probably the most notoriously difficult legacy scenario.
- 3:57SPEAKER_00: You've acquired a company that operates entirely on an on-premises active directory.
- 4:02SPEAKER_01: Oh yeah.
- 4:03SPEAKER_01: A classic.
- 4:04SPEAKER_00: Right.
- 4:04SPEAKER_00: There is no cloud footprint at all.
- 4:06SPEAKER_00: There's no modern federation.
- 4:08SPEAKER_00: It is just a localized, heavily guarded AD island sitting in a data center somewhere.
- 4:13SPEAKER_01: Severed in dust.
- 4:14SPEAKER_00: Exactly.
- 4:15SPEAKER_00: So before we can even dream about elegant cloud-to-cloud federation, we have to figure out how to bridge this isolated on-prem island to the parent company's modern infrastructure.
- 4:26SPEAKER_00: Trevor Burrus, Jr.
- 4:26SPEAKER_01: Right.
- 4:27SPEAKER_01: And if we look at the historical context, you know, the legacy answer to this was an active directory forest consolidation project.
- 4:33SPEAKER_00: Oh brutal.
- 4:34SPEAKER_01: Yeah.
- 4:35SPEAKER_01: And if you've ever lived through one of those, you know it is an absolute nightmare.
- 4:38SPEAKER_01: I mean, you would have to establish these complex, super fragile network trusts between the two AD environments.
- 4:44SPEAKER_00: You'd have to open up dynamic RPC ports across firewalls, right?
- 4:47SPEAKER_01: Trevor Burrus, Yes.
- 4:47SPEAKER_01: Deal with SID filtering, configure DNS conditional forwarders, and then slowly painfully migrate user objects and sync passwords over like months or even years.
- 4:58SPEAKER_00: Aaron Powell It's an operational black hole.
- 5:00SPEAKER_01: It really was.
- 5:01SPEAKER_01: And it introduced massive downtime risks, not to mention expanding the attack surface exponentially.
- 5:05SPEAKER_01: Trevor Burrus, Jr.
- 5:06SPEAKER_00: But the modern approach completely sidesteps that entire process, right?
- 5:09SPEAKER_00: Yeah.
- 5:10SPEAKER_00: We just leave the acquired AD exactly where it is, intact, completely untouched, and we bridge it.
- 5:16SPEAKER_00: So how does Okta approach this at the system level?
- 5:19SPEAKER_01: Aaron Powell So Okta handles this by utilizing lightweight directory agents.
- 5:23SPEAKER_01: Now these are small, stateless services that you install directly onto member servers within the acquired organization's on-prem network.
- 5:30SPEAKER_00: Aaron Powell And just as a quick constraint check for our listeners, we've actually covered the underlying architecture of how these agents establish their outbound-only polling connections in a prior deep dive.
- 5:40SPEAKER_01: Right, exactly.
- 5:41SPEAKER_00: So we won't rehash the Kerberos bridging or the deep agent networking today.
- 5:45SPEAKER_00: We're focusing purely on the outcome here.
- 5:47SPEAKER_00: Trevor Burrus, Jr.
- 5:47SPEAKER_01: Right.
- 5:48SPEAKER_01: And the outcome is that these agents essentially treat the acquired Active Directory as a connected remote directory store.
- 5:55SPEAKER_01: They basically sync the user identity data.
- 5:57SPEAKER_01: So we're talking attributes, group memberships, account status.
- 6:01SPEAKER_01: They sync all of that up to Okta's Universal Directory in the cloud.
- 6:04SPEAKER_00: Got it.
- 6:05SPEAKER_00: Giving the parent organization day one visibility of all the acquired users without ever actually having to touch their local AD structure.
- 6:14SPEAKER_01: Exactly.
- 6:14SPEAKER_00: So how does the ping ecosystem handle that same requirement?
- 6:18SPEAKER_01: So Ping takes a structurally similar but highly customizable approach.
- 6:22SPEAKER_01: In a ping environment, you typically utilize Ping Federate or Ping Directory acting as a centralized bridge or like a hub.
- 6:30SPEAKER_01: Okay.
- 6:31SPEAKER_01: And this hub sits strategically right between the legacy on-premises AD and the broader cloud infrastructure.
- 6:37SPEAKER_01: And Ping Federate is just incredibly adept at supporting legacy protocols.
- 6:41SPEAKER_00: Trevor Burrus Because it's been around, it knows all those old languages.
- 6:44SPEAKER_01: Right.
- 6:45SPEAKER_01: It can seamlessly translate the proprietary localized language of the acquired AD, things like LDF or Kerberos into standard cloud protocols.
- 6:53SPEAKER_01: And that allows the parent company to authenticate those newly acquired users against their original directory.
- 6:58SPEAKER_00: Okay, let's trace the exact authentication flow like millisecond by millisecond here.
- 7:03SPEAKER_00: Yeah.
- 7:03SPEAKER_00: Because this is where the actual magic happens.
- 7:05SPEAKER_00: This is what makes day one access possible without a massive migration.
- 7:10SPEAKER_00: So when an acquired user sitting at their desk in Company B types in their username and password to access the parent company application, what is mechanically happening under the hood?
- 7:21SPEAKER_01: Okay, so in both the Okta and Peng architectures, the cloud platform acts as the central control plane.
- 7:28SPEAKER_01: It's the traffic cop.
- 7:30SPEAKER_01: But crucially, and this is honestly the foundational security principle of this whole design, the central cloud platform does not know the user's password.
- 7:39SPEAKER_01: Great.
- 7:39SPEAKER_01: It never sees it in plain text and it doesn't store a hash of it.
- 7:42SPEAKER_01: It relies entirely on the local acquired Active Directory as the absolute immutable source of truth for credentials.
- 7:49SPEAKER_00: Wait, if the cloud control plane doesn't have the password, how can it possibly authenticate the user?
- 7:53SPEAKER_00: Like why not just sync the passwords to the cloud once and be done with it?
- 7:56SPEAKER_01: Well, because extracting passwords out of a legacy AD is a massive security vulnerability.
- 8:01SPEAKER_01: Oh yeah.
- 8:01SPEAKER_01: It requires elevated privileges, it risks exposing legacy NTLM hashes, and it introduces synchronization delays.
- 8:08SPEAKER_01: I mean, think about it.
- 8:09SPEAKER_01: If a user changes their password on-prem and it takes five minutes to sync up to the cloud, that user is locked out of cloud apps for five minutes.
- 8:18SPEAKER_00: Aaron Powell Which creates unacceptable friction on day one.
- 8:20SPEAKER_01: Exactly.
- 8:21SPEAKER_00: Okay, so we leave the passwords locked securely in the on-prem data center.
- 8:25SPEAKER_00: Walk me through the routing then.
- 8:27SPEAKER_01: Aaron Powell Sure.
- 8:27SPEAKER_01: So the user attempts to log into a parent company application.
- 8:31SPEAKER_01: The application immediately redirects their browser to the central cloud control plane, so Okta or Ping.
- 8:37SPEAKER_01: The control plane looks at the username they entered, recognizes via its routing rules that this specific user belongs to the newly acquired on-prem AD.
- 8:47SPEAKER_00: Based on their email domain or something.
- 8:49SPEAKER_01: Right, usually the suffix.
- 8:50SPEAKER_01: And it essentially pauses the login process in the cloud.
- 8:53SPEAKER_01: It takes the credential payload, encrypts it heavily, and securely routes the authentication request back down the established bridge.
- 9:00SPEAKER_01: So through the Okta agent or the Ping Federate hub directly to the local domain controller of the acquired AD.
- 9:06SPEAKER_00: Aaron Powell So it's like building a secure high-speed rail line from a remote island, the acquired AD, over to the mainland, which is the parent cloud.
- 9:14SPEAKER_01: Aaron Powell I like that analogy, yeah.
- 9:15SPEAKER_00: Aaron Powell You don't have to force all the island residents to pack up, move to the mainland, and build new houses on day one.
- 9:21SPEAKER_00: You just give them a fast, verified, highly secure way to commute to the mainland whenever they need to access a resource.
- 9:29SPEAKER_01: Aaron Powell Building on that rail analogy, the train carrying the authentication request goes down the track to the island.
- 9:35SPEAKER_01: The local AD domain controller, you know, the authority on the island processes the password check natively.
- 9:41SPEAKER_01: Right.
- 9:41SPEAKER_01: It evaluates the password against its own local database, checks if the account is locked out, checks if the password has expired.
- 9:48SPEAKER_01: And if everything is valid, the local AD stamps the ticket.
- 9:52SPEAKER_01: It sends a success signal back to the agent or hub.
- 9:54SPEAKER_00: And then that rides back up.
- 9:56SPEAKER_01: Yep.
- 9:56SPEAKER_01: That success signal rides the high-speed rail back up to the cloud control plane.
- 10:00SPEAKER_01: The cloud platform receives the verified signal, generates a modern session token, and grants the user access to the application.
- 10:07SPEAKER_00: And from the user's perspective, this entire round trip took what, maybe half a second?
- 10:12SPEAKER_01: Basically instantaneous, yeah.
- 10:13SPEAKER_00: They just typed in their password and the app opened.
- 10:16SPEAKER_00: But architecturally, zero passwords were migrated, the legacy AD was entirely untouched, and we achieved secure day one access.
- 10:24SPEAKER_01: Exactly.
- 10:25SPEAKER_00: But I mean, that does introduce a massive architectural trade-off, doesn't it?
- 10:29SPEAKER_00: Like if the network link to the acquired AD drops, say a backhoe, cuts the fiber line outside, Company B's data center authentication stops dead, right?
- 10:39SPEAKER_00: The cloud can't verify the password if the bridge is down.
- 10:42SPEAKER_01: That is the exact trade-off.
- 10:44SPEAKER_01: You are prioritizing security, speed of integration, and data sovereignty over pure cloud resiliency in that moment.
- 10:50SPEAKER_01: If the on-prem AD is unreachable, those specific users cannot log in.
- 10:55SPEAKER_01: Right.
- 10:55SPEAKER_01: Which is exactly why architects build redundancy into the agent deployment.
- 10:59SPEAKER_01: You cluster them across multiple local servers to ensure high availability on the acquired side.
- 11:04SPEAKER_00: Makes sense.
- 11:04SPEAKER_01: Yeah.
- 11:05SPEAKER_00: But even with a perfect network, you know, nothing in enterprise IT is ever perfectly clean.
- 11:09SPEAKER_00: We have to talk about the edge cases.
- 11:10SPEAKER_00: Oh, it's if you're an architect listening to this, this is probably the part that keeps you up at night.
- 11:14SPEAKER_00: What happens when we hit a namespace collision?
- 11:17SPEAKER_01: Oh, yeah.
- 11:18SPEAKER_00: Let's say the parent company has a user whose username or user principal name is Jay Smith for John Smith, the CFO.
- 11:27SPEAKER_00: And the acquired company also has a user whose UPN is Jay Smith, but this is for Jane Smith, a junior graphic designer.
- 11:33SPEAKER_01: This is the number one cause of post-merger account takeover risks, HR nightmares, or just catastrophic directory sync failures.
- 11:41SPEAKER_00: Aaron Ross Powell Because the systems think they're the same person.
- 11:43SPEAKER_01: Exactly.
- 11:44SPEAKER_01: If your integration relies solely on the UPN as the primary identifier, the directory sync will attempt to merge those records.
- 11:51SPEAKER_01: Jane's data will overwrite John's, potentially granting her access to the CFO's financial dashboards.
- 11:57SPEAKER_01: Or even more likely, the directory will throw a fatal duplicate key error, crash the synchronization process entirely, and just halt the integration.
- 12:05SPEAKER_00: Yikes.
- 12:06SPEAKER_00: So how do we architect around this?
- 12:08SPEAKER_00: How do we mechanically prevent Jane from overwriting John?
- 12:12SPEAKER_01: We have to completely detach the user's identity from their human readable username.
- 12:16SPEAKER_01: Both Okta and Ping solve this at the integration layer by relying on immutable IDs.
- 12:22SPEAKER_00: Okay.
- 12:23SPEAKER_01: In the Active Directory world, this is typically the object geoid.
- 12:27SPEAKER_00: Right, the global unique identifier.
- 12:28SPEAKER_01: Right.
- 12:29SPEAKER_01: The object geoid is a globally unique, cryptographically generated 128-bit integer assigned to a user the absolute second their account is created in AD.
- 12:39SPEAKER_01: And it never ever changes.
- 12:41SPEAKER_00: Even if they change their name.
- 12:42SPEAKER_01: Exactly.
- 12:43SPEAKER_01: Even if Jane gets married and changes her name, even if she moves to a different department, even if her UPN changes, that GUID remains completely static.
- 12:51SPEAKER_00: So Okta and Ping use that G ID as the true unbreakable anchor for the identity record.
- 12:57SPEAKER_01: Yes.
- 12:57SPEAKER_01: When the sync happens, Okta and Ping map that local object geoide to a cloud attribute often called the source anchor or an external ID.
- 13:05SPEAKER_01: The cloud platform binds all access rights, all group memberships, and all application assignments to this unchangeable cryptographic tie.
- 13:12SPEAKER_01: It completely ignores the string J Smith for the purposes of unique identification.
- 13:16SPEAKER_00: Okay, I understand the backend database relies on the GeoID.
- 13:19SPEAKER_00: But from a user experience standpoint, I mean, we can't ask Jane to type in a 32-character hexadecimal GeoID to check her email on Monday morning.
- 13:28SPEAKER_01: No.
- 13:28SPEAKER_01: HR would have a field day with that.
- 13:30SPEAKER_00: Right.
- 13:30SPEAKER_00: Both Jen and Jane still want to walk into the office and log in as J Smith.
- 13:34SPEAKER_00: So how does the login box know who is who?
- 13:36SPEAKER_01: This is where identity architects implement transformation rules during the directory sync.
- 13:41SPEAKER_01: You configure explicit mapping rules at the bridge layer.
- 13:44SPEAKER_01: Okay.
- 13:45SPEAKER_01: Before Jane's identity record ever reaches Okta's universal directory or the ping directory hub, the integration engine basically intercepts the incoming data payload.
- 13:55SPEAKER_01: It evaluates a regular expression or a script that the architect configured.
- 13:59SPEAKER_00: Like a data manipulation script.
- 14:01SPEAKER_01: Exactly.
- 14:01SPEAKER_01: That script says take the incoming UPN from this specific acquired AD and automatically prefix it with a unique identifier.
- 14:09SPEAKER_00: Oh, I see.
- 14:09SPEAKER_00: So the system actively translates her login behind the scenes.
- 14:12SPEAKER_00: John Smith stays J Smith at parent.com, and Jane Smith's inbound record is transformed on the fly to become, say, compBJsmith at parent.com.
- 14:21SPEAKER_01: Exactly.
- 14:22SPEAKER_01: The transformation rule ensures a unique namespace in the central directory, entirely eliminating the collision at the database level.
- 14:29SPEAKER_01: Now when Jane goes to login, she is instructed by the day one IT communications to use her new routing prefix, CompBJ Smith.
- 14:37SPEAKER_00: And when she types that in, the cloud platform sees the prefix, instantly knows to route the password check down the high-speed rail to Company B's local AD, and then matches the success signal back to her unique immutable ID.
- 14:49SPEAKER_00: The data remains separated, the permissions remain isolated, and we avert the HR disaster.
- 14:55SPEAKER_00: It's a highly elegant mechanical solution to a very messy human problem.
- 15:00SPEAKER_01: And it really highlights why the directory sync isn't just a dumb pipe, you know?
- 15:04SPEAKER_01: It requires an active, intelligent evaluation layer to manipulate the data safely before it ever enters the parent environment.
- 15:10SPEAKER_00: Right.
- 15:11SPEAKER_00: But solving the legacy ED collision only helps if the company you bought is still living entirely in like 2012.
- 15:17SPEAKER_01: Fair point.
- 15:18SPEAKER_00: We need to look at the next major scenario.
- 15:20SPEAKER_00: What if you acquire a tech startup or a mature enterprise that has already gone through their own digital transformation?
- 15:25SPEAKER_01: Right.
- 15:25SPEAKER_01: They're cloud native.
- 15:26SPEAKER_00: Yeah, they don't have an on-prem AD.
- 15:28SPEAKER_00: They already have their own Octa tenant or their own ping environment.
- 15:31SPEAKER_00: In these cases, syncing from a local AD agent isn't the solution.
- 15:36SPEAKER_00: We are talking about two massive cloud identity fabrics colliding.
- 15:41SPEAKER_00: Trevor Burrus, Jr.
- 15:41SPEAKER_01: And this is actually becoming the dominant MA scenario.
- 15:44SPEAKER_01: You have two fully realized, highly complex cloud tenants that now need to trust each other seamlessly.
- 15:50SPEAKER_01: And again, you cannot just merge two cloud tenants over the weekend.
- 15:53SPEAKER_00: Aaron Powell Why not, though?
- 15:54SPEAKER_00: I mean, if it's all in the cloud, why can't we just export the users via CSV from tenant B and import them into tenant A?
- 16:01SPEAKER_01: Well, because of API rate limits, for one, every major cloud provider, Okta, Ping, Microsoft, Google, they protect their infrastructure using API token buckets.
- 16:10SPEAKER_00: Aaron Powell Right, to prevent DDS attacks.
- 16:11SPEAKER_01: Exactly.
- 16:12SPEAKER_01: So if you try to run a script that provisions 50,000 users, assigns them all to hundreds of groups, and applies multi-factor authentication policies all at once, you will hit a throttling limit instantly.
- 16:23SPEAKER_01: The platform will return a 429 too many requests error, and your migration script will fail mid-execution, leaving half your users in limbo.
- 16:30SPEAKER_00: Aaron Powell Which is a nightmare.
- 16:32SPEAKER_01: Right.
- 16:32SPEAKER_01: And beyond rate limits, a rapid merge risks corrupting active routing rules, breaking existing SAML integrations in the acquired tenant, and just causing massive business disruption.
- 16:42SPEAKER_00: So we need a cloud-to-cloud federation architecture.
- 16:45SPEAKER_00: We need a bridge between the clouds.
- 16:47SPEAKER_00: Let's explore how Okta handles this specific challenge.
- 16:50SPEAKER_00: They have a purpose-built feature called Org 2 org, right?
- 16:54SPEAKER_00: Architecturally, how does this actually function?
- 16:57SPEAKER_01: So Okta's Org 2 org feature is essentially a highly specialized SAML and OpenID Connect Federation tunnel.
- 17:04SPEAKER_01: And it's optimized explicitly for two Okta organizations.
- 17:08SPEAKER_01: It establishes a strict directional trust relationship.
- 17:11SPEAKER_00: Okay, directional trust.
- 17:13SPEAKER_01: Right.
- 17:13SPEAKER_01: In our MA context, the parent organization is configured to act as the service provider, or the SP.
- 17:18SPEAKER_01: The acquired organization's Okta tenant is configured to act as the identity provider or the IDP.
- 17:24SPEAKER_00: Aaron Powell Let's ground those terms for a second, just we're all on the same page.
- 17:27SPEAKER_00: The service provider is the entity that holds the applications, the resources, the things people actually want to access.
- 17:32SPEAKER_00: And the identity provider is the entity that holds the digital ID cards, the user accounts.
- 17:37SPEAKER_01: Precisely.
- 17:38SPEAKER_01: So org to org creates this trusted cryptographic conduit.
- 17:42SPEAKER_01: A user residing in the acquired Okta tenant can log into their normal dashboard, click on an application that physically lives in the parent tenant, and that request is seamlessly passed over the tunnel.
- 17:52SPEAKER_01: Oh wow.
- 17:53SPEAKER_01: Yeah.
- 17:53SPEAKER_01: And the parent tenant verifies the cryptographic signature of the assertion coming from the acquired tenant, trusts it, and grants access.
- 18:00SPEAKER_01: It provides seamless cross-tenant access without disrupting the acquired company's existing daily operations.
- 18:06SPEAKER_00: And what does the ping equivalent look like?
- 18:08SPEAKER_00: I mean, if an organization is running Ping Federate or maybe a mix of Ping and Forge Rock, how do they handle this multi-tenant trust?
- 18:15SPEAKER_01: So Ping Federate is really legendary in the industry for its multi-organization trust capabilities.
- 18:20SPEAKER_01: While Okta's org to org is incredibly streamlined and efficient for octa-to-octa relationships, Ping Federate acts as this highly customizable protocol agnostic federation hub.
- 18:31SPEAKER_00: It's agnostic.
- 18:32SPEAKER_01: Very much so.
- 18:33SPEAKER_01: It operates under the assumption that enterprise environments are just inherently chaotic.
- 18:38SPEAKER_01: It doesn't care if the acquired company is using an old version of ForgeRock, a bespoke SamLO 2.0 implementation, or highly customized Oath configurations.
- 18:48SPEAKER_01: Ping Federate can establish trust across all of them simultaneously.
- 18:52SPEAKER_00: It's like the ultimate universal adapter for identity.
- 18:55SPEAKER_01: It really is.
- 18:56SPEAKER_01: The core strength of Ping Federate in this scenario is its advanced token translation service.
- 19:01SPEAKER_00: Token translation.
- 19:02SPEAKER_01: Yeah.
- 19:02SPEAKER_01: It can receive an inbound authentication token in one format, say an aging SAMLO 1.1 assertion, crack it open, validate the signature, extract the user attributes, and instantly mint a brand new token in a completely different format, like a modern OpenID Connect GWT, which is required by the parent company's applications.
- 19:22SPEAKER_00: So it translates on the fly.
- 19:23SPEAKER_01: Exactly.
- 19:24SPEAKER_01: It thrives in those messy, complex hybrid environments where the acquired company's infrastructure isn't neatly standardized.
- 19:30SPEAKER_00: Okay, so we've established the trust tunnel.
- 19:33SPEAKER_00: The parent company, the service provider, believes the acquired company, the identity provider, when it says this user is who they claim to be.
- 19:41SPEAKER_00: But identity isn't just about authentication, right?
- 19:44SPEAKER_00: It's about authorization.
- 19:45SPEAKER_00: Huge distinction.
- 19:46SPEAKER_00: Yeah.
- 19:47SPEAKER_00: How is access actually granted across this bridge?
- 19:51SPEAKER_00: How do we automate the provisioning of accounts in the parent tenant so the user actually has a profile to attach permissions to?
- 19:58SPEAKER_00: Because we need an automation layer to handle the life cycle.
- 20:01SPEAKER_01: Right, which brings us to orchestration and dynamic provisioning.
- 20:05SPEAKER_01: In the Okta ecosystem, this is frequently handled by Okta workflows.
- 20:09SPEAKER_01: Workflows is this trigger-based visual automation layer that operates entirely via APIs, so you can orchestrate complex logic without writing custom code.
- 20:18SPEAKER_00: Okay, walk me through a workflow.
- 20:19SPEAKER_00: Like HR and the acquired company hires a new employee on day two of the merger.
- 20:23SPEAKER_00: What happens?
- 20:24SPEAKER_01: So the HR system creates the profile in the acquired company's Okta tenant.
- 20:28SPEAKER_01: That creation event automatically fires a webhook.
- 20:31SPEAKER_01: Now OktaWorkflows, sitting in the parent tenant, is constantly listening for that specific webhook.
- 20:37SPEAKER_01: It catches the JSON data payload containing the new user's attributes.
- 20:41SPEAKER_01: Workflows then automatically triggers an API call across the org to org bridge, securely instructing the parent octa tenant to provision a federated shadow account for that user, assigning them the base level access roles required for day one operations.
- 20:55SPEAKER_00: Wow.
- 20:56SPEAKER_00: Totally automated.
- 20:57SPEAKER_01: And if we look at Ping's approach to orchestration, in ping environments, particularly when you're leveraging PingOwn DaVinci or their advanced API-driven policy engines, you utilize dynamic evaluation.
- 21:10SPEAKER_01: Right.
- 21:10SPEAKER_01: So rather than relying solely on a pre-provisioned shadow account like Okta Workflows might, Ping's policy engine dynamically evaluates the context of the inbound assertion in real time.
- 21:19SPEAKER_00: Oh, as they log in.
- 21:21SPEAKER_01: Yes.
- 21:21SPEAKER_01: Based on the attributes passed over in the SAML token, like the user's department, the risk score or their job title, ping, can execute immediate API calls to provision the user into necessary parent databases or assign them to correct access roles on the fly just in time.
- 21:36SPEAKER_00: I often think of this cloud-to-cloud federation like setting up an international embassy.
- 21:40SPEAKER_00: The org to org tunnel, or the ping federate hub, acts as the embassy's strict border control checkpoint.
- 21:47SPEAKER_00: I like this.
- 21:48SPEAKER_00: Right.
- 21:48SPEAKER_00: A user walks up and presents their passport, which in our world is the SAML assertion or the OIDC token issued by their home country, which is the acquired tenant.
- 21:58SPEAKER_00: The embassy Cryptographically verifies that passport.
- 22:02SPEAKER_00: It checks the watermarks, ensures it hasn't been tampered with.
- 22:06SPEAKER_00: But once verified, the embassy doesn't automatically make them a citizen of the new country.
- 22:10SPEAKER_01: No, exactly.
- 22:11SPEAKER_01: Taking that embassy idea further, the embassy issues them a temporary, highly restricted visa the session token.
- 22:18SPEAKER_01: And that visa dictates exactly which specific buildings the applications they are allowed to enter in the parent tenant.
- 22:24SPEAKER_01: Their core citizenship, their absolute source of truth, remains anchored back in their original home tenant.
- 22:30SPEAKER_00: But just like our previous Active Directory scenario, we have a massive edge case lurking in this cloud federation model, too.
- 22:36SPEAKER_00: What happens when both cloud tenants have overlapping group definitions?
- 22:40SPEAKER_00: Let's say both the parent tenant and the acquired tenant have a security group literally named administrators or financial controllers.
- 22:49SPEAKER_00: If the acquired user logs in and their digital passport, their SAMUL assertion, proudly states group.
- 22:55SPEAKER_00: Administrators, what mechanically stops the parent tenant from reading that assertion, matching the string, and accidentally giving an uh acquired junior IT tech the keys to the parent company's kingdom?
- 23:08SPEAKER_01: This is a catastrophic privilege escalation vulnerability if the architect does not properly configure the federation boundary.
- 23:16SPEAKER_01: Exactly.
- 23:17SPEAKER_01: If the system simply passes the administrator's group claim over the tunnel as is, the parent tenant's policy engine will read it, see a perfect string match to its own local administrators group, and instantly grant massive, completely inappropriate access.
- 23:30SPEAKER_00: Aaron Powell Terrifying.
- 23:31SPEAKER_00: So how do we solve it?
- 23:32SPEAKER_01: Aaron Powell To solve this, the mechanics rely entirely on strict token brokering and claim manipulation.
- 23:37SPEAKER_00: But how do we manipulate the claim safely without breaking the cryptographic signature of the token?
- 23:42SPEAKER_00: Because if we alter the token in transit, the signature becomes invalid, right?
- 23:46SPEAKER_01: Aaron Powell Exactly.
- 23:47SPEAKER_01: Which is why the manipulation has to happen at the exact point of generation or the exact point of consumption before the final access token is minted.
- 23:56SPEAKER_01: We use explicit namespace mapping rules.
- 23:59SPEAKER_01: Let's look at PingFederate's token translation capabilities first.
- 24:03SPEAKER_01: When PingFederate receives that inbound SAML assertion from the acquired tenant, it doesn't just blindly pass the data through to the application.
- 24:11SPEAKER_01: It intercepts the XML payload.
- 24:14SPEAKER_01: Administrators write an open token adapter rule, or they use OGNL object graph navigation language.
- 24:19SPEAKER_00: Wait, ground that for me.
- 24:20SPEAKER_00: What is OGNL doing in this specific context?
- 24:23SPEAKER_01: Aaron Powell So OGNL is an expression language that allows Pinfederate to traverse and manipulate the XML tree of the SAML assertion itself.
- 24:30SPEAKER_00: Aaron Powell So it's reading the XML code.
- 24:32SPEAKER_01: Yes.
- 24:32SPEAKER_01: The architect writes an OGNL expression that specifically targets the SAML2 attribute name group element within the assertion payload.
- 24:40SPEAKER_01: The rule dictates that any group string coming from this specific acquired IDP connection must be prepended with a namespace identifier.
- 24:49SPEAKER_00: Oh, so it isolates the specific line of data that says the user is an administrator and it actively rewrites the string in memory.
- 24:56SPEAKER_00: Yes.
- 24:57SPEAKER_00: It changes administrators to become acquired org administrators.
- 25:00SPEAKER_00: Yes.
- 25:00SPEAKER_00: And only after that manipulation is complete does PingFederate mint the final access token for the parent application?
- 25:06SPEAKER_01: Yes, precisely.
- 25:07SPEAKER_01: And Okta handles this with a structurally similar approach using Okta expression language.
- 25:12SPEAKER_01: In OktaOrg2 org, you configure group claim mapping rules directly on the identity provider configuration page.
- 25:19SPEAKER_00: Using the expression language.
- 25:20SPEAKER_01: Right.
- 25:20SPEAKER_01: You use the expression language to state that when the system reads the group's array from the inbound OIDC JSON web token, every single string in that array must have a predefined prefix applied before the parent directory processes it.
- 25:32SPEAKER_00: This means the parent tenant's applications and the parent tenant's authorization engines only ever see the isolated, sandboxed group name, acquired or administrators.
- 25:42SPEAKER_01: Exactly.
- 25:43SPEAKER_00: They never see the naked string administrators coming from the acquired company.
- 25:47SPEAKER_01: Right.
- 25:48SPEAKER_01: It enforces strict, isolated, role-based access control.
- 25:52SPEAKER_01: The parent company administrators can then look at that sandboxed group, acquired org administrators, and deliberately safely assign it the appropriate limited permissions within the parent environment, ensuring that namespace collisions do not compromise the security posture.
- 26:07SPEAKER_00: Okay, the theories in the feature names are great.
- 26:09SPEAKER_00: It's really fascinating to discuss org to org tunnels and ping federate OG and L expressions.
- 26:15SPEAKER_00: But to truly understand the depth of this architecture, we need to see how this mechanically plays out in reality.
- 26:20SPEAKER_01: Yes, absolutely.
- 26:21SPEAKER_00: Let's set up a concrete end-to-end scenario applying everything we've just unpacked.
- 26:26SPEAKER_00: We're going to walk through this step by step, tracing the actual data flow.
- 26:30SPEAKER_01: Applying these concepts to a real-world transaction really exposes the true mechanical elegance of these identity platforms.
- 26:36SPEAKER_01: It's where the abstract theory becomes operational reality.
- 26:40SPEAKER_00: So here is the scenario.
- 26:41SPEAKER_00: Company A, or parent company, uses Okta or Ping as their main cloud identity platform.
- 26:48SPEAKER_00: Crucially, they heavily rely on an application access gateway like Okta Access Gateway or Ping Access to secure a critical legacy on-premises application that is deeply embedded in their daily operations.
- 27:00SPEAKER_01: Okay.
- 27:01SPEAKER_00: Let's say it's an aging bespoke ERP system sitting in a mainframe.
- 27:05SPEAKER_00: Company A has just acquired Company B.
- 27:07SPEAKER_00: Company B has its own separate Okta or Ping Cloud tenant, which is backed by its own localized on-prem AD.
- 27:13SPEAKER_01: Wow.
- 27:14SPEAKER_01: A very common but highly complex hybrid state.
- 27:17SPEAKER_01: You have modern cloud federation layered on top of legacy on-prem infrastructure on both sides.
- 27:21SPEAKER_00: Yep.
- 27:22SPEAKER_00: Our singular goal: a user from Company B must authenticate securely in their own familiar environment and seamlessly reach Company A's legacy on-prem ERP application through Company A's existing access gateway.
- 27:33SPEAKER_00: And as a strict constraint check for this walkthrough, we are entirely ignoring things like calendar sharing, free busy scheduling, or global address list syncing.
- 27:43SPEAKER_00: Those are messaging platform capabilities, not identity layer mechanics, and they just aren't relevant to establishing the security perimeter.
- 27:50SPEAKER_00: We are focusing purely on the authentication flow and the gateway access layer.
- 27:54SPEAKER_01: Sounds good.
- 27:55SPEAKER_01: Let's break this massive operation down into three concrete mechanical steps.
- 28:00SPEAKER_00: Okay.
- 28:00SPEAKER_01: Step one is the cross org trust configuration.
- 28:03SPEAKER_01: This is where we establish the cryptographic handshake between the two distinct environments.
- 28:08SPEAKER_00: Let's go deep on this.
- 28:09SPEAKER_00: How is this trust actually configured between the two platforms at the administrative level?
- 28:14SPEAKER_01: So Company A, acting as the parent, initiates the setup.
- 28:17SPEAKER_01: In Okta, an administrator logs in, navigates to the identity provider's console, and adds a new org to org provider.
- 28:24SPEAKER_01: If they are in PingFederate, they navigate to the administrative console and configure a new IDP connection.
- 28:29SPEAKER_01: In both cases, Company A is defining itself as the service provider, the SP hub that will consume external identities.
- 28:35SPEAKER_00: Aaron Powell But the platforms don't just magically trust each other, right?
- 28:39SPEAKER_00: They have to exchange metadata.
- 28:40SPEAKER_00: What exactly is in that metadata?
- 28:42SPEAKER_01: Aaron Powell The metadata is typically an XML document that contains the critical cryptographic material and routing instructions.
- 28:49SPEAKER_01: And the most important element in there is the public X.509 certificate.
- 28:54SPEAKER_00: Aaron Powell Which is essentially the digital ID card for the server itself.
- 28:58SPEAKER_01: Right.
- 28:58SPEAKER_01: It contains the public key used for verifying the digital signatures on the SAML assertions.
- 29:04SPEAKER_01: Got it.
- 29:04SPEAKER_01: The metadata also contains the specific endpoint URLs, so it tells the parent platform exactly where to send the user for authentication, and it tells the acquired platform exactly where to send the user back once they are verified.
- 29:16SPEAKER_00: So it maps the routes.
- 29:17SPEAKER_01: Exactly.
- 29:18SPEAKER_01: Company B generates this metadata from their tenant and securely provides it to Company A.
- 29:24SPEAKER_01: Company A uploads this into their configuration, and then they do the reverse, sending Company A's SP metadata to Company B.
- 29:32SPEAKER_00: So both platforms now hold each other's public keys.
- 29:34SPEAKER_00: They know how to verify each other's digital signatures, and they know the exact URLs for routing traffic.
- 29:40SPEAKER_00: How does this actually play out when the user tries to click the application link on Monday morning?
- 29:46SPEAKER_01: So let's trace the browser redirects.
- 29:48SPEAKER_01: The Company B user opens their laptop, connects to the internet, and clicks a bookmark for Company A's legacy on-prem ERP app.
- 29:56SPEAKER_01: The DNS resolves to Company A's application access gateway, sitting at the edge of Company A's network.
- 30:02SPEAKER_01: The gateway receives the incoming HTTP request, inspects it, and sees no valid session cookie.
- 30:07SPEAKER_00: Because they haven't logged in yet.
- 30:09SPEAKER_01: Right.
- 30:09SPEAKER_01: The gateway does not know who this user is.
- 30:11SPEAKER_00: So it halts the request immediately.
- 30:13SPEAKER_01: Yes.
- 30:13SPEAKER_01: The gateway acts as a strict reverse proxy.
- 30:16SPEAKER_01: It halts the request to the ERP system and issues an HTTP 302 redirect.
- 30:21SPEAKER_01: This tells the user's browser, bounce over to Company A's identity platform Okta or Ping to get authenticated.
- 30:27SPEAKER_01: The browser follows the redirect, and Company A's platform presents a standard login screen.
- 30:32SPEAKER_01: The user types in their email address, user at company B.com.
- 30:36SPEAKER_00: And this is the critical juncture.
- 30:38SPEAKER_00: This is where home realm discovery kicks in.
- 30:40SPEAKER_01: Precisely.
- 30:41SPEAKER_01: The identity platform evaluates the domain suffix of the email address at CompanyB.com.
- 30:46SPEAKER_01: It checks its internal routing rules and sees that this specific domain is mapped to the new IDP connection we just established in the cross org trust setup.
- 30:55SPEAKER_01: Because of this mapping, it realizes this user does not exist locally.
- 30:59SPEAKER_01: It does not prompt the user for a password.
- 31:02SPEAKER_01: Instead, it generates a SAML auth request, signs it with Company A's private key to prove it's legitimate, and issues another HTTP 302 redirect, bouncing the user's browser over to Company B's cloud tenant.
- 31:15SPEAKER_00: That sounds like a lot of network ops, doesn't that it take forever?
- 31:17SPEAKER_01: To the user, it is nearly instantaneous.
- 31:19SPEAKER_01: These are millisecond HTTP redirects happening transparently in the browser.
- 31:24SPEAKER_01: Now the user's browser arrives at Company B's cloud tenant carrying the auth request.
- 31:28SPEAKER_01: Company B's tenant receives it, validates Company A's signature using the public key from the metadata we exchanged earlier, and realizes it needs to authenticate this user.
- 31:37SPEAKER_00: And as we discussed in our first scenario, because Company B is backed by an on-prem AD, Company B's cloud tenant encrypts the credential request and routes it securely down the high-speed rail to Company B's local active directory.
- 31:50SPEAKER_01: Yep.
- 31:51SPEAKER_00: The AD validates the credentials and sends the success signal back up to Company B's cloud.
- 31:56SPEAKER_01: Now Company B has to package this success up and send it back across the bridge to Company A.
- 32:01SPEAKER_01: Company B's tenant mints a SAMLIS assertion, the passport.
- 32:05SPEAKER_01: It includes the user's verified identity, their email, and their group memberships.
- 32:10SPEAKER_01: It signs this assertion with its own private key.
- 32:12SPEAKER_01: Base64 encodes the XML data and sends it via an HTTP POST binding back to Company A.
- 32:19SPEAKER_00: Let's define POST binding really quickly.
- 32:21SPEAKER_00: That essentially means it instructs the user's browser to act as the courier physically shoving the data payload back to Company A's endpoint.
- 32:27SPEAKER_01: Correct.
- 32:28SPEAKER_01: The browser POSTs the data to Company A's Assertion Consumer Service URL or ACS URL.
- 32:33SPEAKER_01: Company A receives the payload, verifies Company B's digital signature, applies the namespace mapping rules we discussed to ensure no group collisions occur, and finally drops a valid session cookie in the user's browser.
- 32:44SPEAKER_01: Step one is complete.
- 32:46SPEAKER_01: The trust protocol has been executed flawlessly, and the acquired user is authenticated in the parent company's realm.
- 32:53SPEAKER_00: It is an incredibly elegant, complex chain of cryptographic verification.
- 32:59SPEAKER_00: But that brings us to step two, granting application access.
- 33:04SPEAKER_00: Because being authenticated in the cloud platform doesn't mean you automatically get access to a legacy mainframe app sitting behind a firewall.
- 33:11SPEAKER_01: Definitely not.
- 33:12SPEAKER_00: Once the user is authenticated and sitting in Company A's identity platform, how does the application gateway actually know who this person is?
- 33:20SPEAKER_00: And more importantly, how does it translate that modern cloud identity into something the legacy on-trem app understands?
- 33:26SPEAKER_01: This is where the magic of the Access Gateway, Octa Access Gateway, or Ping Access really comes into play.
- 33:32SPEAKER_01: The gateway is deeply natively integrated with Company A's directory.
- 33:36SPEAKER_01: When Company A's administrators set up the federation, they didn't just map the namespaces, they assigned the incoming federated Company B identities to a specific newly created application group within Company A's directory.
- 33:47SPEAKER_00: Okay.
- 33:48SPEAKER_01: Let's call this group App Group Legacy ERPB.
- 33:50SPEAKER_00: So the federated user is virtually placed into this specific authorization bucket, isolating their access.
- 33:56SPEAKER_01: Exactly.
- 33:57SPEAKER_01: Now remember, the user's browser currently holds a valid session cookie for Company A's identity platform.
- 34:02SPEAKER_01: The identity platform redirects the browser back to the gateway.
- 34:06SPEAKER_01: The gateway inspects the cookie, talks securely to the identity platform via a back-end API, and asks, I see this cookie.
- 34:13SPEAKER_01: Who is this user and what groups are they in?
- 34:15SPEAKER_00: Aaron Powell And the platform replies, this is Federated User B, and they are an authenticated member of App Group Legacy RPB.
- 34:23SPEAKER_01: Now the gateway checks its own local policy engine.
- 34:26SPEAKER_01: The policy explicitly governing the legacy on-prem ERP app states that members of App Group Legacy RPB are authorized to access the application.
- 34:34SPEAKER_01: Nice.
- 34:34SPEAKER_01: The authorization hurdle is cleared, but it doesn't stop at authorization.
- 34:38SPEAKER_01: Legacy on-prem applications rarely understand modern protocols like SAML or OIDC.
- 34:43SPEAKER_01: They don't know how to parse a JSON web token.
- 34:46SPEAKER_01: They usually rely on old school, trusted HTTP header variables for identity context.
- 34:52SPEAKER_00: Right, like remote user or a custom header identifying the username that the application's internal code reads to load the user's profile.
- 34:59SPEAKER_01: Precisely.
- 35:00SPEAKER_01: Because the gateway sits directly in front of the application server, acting as a trusted intermediary, it strips away all the modern SAML and OIDC complexity.
- 35:08SPEAKER_01: It dynamically constructs a brand new HTTP request destined for the legacy application server, and it seamlessly injects the correct HTTP headers required by that specific app.
- 35:19SPEAKER_01: For example, it might inject HTTP Authus user at companyB.com directly into the header stream.
- 35:25SPEAKER_00: So to the legacy ERP application running deep in the data center, it has absolutely no idea that a complex multi-tenant cloud federation involving namespace mapping, home realm discovery, and multiple digital signatures just occurred.
- 35:38SPEAKER_01: No idea at all.
- 35:39SPEAKER_00: It just sees a standard incoming HTTP request with a trusted header, essentially treating the external company B user exactly like a native company A user.
- 35:48SPEAKER_01: It creates total architectural abstraction.
- 35:50SPEAKER_01: The legacy application operates exactly as it always has, requiring zero code changes, but it is now protected by modern adaptive cross-organizational cloud security.
- 35:59SPEAKER_00: That is the definition of building a bridge without stopping traffic.
- 36:03SPEAKER_00: That brings us to step three.
- 36:05SPEAKER_00: Verification.
- 36:06SPEAKER_00: Theory is great, architecture diagrams are clean, but as an architect in the war room, what does a successful post-implementation test actually look like on the screen?
- 36:16SPEAKER_00: And more importantly, when it inevitably breaks during the first dry run, what exactly are we checking?
- 36:22SPEAKER_01: A successful test looks incredibly boring.
- 36:25SPEAKER_00: Which is what you want.
- 36:26SPEAKER_01: Which is the ultimate goal of enterprise identity architecture.
- 36:30SPEAKER_01: It should be a completely frictionless single sign-on experience.
- 36:33SPEAKER_01: The company B user logs into their own familiar everyday dashboard.
- 36:38SPEAKER_01: They click a newly provisioned app tile labeled Company A Legacy ERP.
- 36:42SPEAKER_01: Okay.
- 36:43SPEAKER_01: The browser spins for a fraction of a second as it silently navigates the invisible redirect chain from the dashboard to the gateway, up to the parent IDP, across the acquired IDP, back to the gateway, and then the legacy application interface loads natively.
- 36:55SPEAKER_01: There are no secondary login prompts, no password requests, no errors.
- 36:58SPEAKER_00: But when that frictionless experience hits a wall, say, the user clicks a tile and gets a Stark 403 forbidden error, or they get caught in an infinite redirect loop bouncing between the two platforms, whereas the first place we start troubleshooting.
- 37:11SPEAKER_01: Troubleshooting this complex flow requires inspecting the exact boundaries between the components.
- 37:16SPEAKER_01: The very first tool any identity architect deploys is a SAML tracer.
- 37:20SPEAKER_01: Essential.
- 37:21SPEAKER_01: Yeah.
- 37:21SPEAKER_01: This is a developer tool, usually a browser extension, that captures, decrypts, and decodes the base 64 encoded XML payloads flying back and forth during those HTTP 302 redirects and POSD bindings.
- 37:34SPEAKER_00: When you open that SAML tracer and look at the raw XML, what specific elements are we looking for to diagnose a failure?
- 37:41SPEAKER_01: We are looking for dropped claims.
- 37:43SPEAKER_01: We need to verify that Company B's identity provider actually included the correct user attributes and group memberships in the assertion payload before it applied its digital signature.
- 37:52SPEAKER_01: Right.
- 37:52SPEAKER_01: If the SAML2 name ID format is incorrect, say it's sending a transient identifier instead of an email address, or if the SAML2 attribute statement block containing the group's array is missing entirely from the XML.
- 38:04SPEAKER_00: The system breaks.
- 38:05SPEAKER_01: Company A's platform will flatly reject the assertion, or it will accept it but fail to authorize the user because the group data is simply missing.
- 38:14SPEAKER_00: Let's say the SAML or tracer shows the assertion is perfectly formed, the attributes are there, the signature is valid.
- 38:20SPEAKER_00: Where do we look next?
- 38:21SPEAKER_01: Then we move out of the identity platform and look at the Access Gateway's audit logs.
- 38:26SPEAKER_01: We need to see if the gateway successfully recognized the user's session but failed to generate the correct legacy headers.
- 38:33SPEAKER_01: We check the gateway's specific routing rules to ensure the HTTP headers aren't missing or misspelled.
- 38:38SPEAKER_00: Oh, like a typo.
- 38:40SPEAKER_01: Exactly.
- 38:40SPEAKER_01: If the legacy ERP app requires a header explicitly named HTTPoth and the gateway is misconfigured to inject HTTP user, the legacy app will blindly reject the request, resulting in a failure even though the Federation Trust is perfect.
- 38:55SPEAKER_00: And what about the edge cases we discussed earlier?
- 38:57SPEAKER_00: The namespace collisions and transformation rules.
- 38:59SPEAKER_00: If those break, what does the error look like?
- 39:02SPEAKER_01: That is the third critical diagnostic check.
- 39:04SPEAKER_01: We verify that the namespace mapping rules aren't misconfigured.
- 39:08SPEAKER_01: If the OGL expression or the Okta expression language rule, meant to transform administrators to acquired org administrators contains a rejects error or a syntax typo, one of two things happens.
- 39:20SPEAKER_01: Okay.
- 39:20SPEAKER_01: Either the central identity platform rejects the incoming token entirely due to a schema validation failure, or the gateway rejects the user's access token because the user isn't matching the expected app group legacy ERPB string.
- 39:34SPEAKER_01: You have to trace the data payloads step by step.
- 39:37SPEAKER_01: What exactly left the IDP, what arrived at the SP, how is it mapped into the directory, and finally what was injected into the gateway header?
- 39:45SPEAKER_00: In this deep dive, we examine the mechanics of integrating acquired identities through lightweight directory agents for on-premises environments and federation trust for cloud tenants.
- 39:53SPEAKER_00: We map the step-by-step token exchange and access gateway configuration required to achieve day one cross-organizational access.
- 40:02SPEAKER_00: That's a wrap on day one of the MA.
- 40:05SPEAKER_00: Okta and Ping solve day one access differently.
- 40:08SPEAKER_00: We closed on the full token trace.
- 40:10SPEAKER_00: Home Realm Discovery, the SAML assertion crossing the tunnel, and the access gateway stripping it all down to a single trusted header the Legacy app actually understands.
- 40:21SPEAKER_00: Next episode, we go hunting again.
- 40:24SPEAKER_00: Okta and Ping, Bloodhounds sniffing out hidden risk.
- 40:28SPEAKER_00: Connect with Ernie on LinkedIn.
- 40:30SPEAKER_00: The links in the episode description.
- 40:32SPEAKER_00: Subscribe if this is useful.
- 40:33SPEAKER_00: Until next time.