Central Authentication & Authorizationin Multi Cloud
- Anand Nerurkar
- Oct 20
- 12 min read
Updated: Oct 25
Excellent — this is one of the most common and deep-dive questions Enterprise Architects get in interviews 👇
❓“In a multi-cloud hybrid environment, how do you manage authentication and authorization consistently across Azure, AWS, and on-prem?”
Let’s break it down step-by-step, like a real-world Enterprise Architect explaining it to a CTO panel.
🧩 Step 1: Understand the Core Challenge
In multi-cloud setups, you have:
Workloads across Azure (AKS, APIM), AWS (EKS, API Gateway), and On-Prem (VMware, Finacle, Oracle)
Users, partners, and apps that need to authenticate once and access services across these clouds
Different cloud-native IAM systems (Azure AD, AWS IAM, GCP IAM), each with its own identity model
So the challenge:👉 How to create a single, consistent identity and access model across all clouds + on-premwithout duplicating identity or having fragmented access control.
🧱 Step 2: Adopt a Centralized Identity Provider (IdP)
In production, banks and large enterprises NEVER depend on cloud-native IAM alone.
They use a central enterprise-grade Identity Provider that acts as the single source of truth for identity and access.
Identity Provider | Typical Enterprise Usage |
Azure AD / Entra ID | Most common in BFSI |
Ping Identity / PingFederate | Often used in banks for hybrid setups |
Okta / ForgeRock / IBM Security Verify | Large global organizations |
On-Prem AD + Federation | Legacy coexistence |
So, all clouds (Azure, AWS, GCP) trust this single IdP via federation.
🛠️ Step 3: Authentication (AuthN) Flow
Let’s see how a real authentication flow happens step by step in production:
🔹 Scenario:
Customer logs into api.deuebank.com/lending/applyLending is hosted on Azure, CRM on AWS, and core systems on on-prem.
🔸 Step-by-step Authentication:
User Access Request
User tries to access Lending Portal (Azure Front Door URL).
Redirection to Central IdP
App redirects to Azure AD (or PingFederate) for authentication.
This IdP is federated with AWS IAM and On-Prem AD.
Credential Validation
User enters credentials (could be username/password, certificate, or SSO).
IdP validates it against enterprise directory (Active Directory / LDAP).
Token Issuance
On successful authentication, IdP issues:
OIDC ID Token (for user identity)
OAuth2 Access Token (for API access)
JWT format, signed with the IdP’s private key.
Token Validation by APIs
API Gateways (Azure APIM, AWS API Gateway, On-Prem Kong) validate the same JWT using the IdP’s public key (JWKS endpoint).
No matter which cloud the API is in, it uses the same token validation logic.
✅ Result: Single Sign-On (SSO) across Azure, AWS, and On-Prem.
🧰 Step 4: Authorization (AuthZ) Flow
Once authenticated, authorization defines what you can do.
Authorization happens at 3 layers:
Layer | Responsibility | Tools / Mechanism |
1. Gateway-level | Enforce API scopes, rate limits | Azure APIM policies / Apigee / Kong |
2. Service-level | Fine-grained access (e.g., view loan, approve loan) | Role-based / Attribute-based access control (RBAC/ABAC) |
3. Data-level | Row-level / column masking | Database-level RBAC or policies |
🔸 Step-by-Step Authorization Example:
Continuing our Digital Lending use case 👇
API Gateway (Azure APIM) validates the OAuth2 token.
Token claims:
{ "sub": "anand.nirurkar", "roles": ["LoanOfficer", "Underwriter"], "scope": "loan.read loan.approve" }
Gateway Enforces Scopes
Only requests with scope loan.approve can call the /approve endpoint.
Backend Microservice
Uses the same JWT claims (via Spring Security or OAuth2 Resource Server)
Authorizes based on roles/attributes in the token.
Cross-cloud Authorization
AWS microservices (CRM) and On-Prem services (CBS Adapter) use the same token introspection endpoint from the central IdP.
Therefore, no re-login is needed.
✅ Result: Unified role-based access across all clouds and systems.
🔐 Step 5: Token Federation & Trust Setup
Cloud | Trust Mechanism | Description |
Azure Cloud | Azure AD Enterprise App Federation | Trusts central IdP via SAML / OIDC |
AWS Cloud | AWS Cognito Federation / IAM OIDC Provider | Trusts same IdP for token validation |
On-Prem | PingFederate / ADFS / Keycloak | Trusts same IdP via SAML |
💡 So, the same JWT or SAML assertion is valid across all environments.
🧩 Step 6: Real Production Security Controls
Concern | Control | Implementation |
MFA (Multi-Factor Auth) | Required for admin & sensitive roles | Azure AD / Ping MFA |
Token Lifetime | Short-lived (15–30 min) | Rotated via refresh tokens |
Zero Trust Access | Validate every request | No implicit trust between networks |
Service-to-Service Auth | mTLS + Service Identity (SPIFFE / SPIRE) | Inside mesh (Istio, Dapr) |
Secrets Management | Centralized vault | HashiCorp Vault / Azure Key Vault |
Audit & Logging | SIEM Integration | Splunk / Azure Sentinel |
🧠 Step 7: How Enterprises Operate This in Practice
Azure AD (or PingFederate) acts as central identity hub.
All APIs in Azure, AWS, and on-prem are registered with the same IdP.
Global API Gateway (Apigee / Kong) uses OAuth2 + OpenID Connect tokens.
Service meshes (Istio / Dapr) inside clusters perform mTLS for internal authentication.
Auditing, access logs, and token traces are centralized in Splunk or Sentinel.
✅ Summary
“In our multi-cloud architecture, we use a central identity provider — Azure AD integrated with PingFederate — as the single source of truth for authentication and authorization.All workloads across Azure, AWS, and on-prem trust this IdP using OIDC and SAML federation.This ensures that a user or service authenticated once can securely access resources across any environment using a JWT-based OAuth2 token.Authorization is enforced at multiple layers — API Gateway, microservices, and data — using scopes, roles, and attributes embedded in the token. Service-to-service authentication uses mTLS and SPIFFE-based identities within service meshes like Istio. This gives us centralized identity management, consistent access control, and full auditability across multi-cloud and hybrid systems — meeting RBI and GDPR compliance.”
Let’s walk through this step-by-step, using your exact scenario:
🏢 Scenario Setup
Organization: Deutsche Bank
User Directory: Centralized Azure AD for all employees (corporate users)
Cloud Footprint:
Azure Region A – hosts digital lending & risk services
AWS Region B – hosts analytics & data lake workloads
On-prem Region C – hosts CBS and regulatory workloads
Each environment originally uses its own identity and access mechanism:
Azure → Azure AD (native)
AWS → IAM / Cognito
On-prem → LDAP or Active Directory Federation Services (ADFS)
The goal is to have one common identity across all platforms (SSO & centralized authorization).
🧭 Step-by-Step Solution – “Centralized Authentication & Authorization”
Step 1: Define Central Identity Provider (IdP)
Deutsche Bank decides to use Azure AD as the central IdP, since:
All employees already exist there.
It integrates with SAML, OIDC, OAuth2.
Supports hybrid identity with on-prem AD via Azure AD Connect.
So, Azure AD becomes the identity hub.
Step 2: Federate Other Clouds to Azure AD
✅ AWS Integration
In AWS IAM, configure Azure AD as an external IdP using SAML 2.0.
Create an Enterprise Application in Azure AD for AWS.
Users sign into AWS via SSO → redirected to Azure AD for authentication.
Azure AD issues a SAML token → AWS maps the user to IAM roles.
🔹 Result: AWS trusts Azure AD for user authentication.
✅ On-prem Integration
On-premises systems use PingFederate or ADFS.
Azure AD is federated with ADFS/PingFederate using WS-Fed/SAML.
Azure AD acts as the master IdP; ADFS acts as a proxy for legacy apps.
🔹 Result: On-prem systems can use the same user identity from Azure AD.
Step 3: Enable Authorization Consistency
Authentication = “Who you are”Authorization = “What you can access”
Use Azure AD Groups / Roles → sync to AWS IAM Roles / On-prem RBAC.
Example:
Role: Loan_Approver (Azure AD Group)
Mapped in:
AWS → IAM role arn:aws:iam::123:role/LoanApprover
Azure → App role in APIM
On-prem → LDAP group mapping
This ensures consistent role-based access across all clouds.
Step 4: Implement Common Token Strategy
Use OpenID Connect (OIDC) / OAuth2 tokens issued by Azure AD.
These tokens are short-lived (1 hr) and carry claims (user roles, email, department).
APIs on AWS or On-prem validate these tokens using:
Azure AD public key (JWKS endpoint)
OIDC middleware (Spring Security, AWS Cognito, etc.)
🔹 Result: Any service in any cloud can trust tokens issued by Azure AD.
Step 5: Secure Communication
All token exchanges happen via TLS 1.2+.
Optionally, use PrivateLink / ExpressRoute / Direct Connect to ensure traffic between cloud and on-prem never leaves the bank’s private network.
Step 6: Governance & Monitoring
Use Azure AD Conditional Access Policies for:
MFA enforcement
Device compliance
Location restrictions
Centralized monitoring via:
Azure AD Sign-in logs
AWS CloudTrail + CloudWatch for federated logins
SIEM tools (Splunk / Sentinel)
🧩 Final Architecture Flow
User logs in → Azure AD authenticates.
Azure AD issues OIDC token (access + ID).
User calls API hosted on AWS or on-prem.
API validates token via Azure AD JWKS endpoint.
Access granted based on RBAC roles.
🧠
“In a hybrid multi-cloud setup (Azure + AWS + On-prem), how would you centralize authentication and authorization if Azure AD is the corporate directory?”
✅ Answer (Structured):
I would position Azure AD as the central identity provider (IdP). First, I’ll federate AWS IAM and on-prem ADFS/PingFederate with Azure AD using SAML or OIDC.This ensures a single sign-on (SSO) experience where users authenticate only once through Azure AD, and all clouds trust Azure AD tokens. For authorization, I’ll define Azure AD Groups and map them to roles across platforms — IAM roles in AWS, app roles in Azure, and LDAP groups on-prem. All APIs will use Azure AD-issued OIDC tokens for access validation. Finally, I’ll enforce conditional access and monitor logins centrally using Azure AD logs and SIEM integration. This achieves centralized governance, SSO, and consistent RBAC across the multi-cloud ecosystem.
Sailpoint as Identity Governance
====
Let’s continue from your Deutsche Bank multi-cloud setup (Azure + AWS + On-prem) and see how SailPoint fits into the picture.
We’ll go step-by-step and focus on why and how you’d leverage SailPoint for centralized Identity Governance and Administration (IGA).
🏢 Scenario Recap
Central Identity Provider (IdP): Azure AD
Clouds:
1️⃣ Azure (Digital Lending, Risk)
2️⃣ AWS (Data Lake, Analytics)
3️⃣ On-prem (Core Banking System)
Goal: Central authentication, authorization, and identity governance across all environments.
🎯 Why We Need SailPoint
Azure AD gives authentication + authorization, but not full governance.
Real-world enterprise pain points that SailPoint solves:
Joiner–Mover–Leaver (JML) process across 3 environments
Access certification (who has what, periodic reviews)
Policy-based access control (least privilege enforcement)
Segregation of Duties (SoD) checks (e.g., a user shouldn’t approve and disburse the same loan)
Audit & Compliance (RBI, SOX, GDPR)
Automated provisioning / de-provisioning across Azure, AWS, On-prem apps
Azure AD cannot do all of this — so SailPoint becomes the Identity Governance layer.
⚙️ Step-by-Step Architecture — “SailPoint + Azure AD + Multi-Cloud Federation”
Step 1: Define Identity Flow of Record
HR system (e.g., Workday / SAP SuccessFactors) → Source of truth for user lifecycle.
HR system sends new hire / transfer / exit events to SailPoint IdentityNow / IdentityIQ.
Step 2: SailPoint as Central Governance Engine
SailPoint performs:
Identity aggregation: Pulls user data from Azure AD, AWS IAM, On-prem LDAP.
Access modeling: Builds a unified identity profile.
Policy checks: Ensures SoD and compliance.
Provisioning decisions: Based on rules and requests.
Step 3: Integration with Azure AD (Authentication Layer)
SailPoint integrates with Azure AD using SCIM (System for Cross-domain Identity Management) or Graph API.
When SailPoint approves access → it provisions groups / roles into Azure AD.
Azure AD continues to handle authentication + SSO, but only for identities and access SailPoint has authorized.
🔹 Result: Azure AD is the door; SailPoint decides who gets a key and for how long.
Step 4: Integration with AWS (Cross-cloud Provisioning)
SailPoint connects to AWS IAM / AWS SSO.
When a user is assigned a role (e.g., “Data Scientist”), SailPoint:
Provisions corresponding IAM role.
Enforces least privilege based on policies.
Periodically reconciles actual vs approved access.
🔹 Result: Consistent RBAC across AWS + Azure + On-prem.
Step 5: Integration with On-Prem Systems
On-prem Core Banking apps still use LDAP or Active Directory.
SailPoint connects via connectors (LDAP, JDBC, or REST APIs).
It can provision, disable, or revoke accounts instantly when a user leaves.
Step 6: Continuous Compliance & Certification
Periodic access review campaigns:
Managers verify that access still makes sense.
Auto-remediation for stale access.
SailPoint generates audit reports for regulators:
“Who had access to CBS?”
“When was it approved?”
“Was SoD enforced?”
Step 7: Integrate with SIEM / SOAR
SailPoint integrates with Azure Sentinel / Splunk.
Detects identity anomalies (e.g., privilege escalation).
Triggers workflows or alerts automatically.
🧩 Final Architecture Summary
Layer | Platform | Responsibility |
Governance Layer | SailPoint IdentityNow / IdentityIQ | Policy, SoD, provisioning, certification |
Identity Provider | Azure AD | Authentication, SSO, token issuance |
Clouds | Azure, AWS, On-prem | Application runtime, authorization enforcement |
Source of Truth | HR System (Workday/SAP) | Employee lifecycle |
SIEM | Sentinel / Splunk | Audit, compliance, anomaly detection |
🔐 Flow Example — Joiner Use Case (Step by Step)
1️⃣ HR adds a new employee “Amit” in Workday.→ Event triggered to SailPoint.
2️⃣ SailPoint creates identity profile.→ Based on job role = “Loan Officer”
3️⃣ SailPoint auto-provisions:
Azure AD account with group Loan_Officer_Access
AWS IAM role loan-data-readonly
On-prem CBS LDAP account
4️⃣ Azure AD provides SSO access to apps.→ Amit logs in via Azure AD, token validated by APIs.
5️⃣ Audit ready.→ Every action logged; approvals & SoD checks stored in SailPoint.
🧠 Interview Q&A Example
❓Question:
“How would you integrate SailPoint into a multi-cloud hybrid environment (Azure, AWS, On-prem) where Azure AD is the IdP?”
✅ Answer (Stepwise):
I’d use SailPoint as the central Identity Governance and Administration (IGA) system while keeping Azure AD as the central Identity Provider. The HR system feeds SailPoint, which acts as the source of truth for who should have access to what. SailPoint provisions users and roles into Azure AD, AWS IAM, and on-prem LDAP using connectors. Azure AD continues to handle authentication and SSO, but SailPoint governs access, performs SoD checks, and handles certification and audit reporting. This ensures consistent governance across all environments, automated provisioning and de-provisioning, and compliance with regulatory requirements like RBI and SOX.
❓Follow-up Question:
“How does authorization get enforced if SailPoint is only a governance layer?”
✅ Answer:
SailPoint doesn’t enforce access in real time — it defines and provisions the roles and entitlements to each target system. The enforcement happens in the runtime systems like Azure AD, AWS IAM, or application RBAC. SailPoint ensures those roles exist correctly, are approved, and are revoked when no longer needed.
Let’s clarify this completely, step by step, using a real BFSI enterprise hybrid multi-cloud example — where we use Azure AD as the central identity authority, and yet we still interact with AWS IAM and on-prem LDAP.
We’ll go through:
1️⃣ Why we still need IAM in AWS / LDAP on-prem
2️⃣ How central authentication and local authorization actually work
3️⃣ End-to-end walkthrough for one user (“Amit – Relationship Manager”) across Azure, AWS, and On-prem
🧩 Step 1: Conceptual Clarification
✅ Authentication vs Authorization
Function | What It Does | Central or Local? | Example |
Authentication | Verifies who you are | ✅ Centralized via Azure AD | “Amit logged in with his corporate ID” |
Authorization | Decides what you can do | ⚙️ Local to each platform | “Amit can view loan data in AWS S3” |
👉 So:
Authentication is done once, centrally (Azure AD).
Authorization is enforced locally (AWS IAM, app RBAC, or on-prem LDAP groups).
You can’t skip AWS IAM or LDAP entirely — because those platforms still need to map Azure AD users to roles / permissions that control access to local resources.
🏦 Step 2: Architecture Overview (Central Authentication + Local Authorization)
Central Identity Provider (IdP):
Azure AD — all enterprise users (employees, partners, vendors) live here.
Target Environments:
Azure Cloud: Apps directly use Azure AD for authentication & authorization.
AWS Cloud: Apps trust Azure AD via federation (SAML or OIDC).
On-prem: Legacy systems use LDAP / AD, which is synced with Azure AD using AAD Connect.
Governance:
SailPoint (optional layer) governs provisioning, lifecycle, and access certification.
🚶♂️ Step 3: Real-world Walkthrough
Use case: “Amit” is a Relationship Manager at Deutsche Bank.He needs access to:
Azure Lending App (deployed on AKS)
AWS Data Analytics Dashboard
On-prem Core Banking Portal
Step 3.1 — Authentication: Azure AD is the single source
Amit logs in once with his Azure AD credentials.Azure AD issues a token (OIDC/JWT or SAML assertion) that downstream systems trust.
Step 3.2 — Authorization on Azure (Cloud-Native)
Lending App (Azure) uses Azure AD App registration.
Azure AD group Lending_RM_Role grants him app permissions.
Authorization check happens via Microsoft Entra tokens (JWT claims).
✅ Central Auth + Azure AD Authorization
Step 3.3 — Authorization on AWS (Federation with Azure AD)
Even though Amit authenticated via Azure AD, AWS still needs to know:
“Which IAM role should Amit assume inside AWS?”
Here’s how it works:
AWS is configured as a federated Service Provider (SP) with Azure AD via SAML 2.0 / OIDC.
Azure AD maps Amit’s group (Data_Analytics_Access) to a specific AWS IAM Role (e.g., arn:aws:iam::12345:role/DataAnalyst).
When Amit logs into AWS, he’s federated — Azure AD provides a SAML assertion.
AWS IAM trusts Azure AD as the IdP and issues a temporary credential.
Authorization happens inside AWS IAM policies (e.g., read-only access to S3 bucket).
✅ Central Auth (Azure AD) + Local AWS Authorization (IAM roles)
Step 3.4 — Authorization on On-prem (LDAP Integration)
For older systems like Core Banking Portal:
On-prem AD / LDAP is synchronized with Azure AD using Azure AD Connect.
When Amit logs in, Azure AD credentials are used.
Access groups (e.g., CBS_Teller_Access) exist in local AD, synced from Azure AD.
LDAP / AD still enforces authorization (file shares, app access).
✅ Central Auth (via AD Connect) + Local Authorization (LDAP groups)
⚙️ Step 4: Why You Still Need Local IAM/LDAP
Even though Azure AD is the identity authority, each environment has its own authorization enforcement engine:
Platform | Auth Source | Authorization Engine |
Azure | Azure AD | Azure RBAC, App roles |
AWS | Azure AD (federated) | AWS IAM Policies / Roles |
On-prem | Azure AD synced to local AD | LDAP/AD groups |
If you skip IAM or LDAP:
There’s nowhere to attach permissions to local resources.
Tokens from Azure AD won’t map to actions in that environment.
So you federate, not duplicate.
🔐 Step 5: Where the User Lives
Identity Type | Stored In | Example |
Primary user object | Azure AD | |
Shadow / federated mapping | AWS IAM federation trust | Role mapping in AWS |
Synced object | On-prem AD / LDAP | CN=anand.nerurkar, OU=Users, DC=db, DC=com |
📘 Quick Example Flow Summary
Step | Action | Handled By |
1 | Amit signs in using SSO | Azure AD |
2 | Azure AD issues token | Azure AD |
3 | Azure App validates token, applies app RBAC | Azure |
4 | AWS receives SAML assertion, maps to IAM role | AWS IAM |
5 | On-prem AD syncs groups via AAD Connect, validates access | AD / LDAP |
6 | SailPoint audits + certifies access | SailPoint |
🧠Summary
In a multi-cloud hybrid model, authentication is centralized in Azure AD, but authorization remains local to each platform. AWS federates with Azure AD using SAML or OIDC; users don’t exist natively in AWS IAM but are mapped to IAM roles dynamically. On-prem systems are synchronized with Azure AD using AD Connect, maintaining local authorization enforcement through LDAP/AD groups. This allows us to have one corporate identity source (Azure AD) while preserving platform-native authorization and compliance enforcement in AWS and on-prem environments.
.png)

Comments