STATUS: PORTFOLIO COMPLETE — v1.0 SELF-DIRECTED LAB · NOT A PRODUCTION DEPLOYMENT

Identity & Cloud Access Case Study

Microsoft Entra ID — SAML 2.0 — AWS IAM⸻ A federation of two realms ⸻

A federated single sign-on lab connecting Microsoft 365 identities to Amazon Web Services console access — one identity provider, one signed assertion, one trusted IAM role. Documented as a Zero Trust identity case study for regulated, multi-cloud environments.

Microsoft Entra ID AWS IAM SAML 2.0 Zero Trust Cross-Cloud Federation

The Scenario

Context

A growing fintech company runs its internal tools and user identities on Microsoft 365 and Entra ID, but its engineering and DevOps teams also need access to AWS for cloud infrastructure work.

The Problem

Managing separate AWS usernames and passwords for every engineer is a security risk. When someone leaves the company, IT has to remember to remove them from AWS separately — if they forget, that's an open door.

The Solution

Federate AWS access through Entra ID using SAML 2.0 SSO. Engineers authenticate with Microsoft credentials, and AWS trusts the signed SAML assertion from Entra ID — reducing separate AWS passwords, lowering orphaned-account risk, and centralizing sign-in evidence.

"This is Zero Trust in practice — identity is the perimeter."

Architecture Scope

Boundaries

This repository demonstrates the AWS Single-Account Access enterprise application pattern in Microsoft Entra ID with AWS IAM SAML role federation — not a full AWS IAM Identity Center multi-account rollout.

  1. Microsoft Entra ID enterprise application
  2. SAML-based sign-on configuration
  3. AWS IAM SAML identity provider
  4. AWS IAM role trust relationship
  5. Entra ID role claim mapping
  6. AWS console access through federated role assumption

Some AWS console screens reference IAM Identity Center guidance because AWS surfaces related identity options in the console — that guidance is shown as context, not as the implementation path documented here.

How the SSO Flow Works

The Pact Between Realms

One sign-in event crosses two cloud platforms. The left half happens entirely inside Entra ID; the right half happens entirely inside AWS IAM. The only thing that crosses the seam is a signed SAML assertion — the sealed letter passed between two houses.

Microsoft Entra ID · Identity Provider
  1. User opens AWS in their browser and is redirected to Entra ID login
  2. User authenticates with password + MFA (if required)
  3. Entra ID generates a signed SAML assertion containing the user's identity and assigned AWS role ARN
  4. Assertion is posted to the AWS Assertion Consumer Service (ACS) URL
AWS IAM · Service Provider
  1. AWS validates the assertion's signature against the registered EntraID metadata
  2. User assumes the EntraID-ReadOnly IAM role named in the assertion
  3. AWS Console opens — no separate AWS credentials used
  4. Role path is recorded as EntraID-ReadOnly/user@example.com
Result User authenticated through Entra ID and landed directly in the AWS Console — one identity, no second password.

What Was Built

Configuration

Microsoft Entra ID

Identity Provider
  • Added AWS Single-Account Access as an Enterprise Application
  • Configured SAML 2.0 settings via the Entra gallery workflow Identifier / Entity ID fixed by AWS gallery · Reply URL (ACS): https://signin.aws.amazon.com/saml
  • Mapped user attributes into the SAML assertion UPN as unique identifier · given name, surname, email · Role ARN mapped to the AWS IAM role
  • Set session duration to 900 seconds for shorter federated sessions
  • Managed the token signing certificate lifecycle RS256, expires 2029
  • Assigned users to the application for access control
  • Exported Federation Metadata XML for AWS trust configuration

Amazon Web Services

Service Provider
  • Registered EntraID as a trusted SAML 2.0 identity provider in AWS IAM
  • Uploaded the Federation Metadata XML to establish cryptographic trust
  • Created the EntraID-ReadOnly IAM role with a SAML 2.0 federation trust policy
  • Mapped the full Role ARN back into Entra ID attribute claims

Relevance to Regulated Industries

Why It Matters

In Canadian financial institutions operating under OSFI E-21 and FINTRAC expectations, cross-platform identity federation is a common control pattern for reducing unmanaged access. When engineering and DevOps teams access AWS using separate credentials, the organization faces three risks: orphaned accounts when staff leave, split audit trails across two platforms, and inconsistent MFA or Conditional Access enforcement.

Federating AWS access through Entra ID addresses these risks by making Entra ID the front door for authentication. A production rollout would still need assignment removal, Conditional Access, session lifetime, AWS role trust, and CloudTrail monitoring validated together — this lab demonstrates the federation path and documents the next evidence needed for production-grade assurance.

Tech Stack

Components
ComponentTechnology
Identity Provider (IdP)Microsoft Entra ID (Azure AD)
Service Provider (SP)Amazon Web Services IAM
Federation ProtocolSAML 2.0
Role MappingIAM Role ARN via SAML attribute claim
CertificateRS256 Token Signing Certificate
Access PolicyAWS ReadOnlyAccess (managed)

Key Concepts Demonstrated

Principles

SAML 2.0 Federation

The industry standard for enterprise SSO between cloud platforms.

Zero Trust Identity

No implicit trust — every access request verified through the central identity provider.

Least Privilege Access

ReadOnlyAccess policy grants the minimum required permissions.

Certificate Lifecycle Management

Token signing certificate tracked with expiry monitoring.

Attribute-Based Access Control

AWS role assignment driven directly by Entra ID attribute claims.

Audit Trail

Identity-provider sign-in evidence is centralized in Entra ID; AWS-side CloudTrail evidence is a planned validation item.

Validation Boundaries

Status
AreaStatusNotes
Entra enterprise applicationConfiguredAWS Single-Account Access application shown in Entra ID
SAML sign-on settingsConfiguredAWS gallery workflow and ACS URL documented
AWS IAM identity providerConfiguredAWS IAM SAML provider and trust path shown
AWS IAM roleConfiguredReadOnlyAccess role created for federated access
Federated console accessTestedAWS console access shown after SSO flow
Conditional Access / MFA policyNot evidencedFuture enhancement
Deprovisioning testNot evidencedFuture enhancement
CloudTrail sign-in evidenceNot evidencedFuture enhancement
Production deploymentNot claimedSelf-directed lab case study

Build Evidence

Screenshots

Entra ID Configuration

Step 1 · Entra tenant and admin context
SAML setup entry pointTenant overview before configuration begins
Step 2 · Enterprise Applications view
Basic SAML configAWS Single-Account Access application added
Step 3 · App gallery
Entity ID & Reply URLBrowsed via Microsoft Entra App Gallery
Step 4 · Application overview
Attribute claimsAWS Single-Account Access app overview
Step 5 · Users and groups
Token certificateAssignment view with signing certificate
Step 6 · SAML overview
Save prompt & claimsSAML settings save confirmation
Step 7 · Users and groups section
Assignment screenUsers and groups management view
Step 8 · IAM Identity Center guidance
User assignedAWS-surfaced guidance screen
Step 9 · Assignment confirmation
ConfirmedEntra ID assignment confirmed
Step 10 · Related services
Final configAWS IAM Identity Center related services screen

AWS IAM Configuration

Step 11 · AWS IAM dashboard
AWS IAMDashboard entry point
Step 12 · Identity provider created
Entra basic SAML configIdentity provider registered in AWS IAM
Step 13 · Create role
SAML federationCreating AWS role with SAML trust
Step 14 · Policy attached
ReadOnly policyReadOnlyAccess policy selected
Step 15 · Role review
Role name & reviewFinal role configuration review
Step 16 · Role created
EntraID-ReadOnlyIAM role successfully created

Final Configuration & Proof

Step 17 · Role claim mapping
Role ARN mappedMapping completed in Entra ID
Step 18 · Console access
SSO successAWS console access after SSO flow
Step 19 · SSO test panel
SSO testEntra ID SSO test panel confirmation

Security Note

Disclosure
Federation metadata

The Federation Metadata XML used in this integration is not included in this repository. It contains tenant-specific configuration data — identity provider URLs, certificate information, and directory identifiers — that is not suitable for public repositories. Available on request.

What's Next

Roadmap