Skip to content

Lesson 04 — Enterprise Identity Federation, Zero Trust Access & Privileged Access Architecture

Learning Path

☁️ Phase 02 – AWS Cloud Security

📘 Module 12 – AWS Security Architecture

By the end of this lesson, you will be able to:

  • Explain enterprise identity architecture in AWS.
  • Differentiate workforce, customer and workload identities.
  • Design identity federation for a multi-account AWS environment.
  • Explain AWS IAM Identity Center.
  • Integrate an external identity provider with AWS.
  • Explain SAML 2.0 and OpenID Connect federation.
  • Design permission sets for different enterprise roles.
  • Apply Role-Based Access Control and Attribute-Based Access Control.
  • Use IAM roles and temporary AWS credentials.
  • Explain AWS Security Token Service.
  • Design secure cross-account access.
  • Apply Zero Trust principles to identity decisions.
  • Design just-in-time privileged access.
  • Establish privileged access management controls.
  • Design emergency and break-glass access.
  • Apply permissions boundaries, session policies and Service Control Policies.
  • Secure workload identities for EC2, containers, Lambda and external systems.
  • Monitor identity activity using CloudTrail and IAM Access Analyzer.
  • Conduct enterprise access reviews and identity-security assessments.

📚 Lesson Information

Estimated Time: 7–8 Hours
Difficulty: Advanced
Prerequisites: Lesson 03 — Enterprise Network Segmentation, VPC Design & Secure Connectivity
Hands-on Labs: Yes
Primary Role: AWS Security Architect / Cloud Identity Engineer / IAM Engineer

CloudNova Technologies now operates:

  • 150 AWS accounts
  • Multiple AWS Regions
  • 5,000 employees
  • 900 software developers
  • 150 platform engineers
  • 80 security professionals
  • External contractors
  • Business partners
  • Automated CI/CD pipelines
  • Amazon EC2 workloads
  • Amazon ECS and Amazon EKS platforms
  • AWS Lambda applications
  • Hybrid workloads outside AWS

CloudNova uses Microsoft Entra ID as its corporate identity provider.

The current AWS access model has several weaknesses:

  • IAM users exist in individual AWS accounts.
  • Developers maintain long-term access keys.
  • Shared administrator accounts are still used.
  • Contractors retain access after projects end.
  • Production access is granted permanently.
  • Users have different permissions in different accounts.
  • Some application roles have wildcard permissions.
  • Cross-account trust policies are overly broad.
  • Emergency accounts are not regularly tested.
  • Privileged sessions are not consistently monitored.
  • Access reviews are performed manually.
  • Workloads outside AWS use stored access keys.
  • No formal privileged access management process exists.

A recent internal investigation discovers that a former contractor still has active access to a development account.

The contractor cannot directly access production, but the development account contains a role that trusts an entire external AWS account.

The CISO asks:

“How can CloudNova ensure that every person and workload receives only the correct access, for the correct reason, for the minimum required time?”

As the AWS Security Architect, you must design CloudNova’s enterprise identity, federation and privileged-access architecture.

Traditional security architectures relied heavily on network boundaries.

Inside Corporate Network
Trusted
Outside Corporate Network
Untrusted

Modern cloud environments cannot rely on network location alone.

Users and workloads may connect from:

  • Corporate offices
  • Home networks
  • Mobile devices
  • CI/CD platforms
  • SaaS services
  • Partner networks
  • Multiple AWS accounts
  • Multiple Regions

The modern security decision becomes:

Who is requesting access?
How was the identity verified?
What resource is being requested?
What action is required?
What context applies?
How long should access remain active?
How will the activity be monitored?

Identity therefore becomes a primary security control.

Enterprise identity architecture defines how identities are:

  • Created
  • Verified
  • Authenticated
  • Authorised
  • Provisioned
  • Monitored
  • Reviewed
  • Suspended
  • Removed

A complete architecture includes:

Identity Source
Authentication
Federation
Authorisation
Temporary Session
Resource Access
Monitoring and Review
CloudNova Employees
Microsoft Entra ID
Authentication, MFA and Lifecycle
AWS IAM Identity Center
┌───────────────────┼───────────────────┐
│ │ │
Permission Sets User Attributes Group Mapping
│ │ │
└───────────────────┼───────────────────┘
AWS Organizations
┌─────────────────────────┼─────────────────────────┐
│ │ │
Security Accounts Production Accounts Development Accounts
│ │ │
└─────────────────────────┼─────────────────────────┘
IAM Roles
AWS STS Temporary Sessions
CloudTrail + Access Analyzer + Security Hub

CloudNova separates identities into three major categories:

  1. Workforce identities
  2. Customer identities
  3. Workload identities

Workforce identities represent people working for or supporting the organisation.

Examples:

  • Employees
  • Administrators
  • Developers
  • Security analysts
  • Auditors
  • Contractors
  • Support engineers
  • Business partners

Workforce identities should normally originate from a central identity provider.

Corporate Identity Provider
AWS IAM Identity Center
AWS Account Roles
Temporary Credentials

Customer identities represent users of CloudNova applications.

Examples:

  • SecurePay customers
  • Retail users
  • Mobile application users
  • External application users
  • Partner-portal users

Customer identities should not normally be created as IAM users.

Possible customer-identity services include:

  • Amazon Cognito
  • External customer identity platforms
  • OpenID Connect providers
  • SAML identity providers
  • Custom identity systems
SecurePay Customer
Customer Identity Service
Application Token
SecurePay Application
Authorised Business Action

Workload identities represent software, services and machines.

Examples:

  • EC2 instances
  • Lambda functions
  • ECS tasks
  • EKS workloads
  • CI/CD pipelines
  • External servers
  • Automation tools
  • SaaS platforms

Workloads should use roles and short-lived credentials wherever possible.

Application Workload
Assigned IAM Role
AWS STS Credentials
Authorised AWS API Request
Area Human Identity Machine Identity
Example Developer Lambda function
Authentication MFA and federation Role or workload identity
Session Interactive Programmatic
Credentials Temporary user session Temporary role credentials
Lifecycle HR-driven Deployment-driven
Monitoring Sign-ins and privileged actions API activity and behavioural patterns
Common Risk Account takeover Credential theft or excessive permissions

Human and machine identities require separate governance processes.

Authentication answers:

Who are you?

Examples:

  • Password
  • MFA
  • Hardware security key
  • Certificate
  • SAML assertion
  • OIDC token

Authorisation answers:

What are you allowed to do?

Examples:

  • Read an S3 object
  • Start an EC2 instance
  • Assume a production role
  • View Security Hub findings
  • Create an IAM policy
Authentication
Identity Verified
Authorisation
Requested Action Evaluated
Allow or Deny

Identity federation allows users authenticated by an external identity system to access AWS without maintaining separate IAM-user credentials.

Employee
Corporate Identity Provider
Federation Assertion
AWS
Temporary Role Session

Benefits include:

  • Central identity lifecycle
  • Single sign-on
  • Central MFA
  • Temporary credentials
  • Faster access revocation
  • Better auditability
  • Reduced IAM-user usage
  • Consistent access policies

AWS IAM Identity Center provides centralised workforce access to AWS accounts and supported applications.

It can manage:

  • Users
  • Groups
  • Permission sets
  • Account assignments
  • Application access
  • Multi-account access
  • Identity-provider integration

CloudNova uses IAM Identity Center to connect its corporate identity provider to AWS Organizations.

Microsoft Entra ID
AWS IAM Identity Center
CloudNova Groups
Permission Sets
AWS Accounts
IAM Roles and Temporary Sessions

IAM Identity Center can use an identity source such as:

  • IAM Identity Center directory
  • Microsoft Active Directory
  • External identity provider

CloudNova uses Microsoft Entra ID as the authoritative workforce identity source.

The external identity provider performs authentication.

IAM Identity Center provides AWS account and application access.

User Signs In
Microsoft Entra ID Validates User
MFA and Conditional Access Evaluated
Federated Assertion Sent
IAM Identity Center Maps User and Group
Permission Set Applied
Temporary AWS Session Created

Identity lifecycle includes:

Joiner
Employee or Contractor Created
Mover
Role or Department Changes
Leaver
Access Suspended and Removed

CloudNova integrates access lifecycle with:

  • Human Resources
  • Contractor management
  • Identity provider
  • IAM Identity Center
  • Access-review processes

When a new employee joins:

  1. HR creates an approved employee record.
  2. The identity provider creates the identity.
  3. The employee is assigned to approved groups.
  4. IAM Identity Center receives the identity and group membership.
  5. Approved permission sets become available.
  6. MFA registration is completed.
  7. Access is validated.
  8. Activity is monitored.

When an employee changes role:

  1. Old group memberships are reviewed.
  2. Unnecessary access is removed.
  3. New access requires approval.
  4. Conflicting permissions are checked.
  5. Privileged access is reassessed.
  6. Access changes are logged.

Access must not simply accumulate throughout an employee’s career.

When a person leaves:

  1. Identity-provider access is disabled.
  2. Active sessions are revoked where possible.
  3. Group membership is removed.
  4. Application assignments are removed.
  5. API keys and tokens are reviewed.
  6. Owned resources are transferred.
  7. Privileged activity is reviewed.
  8. Evidence is retained.

Security Assertion Markup Language 2.0 is commonly used for browser-based enterprise federation.

User
Identity Provider
SAML Assertion
AWS Federation Service
AssumeRoleWithSAML
Temporary AWS Credentials

A SAML assertion may include:

  • User identity
  • Group membership
  • Role mapping
  • Session attributes
  • Authentication context
1. User authenticates to Identity Provider
2. Identity Provider verifies MFA and policy
3. Identity Provider generates signed SAML assertion
4. AWS validates assertion
5. AWS role is selected
6. AWS STS issues temporary credentials
7. User accesses authorised AWS resources

OpenID Connect is an identity layer built on OAuth 2.0.

OIDC is commonly used for:

  • Web applications
  • Mobile applications
  • CI/CD platforms
  • Kubernetes workloads
  • External automation
External Workload
OIDC Provider
Signed Token
AWS STS AssumeRoleWithWebIdentity
Temporary AWS Credentials
Area SAML 2.0 OpenID Connect
Common Use Enterprise workforce federation Modern applications and workloads
Token Format XML assertion JSON Web Token
Typical Access Browser-based enterprise SSO Applications, APIs and automation
AWS STS Operation AssumeRoleWithSAML AssumeRoleWithWebIdentity
Example Employee access GitHub Actions deployment

AWS Security Token Service issues temporary security credentials.

Temporary credentials include:

  • Access key ID
  • Secret access key
  • Session token
  • Expiration time
Trusted Identity
AWS STS
Temporary Credentials
Authorised AWS API Access
Automatic Expiration

Temporary credentials:

  • Expire automatically
  • Reduce long-term exposure
  • Support role assumption
  • Can use session policies
  • Improve traceability
  • Reduce credential-rotation burden
  • Support federation
  • Limit access duration

Long-term credentials remain valid until they are rotated, disabled or deleted.

An IAM role is an AWS identity with permissions that can be assumed by a trusted principal.

A role contains:

  • Trust policy
  • Permissions policies
  • Optional permissions boundary
  • Session-duration configuration
  • Tags

The trust policy defines who or what can assume the role.

Example cross-account trust policy:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/CloudNovaFederationRole"
},
"Action": "sts:AssumeRole"
}
]
}

This is safer than trusting an entire external account without additional restrictions.

The permissions policy defines what the role can do after it is assumed.

Example read-only S3 policy:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::cloudnova-reports",
"arn:aws:s3:::cloudnova-reports/*"
]
}
]
}
Trust Policy
Who can assume the role?
Role Session Created
Permissions Policy
What can the role do?

Both must be secure.

A restrictive permissions policy cannot prevent an untrusted identity from attempting to assume a poorly configured role.

A restrictive trust policy cannot compensate for excessive permissions after assumption.

Cross-account access allows a principal in one AWS account to assume a role in another account.

Security Engineer
IAM Identity Center
Security Account Role
Assume Cross-Account Role
Production Account
Temporary Read-Only Session
Source Principal
sts:AssumeRole Permission
Target Role Trust Policy
AWS STS Evaluation
Temporary Credentials
Target Account Access

Both sides must permit the action:

  • The source identity must be permitted to call sts:AssumeRole.
  • The target role must trust the source principal.

CloudNova restricts trust using:

  • Exact principal ARNs
  • Organisation ID conditions
  • External IDs
  • Source identity
  • Session tags
  • MFA conditions
  • Short session duration
  • Explicit role naming
  • Access monitoring

A resource or trust policy can restrict access to principals from a specific AWS organisation.

Example:

{
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-exampleorgid"
}
}
}

This condition should be combined with appropriate principal and authorisation controls.

An external ID helps reduce the confused deputy risk when granting third-party access.

CloudNova
Creates Third-Party Role
Requires Unique External ID
Third Party Assumes Role
AWS Verifies External ID

Example trust condition:

{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::444455556666:role/PartnerAccessRole"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "cloudnova-securepay-audit-2026"
}
}
}

The external ID is not a replacement for a securely designed principal relationship.

Source identity allows an organisation to preserve the original identity across role sessions.

Example:

Rohit.Mahajan
Federated Session
Assumes SecurityAuditRole
CloudTrail Records Source Identity
Investigation Links Activity to Original User

Source identity improves traceability across role chains.

Role chaining occurs when one assumed role is used to assume another role.

Federated User
Role A
Role B

Role chaining can complicate:

  • Session duration
  • Identity traceability
  • Permission analysis
  • Troubleshooting
  • Incident investigation

CloudNova minimises unnecessary role chaining.

A permission set in IAM Identity Center defines the permissions a user or group receives in assigned AWS accounts.

Examples:

  • CloudNova-Developer
  • CloudNova-Production-ReadOnly
  • CloudNova-Security-Auditor
  • CloudNova-Billing-Viewer
  • CloudNova-Network-Administrator
  • CloudNova-Emergency-Administrator

Permission sets can contain:

  • AWS-managed policies
  • Customer-managed policy references
  • Inline policies
  • Permissions boundaries
  • Session-duration settings
  • Relay-state configuration
Permission Set Assigned Group Accounts Session Duration
Developer Development Teams Development 8 hours
Production ReadOnly Engineering Leads Production 2 hours
Security Auditor Security Team All workload accounts 4 hours
Network Administrator Network Team Network accounts 1 hour
Incident Responder Incident Response Team Approved accounts 1 hour
Emergency Administrator Break-Glass Team Restricted accounts 30 minutes

Session durations should reflect risk.

Role-Based Access Control assigns access according to job function.

User
Job Role
Group
Permission Set
AWS Account Access

Examples:

Business Role AWS Access
Developer Development deployment permissions
Security Analyst Security findings and logs
Auditor Read-only evidence access
Network Engineer Network-management permissions
Finance Analyst Billing and cost reports
  • Easy to understand
  • Maps to job functions
  • Supports access reviews
  • Simplifies onboarding
  • Supports separation of duties
  • Reduces individual policy assignment
  • Role explosion
  • Excessive broad roles
  • Difficult exception handling
  • Access accumulation
  • Static permission design

RBAC is often combined with ABAC.

Attribute-Based Access Control uses attributes to make access decisions.

Attributes may include:

  • Department
  • Project
  • Environment
  • Cost centre
  • Data classification
  • Employment type
  • Region
  • Application name
Principal Attribute
Project = SecurePay
Resource Tag
Project = SecurePay
Access Permitted
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:StartInstances",
"ec2:StopInstances"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"aws:ResourceTag/Project": "${aws:PrincipalTag/Project}"
}
}
}
]
}

This allows users to manage resources matching their project attribute.

Session tags can carry attributes into an assumed-role session.

Examples:

Department = Security
Project = SecurePay
Environment = Production
EmploymentType = Employee

Session tags can support:

  • ABAC
  • Cost attribution
  • Audit trails
  • Conditional access
  • Resource-policy decisions
Area RBAC ABAC
Decision Basis Job role Attributes
Example Security Analyst Project equals SecurePay
Management Group and role based Tag and attribute based
Scalability Can create many roles Can reduce role count
Complexity Easier initially Requires strong attribute governance
Best Use Stable job functions Dynamic resource ownership

A permissions boundary defines the maximum identity-based permissions that an IAM user or role can receive.

Identity Policy
Allows:
Create IAM roles
Permissions Boundary
Allows:
Create only approved application roles
Effective Permission
Intersection of both

A permissions boundary does not grant permissions by itself.

CloudNova allows development teams to create workload roles.

Without a boundary:

Developer
Creates Administrator Role
Privilege Escalation

With a boundary:

Developer
Creates Workload Role
Mandatory Permissions Boundary
Role Cannot Exceed Approved Limit

A session policy can restrict permissions for a specific assumed-role session.

Role Permission
Allows:
Read all approved production logs
Session Policy
Allows:
Read logs for Incident INC-204 only
Effective Session
Restricted to incident scope

Session policies cannot grant permissions beyond the role’s existing permissions.

Effective access may be influenced by:

  • Identity-based policy
  • Resource-based policy
  • Permissions boundary
  • Session policy
  • Service Control Policy
  • Resource Control Policy where applicable
  • Explicit deny
  • AWS service-specific controls

Conceptually:

Requested Action
Identity Policy
Resource Policy
Permissions Boundary
Session Policy
SCP
Explicit Deny Check
Allow or Deny

An explicit deny generally overrides an allow.

Service Control Policies define the maximum available permissions for identities in member accounts.

Example:

IAM Role Allows:
Disable CloudTrail
SCP Denies:
cloudtrail:StopLogging
cloudtrail:DeleteTrail
Result:
Action Denied

SCPs do not grant permissions.

They define organisational boundaries.

CloudNova applies the following Zero Trust principles:

  • Verify explicitly.
  • Use least privilege.
  • Assume compromise.
  • Use temporary credentials.
  • Evaluate context.
  • Limit session duration.
  • Require strong authentication.
  • Record privileged activity.
  • Continuously review access.
  • Revoke access quickly.
Access Request
Verify User or Workload Identity
Validate MFA or Workload Token
Check Device and Session Context
Check Role and Attributes
Check Organisation Guardrails
Grant Minimum Required Session
Monitor Behaviour
Revoke When Risk Changes

Access decisions may consider:

  • User identity
  • Authentication strength
  • Device compliance
  • Geographic location
  • Network source
  • Time of request
  • Requested AWS account
  • Requested role
  • Resource sensitivity
  • Current threat intelligence
  • Existing incident status

AWS policy conditions can support parts of this decision.

The external identity provider may enforce additional context before issuing federation access.

MFA requires more than one authentication factor.

Factors may include:

  • Something the user knows
  • Something the user has
  • Something the user is
  • A cryptographic authenticator

CloudNova requires MFA for:

  • Workforce authentication
  • Privileged access
  • Emergency access
  • Sensitive application access
  • High-risk changes

CloudNova prioritises:

  1. Hardware security keys for highly privileged users
  2. Strong phishing-resistant authentication where supported
  3. Authenticator applications for standard users
  4. Controlled recovery procedures
  5. No shared MFA devices
  6. Regular MFA-registration reviews

Every AWS account contains a root user.

The root user has unrestricted account-level authority.

CloudNova protects root users by:

  • Using unique email addresses
  • Enabling MFA
  • Avoiding routine use
  • Not creating root access keys
  • Protecting recovery channels
  • Monitoring root sign-in
  • Testing emergency access procedures
  • Storing credentials securely
  • Restricting access to authorised custodians

Root access may be required for a limited number of account-specific tasks.

It must not be used for:

  • Daily administration
  • Application deployment
  • Security monitoring
  • Developer access
  • Routine billing work
  • API automation

Privileged access allows actions with significant security or operational impact.

Examples:

  • Modifying IAM policies
  • Changing SCPs
  • Disabling logging
  • Modifying KMS key policies
  • Changing network routes
  • Deleting backups
  • Accessing restricted data
  • Changing production infrastructure
  • Disabling security services

Privileged Access Management controls how elevated access is:

  • Requested
  • Approved
  • Granted
  • Monitored
  • Revoked
  • Reviewed
Access Request
Business Justification
Manager or System Owner Approval
Security Approval Where Required
Temporary Privileged Role
Monitored Session
Automatic Expiration
Post-Access Review

The user permanently holds privileged permissions.

Administrator
Administrator Access Available Every Day

Risk:

  • Credentials may be compromised at any time.
  • Privilege may be used accidentally.
  • Access may remain after responsibilities change.

Access is granted only when required.

Engineer Requests Access
Approval
Temporary Role Assignment
Short Session
Automatic Expiration
Engineer
Access Request Portal
Ticket and Business Justification
Approval Workflow
Temporary Group or Role Assignment
IAM Identity Center Permission Set
Short-Lived AWS Session
CloudTrail Monitoring
Automatic Revocation

Just-enough access provides only the permissions required for the approved task.

Example:

Incorrect:

Incident Responder
AdministratorAccess

Preferred:

Incident Responder
View Logs
Isolate EC2 Instance
Revoke Role Session
Capture Evidence

CloudNova separates privileged roles.

Role Purpose
Identity Administrator Manage identity configuration
Security Administrator Manage security services
Network Administrator Manage network controls
KMS Administrator Manage encryption keys
Incident Responder Contain and investigate incidents
Production Operator Perform approved operational actions
Billing Administrator Manage financial settings
Organisation Administrator Manage AWS Organizations and SCPs

No single routine role should control every security domain.

Separation of duties prevents one individual from completing a sensitive process without oversight.

Example:

Developer
Creates Change
Reviewer
Approves Change
Pipeline
Deploys Change
Security Team
Monitors Result

Another example:

KMS Administrator
Manages Key
But Cannot Decrypt Data
Data Operator
Uses Key
But Cannot Change Key Policy

A toxic combination occurs when separate permissions together allow privilege escalation or control bypass.

Examples:

  • Create role + attach policy + pass role
  • Update Lambda code + privileged Lambda execution role
  • Modify pipeline + production deployment role
  • Create access key for another user
  • Modify KMS key policy + access encrypted data
  • Change CloudTrail configuration + delete audit logs
  • Modify Security Group + access sensitive workload

Access reviews should evaluate combinations, not only individual permissions.

iam:PassRole allows a principal to assign an IAM role to an AWS service.

Example:

Developer
Launches Lambda Function
Passes Execution Role
Lambda Receives Role Permissions

If iam:PassRole is too broad, a user may assign an overly privileged role to a service they control.

Restrict:

  • Which roles may be passed
  • Which services may receive the role
  • Which resource path or naming convention is allowed

Example:

{
"Effect": "Allow",
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::111122223333:role/application/securepay-*",
"Condition": {
"StringEquals": {
"iam:PassedToService": "lambda.amazonaws.com"
}
}
}

Break-glass access provides emergency access when normal identity systems are unavailable.

Possible scenarios:

  • Corporate identity provider outage
  • IAM Identity Center outage or misconfiguration
  • Federation failure
  • Emergency security incident
  • Locked administrative configuration
Normal Access Unavailable
Emergency Declared
Authorised Custodians Approve
Break-Glass Credential Retrieved
MFA Required
Emergency Role Used
All Activity Logged and Alerted
Credential Rotated After Use
Formal Post-Incident Review

CloudNova requires:

  • Separate emergency identities
  • Strong MFA
  • No daily use
  • Secure credential storage
  • Dual control where practical
  • Immediate alerting
  • Short session duration
  • Restricted permissions
  • Regular testing
  • Credential rotation after use
  • Formal incident documentation

❌ Shared administrator password in a document.

❌ No MFA.

❌ Permanent access keys.

❌ No monitoring.

❌ No named owner.

❌ Never testing the process.

❌ Using the emergency identity for normal operations.

These are not always the same.

Root User
Account-Level Ultimate Authority
Break-Glass Role
Emergency Administrative Access for Defined Tasks

A break-glass role should be designed with only the required emergency permissions.

Root access should remain protected separately.

EC2 applications should use IAM roles through instance profiles.

EC2 Instance
Instance Profile
IAM Role
Temporary Credentials from Instance Metadata
AWS API

Applications should not store access keys on the instance.

CloudNova requires:

  • Instance Metadata Service Version 2
  • Restricted metadata access where possible
  • Least-privilege instance roles
  • No credentials in user data
  • Monitoring of metadata-related attacks
  • Regular role reviews

Lambda functions use execution roles.

Lambda Function
Execution Role
Temporary AWS Credentials
Approved AWS Services

Each function or tightly related function group should use a purpose-specific role.

Avoid one shared Lambda role with broad access.

ECS separates:

  • Task execution role
  • Task role

Used by ECS for actions such as:

  • Pulling container images
  • Sending logs
  • Retrieving deployment-time configuration

Used by the application running inside the container.

ECS Service
├── Execution Role
│ └── Platform Operations
└── Task Role
└── Application Permissions

EKS workloads should not rely on broad worker-node permissions.

Preferred patterns provide workload-specific identity.

Kubernetes Service Account
Workload Identity Association
IAM Role
Temporary Credentials
AWS Service

Benefits include:

  • Pod-level permissions
  • Reduced node-role privileges
  • Better isolation
  • Better auditability
  • Least privilege

CI/CD systems should use federation rather than stored AWS access keys.

Example:

GitHub Actions
GitHub OIDC Token
AWS IAM OIDC Provider
Deployment Role
Temporary STS Credentials
Approved Deployment

The role trust policy should restrict:

  • Repository
  • Branch
  • Environment
  • Organisation
  • Audience
  • Workflow context

Conceptual example:

{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::111122223333:oidc-provider/token.actions.githubusercontent.com"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"token.actions.githubusercontent.com:aud": "sts.amazonaws.com"
},
"StringLike": {
"token.actions.githubusercontent.com:sub": "repo:cloudnova/securepay:ref:refs/heads/main"
}
}
}

IAM Roles Anywhere allows workloads outside AWS to obtain temporary AWS credentials using trusted X.509 certificates.

Example:

On-Premises Server
X.509 Certificate
IAM Roles Anywhere
AWS STS Credentials
Approved AWS Service

This can reduce reliance on stored IAM access keys for external workloads.

A service role is assumed by an AWS service to perform actions on behalf of the customer.

Examples:

  • CloudFormation execution role
  • CodeBuild service role
  • Lambda execution role
  • AWS Backup role

Service roles must be:

  • Purpose-specific
  • Least privilege
  • Protected from unauthorised passing
  • Monitored
  • Reviewed

A service-linked role is associated with a specific AWS service and includes permissions required by that service.

CloudNova should:

  • Understand why each role exists.
  • Monitor role creation.
  • Avoid unnecessary manual modification.
  • Review service dependencies before deletion.

CloudNova prohibits routine long-term access keys for human users.

Where legacy access keys still exist:

  • Assign an owner.
  • Document the business justification.
  • Restrict permissions.
  • Store securely.
  • Monitor usage.
  • Rotate regularly.
  • Set an expiry and migration plan.
  • Remove unused keys.

Credentials may be exposed through:

  • Source-code repositories
  • CI/CD variables
  • Application logs
  • Container images
  • User-data scripts
  • Shared documents
  • Developer laptops
  • Chat platforms
  • Support tickets
  • Public code samples

Temporary credentials reduce but do not eliminate exposure risk.

IAM Access Analyzer helps identify resource access and validate policies.

Capabilities include:

  • External-access findings
  • Internal-access analysis
  • Unused-access analysis
  • Policy validation
  • Custom policy checks
  • Access previews

Access Analyzer can identify resources accessible from outside the expected trust boundary.

Examples:

  • S3 buckets
  • IAM roles
  • KMS keys
  • Lambda functions
  • SQS queues
  • Secrets
  • Resource policies
Resource Policy
Access Analyzer
External Principal Identified
Security Review
Archive, Accept or Remediate

Unused access analysis may identify:

  • Unused roles
  • Unused permissions
  • Unused access keys
  • Services not accessed
  • Actions not used

This supports least-privilege refinement.

IAM Access Analyzer can identify policy issues such as:

  • Invalid actions
  • Overly broad access
  • Missing conditions
  • Policy syntax issues
  • Security warnings
  • Recommended improvements

Policy simulation helps evaluate whether a principal can perform an action.

Example questions:

  • Can this role delete an S3 bucket?
  • Can this developer pass an administrator role?
  • Can this security analyst disable GuardDuty?
  • Can this pipeline deploy into production?

Simulation supports design and troubleshooting but does not replace real control validation.

CloudNova monitors:

  • Console sign-ins
  • Failed authentication
  • Root-user activity
  • Role assumptions
  • Access-key usage
  • IAM policy changes
  • Trust-policy changes
  • Permission-set changes
  • MFA changes
  • Identity-provider changes
  • Privileged API calls
  • Unusual source locations
  • Sessions with unexpected duration
  • Cross-account activity

Important CloudTrail events include:

ConsoleLogin
AssumeRole
AssumeRoleWithSAML
AssumeRoleWithWebIdentity
CreateUser
CreateRole
UpdateAssumeRolePolicy
AttachRolePolicy
PutRolePolicy
CreateAccessKey
DeactivateMFADevice
DeleteTrail
StopLogging
AWS Identity Activity
AWS CloudTrail
Central Log Archive
Amazon EventBridge and Detection Rules
Security Hub or SIEM
SOC Investigation
Session Revocation or Account Containment

CloudNova evaluates threats including:

  • Credential theft
  • Session-token theft
  • MFA fatigue
  • Phishing
  • Overprivileged roles
  • Trust-policy abuse
  • Cross-account privilege escalation
  • PassRole abuse
  • Dormant contractor access
  • Compromised CI/CD identity
  • Root-user compromise
  • Federation misconfiguration
  • Malicious administrator activity
  • Workload-role credential theft
Developer Credential Compromised
Development Role Assumed
Role Can Pass Privileged Lambda Role
Attacker Deploys Lambda Function
Lambda Assumes Privileged Role
Production Data Accessed
Phishing-Resistant MFA
+
Short Session Duration
+
Restricted iam:PassRole
+
Permissions Boundary
+
SCP Guardrail
+
Production Account Isolation
+
CloudTrail Detection
+
Automated Session Revocation
Corporate Identity Provider
Strong Authentication + MFA
AWS IAM Identity Center
Approved Permission Set
Context Evaluation
Short-Lived STS Session
Least-Privilege AWS Account Role
CloudTrail + Access Analyzer + Security Hub
Continuous Review and Revocation

CloudNova conducts regular access reviews.

Identity Inventory
Account and Role Assignments
Permission Analysis
Business Owner Review
Remove or Reduce Access
Evidence Recorded
Follow-Up Validation
  • Does the user still work for CloudNova?
  • Does the user still perform this role?
  • Is the account assignment still required?
  • Is production access required?
  • Is the permission set too broad?
  • Has the access been used recently?
  • Are conflicting roles assigned?
  • Does the user hold emergency access?
  • Is the contractor end date valid?
  • Are workload identities still active?
Access Type Suggested Review
Standard development access Quarterly
Production read-only access Quarterly
Privileged administrative access Monthly
Emergency access Monthly and after every use
Contractor access Monthly and at contract milestones
Third-party access Monthly or contract-defined
Workload roles Every major release and quarterly
Root-user controls Monthly verification

Review frequency should reflect organisational risk and compliance obligations.

CloudNova tracks:

Metric Purpose
Active IAM Users Measure legacy identity usage
Long-Term Access Keys Identify persistent credentials
Keys Older Than Policy Limit Detect rotation failures
Privileged Permission Sets Track elevated access
Standing Production Access Measure unnecessary privilege
Root-User Events Identify critical account activity
Dormant Accounts Detect unused identities
Unused Roles Reduce attack surface
External Trust Relationships Review third-party access
Access Review Completion Measure governance maturity
JIT Access Duration Confirm temporary privilege
Break-Glass Activations Detect emergency access
MFA Coverage Measure authentication strength
Cross-Account Role Assumptions Monitor organisational access
Component Primary Owner
Corporate Identity Provider Enterprise Identity Team
IAM Identity Center Cloud Identity Team
Permission Sets Cloud Identity and Security Teams
Account Assignments Business and Platform Owners
Service Control Policies Cloud Governance Team
Workload Roles Application and Platform Teams
Privileged Access Workflow Security and IT Operations
Break-Glass Process Security Leadership
Access Reviews Identity Governance and Business Owners
Identity Monitoring Security Operations Centre
Root Credentials Authorised Account Custodians

Important identity decisions should be documented.

Example:

Decision ID:
ADR-IAM-004
Title:
Use Microsoft Entra ID with AWS IAM Identity Center
Business Context:
CloudNova requires central workforce authentication across 150 AWS accounts.
Selected Option:
Use Entra ID as the authoritative identity provider and IAM Identity Center for AWS account assignments.
Security Benefits:
• Central MFA
• Central lifecycle management
• Temporary credentials
• Consistent account access
• Reduced IAM-user usage
• Improved auditability
Residual Risks:
• Identity-provider outage may affect AWS access
• Group misconfiguration may grant excessive access
Additional Controls:
• Break-glass access
• Group-change monitoring
• Regular access reviews
• Privileged group approval

🛠 Lab 01 — Design CloudNova Enterprise Identity Architecture

Section titled “🛠 Lab 01 — Design CloudNova Enterprise Identity Architecture”

Create a high-level identity architecture for CloudNova’s 150 AWS accounts.

  • Microsoft Entra ID
  • IAM Identity Center
  • AWS Organizations
  • Permission sets
  • Workforce groups
  • Production accounts
  • Development accounts
  • Security accounts
  • Temporary credentials
  • CloudTrail
  • IAM Access Analyzer
  • Break-glass process
  • Identity architecture diagram
  • Identity ownership matrix
  • Authentication flow
  • Authorisation flow
  • Identity-monitoring design

🛠 Lab 02 — Design Workforce Groups and Permission Sets

Section titled “🛠 Lab 02 — Design Workforce Groups and Permission Sets”

Create a scalable permission-set model.

  • Cloud Developers
  • Platform Engineers
  • Security Analysts
  • Incident Responders
  • Network Engineers
  • Auditors
  • Billing Analysts
  • Emergency Administrators
Group Permission Set Accounts Session Duration Approval Required
Cloud Developers Developer Development 8 hours Standard assignment
Platform Engineers Production Operator Production 1 hour JIT approval
Security Analysts Security ReadOnly All accounts 4 hours Manager approval
Emergency Administrators Emergency Admin Restricted accounts 30 minutes Dual approval

🛠 Lab 03 — Design Cross-Account Access

Section titled “🛠 Lab 03 — Design Cross-Account Access”

Design secure access from the Security Tooling account to production workload accounts.

  • Exact trusted role
  • Read-only default access
  • Source identity
  • Short session duration
  • CloudTrail logging
  • Organisation restriction
  • No wildcard principal
  • Incident-response elevation process
  • Source role policy
  • Target trust policy
  • Target permissions policy
  • Role-assumption flow
  • Monitoring requirements

Create a trust policy for a security-audit role.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowSecurityAuditRole",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/CloudNovaSecurityFederationRole"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"aws:PrincipalOrgID": "o-exampleorgid"
}
}
}
]
}
  • Is the trusted principal exact?
  • Is the organisation restricted?
  • Is MFA required where appropriate?
  • Is source identity preserved?
  • Is the session duration limited?
  • Is role assumption monitored?

Design project-based access using principal and resource tags.

Project
Environment
Department
DataClassification

Users may start or stop EC2 instances only when:

Principal Project Tag
Matches
Resource Project Tag
  • Attribute catalogue
  • Attribute owner
  • Tagging standard
  • IAM policy
  • Exception process
  • Tag-integrity controls

🛠 Lab 06 — Design Just-in-Time Production Access

Section titled “🛠 Lab 06 — Design Just-in-Time Production Access”

Create a JIT access process for platform engineers.

Engineer Requests Production Access
Ticket Created
Business Justification Entered
Manager Approval
Application Owner Approval
Temporary Permission-Set Assignment
One-Hour Session
CloudTrail Monitoring
Automatic Revocation
Post-Access Review
  • Access-request form
  • Approval matrix
  • Permission set
  • Session duration
  • Monitoring rules
  • Revocation procedure
  • Evidence requirements

Create an emergency-access procedure.

  • Emergency role
  • Authorised custodians
  • MFA
  • Dual approval
  • Credential storage
  • Alerting
  • Session monitoring
  • Automatic expiry
  • Post-use credential rotation
  • Post-incident review
  • Quarterly test

Create a complete break-glass runbook.

🛠 Lab 08 — Secure a CI/CD Workload Identity

Section titled “🛠 Lab 08 — Secure a CI/CD Workload Identity”

Design OIDC federation for a CI/CD platform.

  • No long-term AWS access key
  • OIDC provider
  • Restricted repository
  • Restricted branch
  • Restricted audience
  • Dedicated deployment role
  • Permissions boundary
  • Short session
  • CloudTrail monitoring
  • OIDC trust policy
  • Deployment permissions policy
  • Role-session configuration
  • Threat model
  • Incident-response process

🛠 Lab 09 — Review IAM Access Analyzer Findings

Section titled “🛠 Lab 09 — Review IAM Access Analyzer Findings”

Review external and unused access.

Identify:

  • Roles trusted by external accounts
  • Public or cross-account resource policies
  • Unused access keys
  • Unused IAM roles
  • Broad wildcard permissions
  • Roles not used recently
  • Trust policies without conditions
Finding Risk Severity Recommendation Owner
Role trusts external account root Uncontrolled role assumption High Trust exact role and require external ID IAM Team
Access key unused for 120 days Dormant credential Medium Disable and remove key Application Owner

🛠 Lab 10 — Perform an Enterprise Identity Security Assessment

Section titled “🛠 Lab 10 — Perform an Enterprise Identity Security Assessment”

Assess the following environment:

  • 150 AWS accounts
  • 300 IAM users
  • 180 long-term access keys
  • Shared administrator role
  • No central federation
  • Permanent production access
  • Broad cross-account trust
  • No access reviews
  • No break-glass testing
  • Workloads using embedded keys
  1. Current-state assessment
  2. Identity risk register
  3. Target-state architecture
  4. IAM Identity Center migration plan
  5. Privileged access strategy
  6. Workload identity migration plan
  7. Access-review process
  8. Monitoring requirements
  9. Ninety-day remediation plan
  10. Executive summary

💻 AWS Console Walkthrough — Create and Review an IAM Role

Section titled “💻 AWS Console Walkthrough — Create and Review an IAM Role”
  1. Sign in to the AWS Management Console.
  2. Search for IAM.
  3. Open the IAM console.
  4. Select Roles.
  5. Choose Create role.

Select the appropriate trusted-entity type:

  • AWS service
  • AWS account
  • Web identity
  • SAML federation
  • Custom trust policy

For cross-account access, select the approved AWS account or use a carefully reviewed custom trust policy.

Define:

  • Exact trusted principal
  • External ID where required
  • MFA requirement where required
  • Organisation conditions
  • Session-tag controls

Attach only the permissions required for the role.

Avoid using:

AdministratorAccess

unless the role has a formally approved emergency or administrative requirement.

Provide:

Role name:
CloudNovaSecurityAuditRole
Description:
Read-only cross-account role for approved CloudNova security analysts

Add ownership and classification tags.

Confirm:

  • No unnecessary wildcard principals
  • Correct account IDs
  • Correct role ARN
  • Required conditions
  • No external account root unless explicitly justified

Step 7 — Review Maximum Session Duration

Section titled “Step 7 — Review Maximum Session Duration”

Set the shortest practical session duration.

Example:

Security audit:
4 hours
Production operations:
1 hour
Emergency administration:
30 minutes

💻 AWS Console Walkthrough — Review IAM Identity Center

Section titled “💻 AWS Console Walkthrough — Review IAM Identity Center”
  1. Search for IAM Identity Center.
  2. Confirm the Region where IAM Identity Center is configured.
  3. Review the current identity source.

Review:

  • User status
  • Group membership
  • Privileged groups
  • Contractor identities
  • Dormant accounts
  • Duplicate accounts

For each permission set, confirm:

  • Business purpose
  • Attached policies
  • Inline policy
  • Permissions boundary
  • Session duration
  • Account assignments
  • Named owner

Confirm that:

  • Development groups access development accounts.
  • Production access is restricted.
  • Security teams have appropriate read-only access.
  • Privileged assignments require approval.
  • Contractors have defined end dates.
  • Emergency roles are tightly controlled.

Run in Git Bash or PowerShell:

Terminal window
aws sts get-caller-identity
Terminal window
aws iam list-users
Terminal window
aws iam list-roles
Terminal window
aws iam get-role \
--role-name CloudNovaSecurityAuditRole
Terminal window
aws iam get-role \
--role-name CloudNovaSecurityAuditRole \
--query 'Role.AssumeRolePolicyDocument'
Terminal window
aws iam list-attached-role-policies \
--role-name CloudNovaSecurityAuditRole
Terminal window
aws iam list-role-policies \
--role-name CloudNovaSecurityAuditRole

Create:

trust-policy.json

Add:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::111122223333:role/CloudNovaSecurityFederationRole"
},
"Action": "sts:AssumeRole"
}
]
}
Terminal window
aws iam create-role \
--role-name CloudNovaSecurityAuditRole \
--assume-role-policy-document file://trust-policy.json \
--description "Cross-account security audit role"
Terminal window
aws iam attach-role-policy \
--role-name CloudNovaSecurityAuditRole \
--policy-arn arn:aws:iam::aws:policy/SecurityAudit
Terminal window
aws sts assume-role \
--role-arn arn:aws:iam::TARGET_ACCOUNT_ID:role/CloudNovaSecurityAuditRole \
--role-session-name cloudnova-security-review \
--source-identity USER_ID

Record:

  • AccessKeyId
  • SecretAccessKey
  • SessionToken
  • Expiration

Do not store these credentials in source code or permanent files.

Terminal window
aws sts assume-role \
--role-arn arn:aws:iam::TARGET_ACCOUNT_ID:role/CloudNovaPartnerAuditRole \
--role-session-name partner-audit-session \
--external-id cloudnova-securepay-audit-2026
Terminal window
aws iam list-access-keys \
--user-name IAM_USER_NAME
Terminal window
aws iam get-access-key-last-used \
--access-key-id ACCESS_KEY_ID
Terminal window
aws iam list-mfa-devices \
--user-name IAM_USER_NAME
Terminal window
aws iam generate-credential-report
Terminal window
aws iam get-credential-report \
--output text \
--query Content

The returned content is encoded and may require decoding before review.

Terminal window
aws iam simulate-principal-policy \
--policy-source-arn arn:aws:iam::ACCOUNT_ID:role/CloudNovaSecurityAuditRole \
--action-names \
s3:GetObject \
iam:CreateUser \
cloudtrail:StopLogging
Terminal window
aws sso-admin list-instances

Record the:

  • Instance ARN
  • Identity store ID
Terminal window
aws sso-admin list-permission-sets \
--instance-arn IAM_IDENTITY_CENTER_INSTANCE_ARN
Terminal window
aws sso-admin describe-permission-set \
--instance-arn IAM_IDENTITY_CENTER_INSTANCE_ARN \
--permission-set-arn PERMISSION_SET_ARN
Terminal window
aws sso-admin list-account-assignments \
--instance-arn IAM_IDENTITY_CENTER_INSTANCE_ARN \
--account-id AWS_ACCOUNT_ID \
--permission-set-arn PERMISSION_SET_ARN
Terminal window
aws accessanalyzer list-analyzers
Terminal window
aws accessanalyzer list-findings-v2 \
--analyzer-arn ANALYZER_ARN \
--filter '{"status":{"eq":["ACTIVE"]}}'

Create:

policy.json

Then run:

Terminal window
aws accessanalyzer validate-policy \
--policy-document file://policy.json \
--policy-type IDENTITY_POLICY
Terminal window
aws cloudtrail lookup-events \
--lookup-attributes AttributeKey=EventName,AttributeValue=AssumeRole
Terminal window
aws cloudtrail lookup-events \
--lookup-attributes AttributeKey=Username,AttributeValue=root

CloudTrail event availability depends on the configured Region, event history and logging architecture.

Verify that you can:

  • Explain why identity is a primary cloud-security perimeter.
  • Differentiate authentication and authorisation.
  • Differentiate workforce, customer and workload identities.
  • Explain identity federation.
  • Describe IAM Identity Center.
  • Explain external identity-provider integration.
  • Explain SAML 2.0 federation.
  • Explain OIDC federation.
  • Explain AWS STS temporary credentials.
  • Design secure IAM roles.
  • Differentiate trust and permissions policies.
  • Design secure cross-account access.
  • Use external IDs appropriately.
  • Explain source identity and role chaining.
  • Design IAM Identity Center permission sets.
  • Apply RBAC.
  • Apply ABAC.
  • Use session tags.
  • Explain permissions boundaries.
  • Explain session policies.
  • Explain SCP interaction.
  • Apply Zero Trust access principles.
  • Design MFA requirements.
  • Secure AWS account root users.
  • Design just-in-time privileged access.
  • Apply separation of duties.
  • Identify toxic permission combinations.
  • Restrict iam:PassRole.
  • Design break-glass access.
  • Secure EC2, Lambda, ECS and EKS workload identities.
  • Use OIDC for CI/CD access.
  • Explain IAM Roles Anywhere.
  • Review IAM Access Analyzer findings.
  • Monitor identity activity through CloudTrail.
  • Conduct enterprise access reviews.

Problem — User Cannot Access an AWS Account Through IAM Identity Center

Section titled “Problem — User Cannot Access an AWS Account Through IAM Identity Center”

Review:

  • User status in the identity provider
  • User provisioning
  • Group membership
  • IAM Identity Center identity source
  • Permission-set assignment
  • AWS account assignment
  • Permission-set provisioning status
  • Session expiration
  • Browser or cached session

Problem — AssumeRole Returns Access Denied

Section titled “Problem — AssumeRole Returns Access Denied”

Review both sides of the relationship.

Confirm that the source principal can call:

sts:AssumeRole

against the target role ARN.

Confirm that the role trust policy trusts the source principal.

Also review:

  • SCPs
  • Permissions boundaries
  • Session policies
  • MFA conditions
  • External ID
  • Organisation ID
  • Source identity requirements
  • Role ARN
  • AWS account ID

Run:

Terminal window
aws sts get-caller-identity

Problem — Access Is Allowed Despite Restrictive Identity Policy

Section titled “Problem — Access Is Allowed Despite Restrictive Identity Policy”

Review:

  • Resource-based policy
  • Role session
  • Group policies
  • Managed policies
  • Inline policies
  • Permission-set policies
  • Resource ownership
  • Service-specific authorisation behaviour

Do not assume that only one policy affects the request.

Problem — Access Is Denied Despite an Allow Policy

Section titled “Problem — Access Is Denied Despite an Allow Policy”

Review:

  • Explicit deny
  • SCP
  • Permissions boundary
  • Session policy
  • Resource policy
  • KMS key policy
  • VPC endpoint policy
  • AWS service-specific controls
  • Region restrictions
  • Requested resource ARN

Problem — Federated User Has the Wrong Permissions

Section titled “Problem — Federated User Has the Wrong Permissions”

Review:

  • Identity-provider group
  • Group-to-permission-set mapping
  • Account assignment
  • Permission-set policy
  • Attribute mapping
  • Session tags
  • Provisioning status
  • Cached session

The user may need to start a new session after access changes.

Problem — OIDC Workload Cannot Assume Role

Section titled “Problem — OIDC Workload Cannot Assume Role”

Review:

  • OIDC provider ARN
  • Token issuer
  • Token audience
  • Subject claim
  • Repository or branch condition
  • Trust-policy syntax
  • Token expiration
  • STS action
  • AWS Region
  • Role ARN

Problem — Access Analyzer Reports External Access

Section titled “Problem — Access Analyzer Reports External Access”

Review:

  • External principal
  • Resource policy
  • Trust boundary
  • Organisation ID
  • Public access
  • Business justification
  • Existing compensating controls

Do not archive the finding without recording why the access is expected.

Problem — Permission Boundary Blocks a Required Action

Section titled “Problem — Permission Boundary Blocks a Required Action”

Review:

  • Identity policy
  • Permissions boundary
  • Resource policy
  • Required action
  • Resource ARN
  • Condition keys

Do not remove the boundary simply to resolve the issue.

Update the approved boundary only after security review.

Problem — Break-Glass Access Does Not Work

Section titled “Problem — Break-Glass Access Does Not Work”

Review:

  • Credential availability
  • MFA device
  • Role trust policy
  • SCP restrictions
  • Account recovery process
  • Session duration
  • Emergency documentation
  • Responsible custodians

Break-glass access should be tested before an actual emergency.

CloudNova’s identity standards include:

  • Use a central corporate identity provider.
  • Use IAM Identity Center for workforce access.
  • Avoid IAM users for normal human access.
  • Require MFA for all workforce access.
  • Use phishing-resistant authentication for privileged users where supported.
  • Use temporary credentials.
  • Use exact principals in trust policies.
  • Restrict external trust using conditions.
  • Use external IDs for approved third-party access.
  • Preserve source identity across role sessions.
  • Use permission sets aligned with business roles.
  • Apply RBAC for stable job functions.
  • Apply ABAC for dynamic project and resource access.
  • Govern principal and resource attributes.
  • Use permissions boundaries for delegated role creation.
  • Restrict session duration according to risk.
  • Use just-in-time access for production.
  • Use just-enough permissions for privileged tasks.
  • Separate identity, security, network and key-management duties.
  • Restrict iam:PassRole.
  • Protect every AWS account root user.
  • Maintain tested break-glass procedures.
  • Use workload roles instead of embedded credentials.
  • Use OIDC federation for CI/CD systems.
  • Use workload-specific roles for containers and serverless functions.
  • Review external and unused access continuously.
  • Centralise identity logs.
  • Monitor role assumptions and policy changes.
  • Conduct regular access reviews.
  • Remove dormant identities and credentials.
  • Document every privileged-access exception.

❌ Creating IAM users in every AWS account.

❌ Using long-term access keys for employees.

❌ Sharing administrator accounts.

❌ Granting permanent production access.

❌ Trusting an entire external AWS account unnecessarily.

❌ Using wildcard principals without restrictive conditions.

❌ Assigning AdministratorAccess for convenience.

❌ Using one permission set for all teams.

❌ Failing to remove access when users change roles.

❌ Allowing contractor access without an expiry date.

❌ Ignoring source identity.

❌ Allowing long role sessions for privileged work.

❌ Using network location as proof of identity.

❌ Treating MFA as optional for administrators.

❌ Creating broad permissions boundaries.

❌ Assuming a permissions boundary grants access.

❌ Failing to restrict iam:PassRole.

❌ Giving EC2 applications embedded access keys.

❌ Giving every EKS workload the worker-node role.

❌ Storing CI/CD access keys in repository secrets.

❌ Failing to monitor trust-policy changes.

❌ Archiving Access Analyzer findings without investigation.

❌ Creating break-glass credentials but never testing them.

❌ Using the root user for daily administration.

CloudNova is redesigning identity access across 500 AWS accounts.

The organisation has:

  • 12,000 employees
  • 2,500 developers
  • 300 contractors
  • Multiple business units
  • Microsoft Entra ID
  • Global AWS operations
  • PCI DSS workloads
  • Financial applications
  • Central security operations
  • External audit partners
  • CI/CD systems
  • On-premises workloads

Design an enterprise identity architecture that includes:

  1. Identity-source architecture
  2. IAM Identity Center design
  3. Workforce group model
  4. Permission-set catalogue
  5. AWS account-assignment strategy
  6. RBAC model
  7. ABAC model
  8. Attribute-governance standard
  9. Cross-account trust standard
  10. External third-party access standard
  11. AWS STS session strategy
  12. MFA and authentication standard
  13. Privileged access management process
  14. Just-in-time production access
  15. Break-glass architecture
  16. Root-user protection standard
  17. Workload identity strategy
  18. CI/CD OIDC federation
  19. IAM Roles Anywhere design
  20. Access Analyzer architecture
  21. Identity-monitoring rules
  22. Access-review process
  23. Joiner, mover and leaver process
  24. Identity risk register
  25. Executive identity-security summary
  1. Why is identity considered a primary cloud-security perimeter?
  2. What is the difference between authentication and authorisation?
  3. What are workforce identities?
  4. What are customer identities?
  5. What are workload identities?
  6. What is identity federation?
  7. What is AWS IAM Identity Center?
  8. What role does an external identity provider perform?
  9. What is SAML 2.0?
  10. What is OpenID Connect?
  11. How does SAML differ from OIDC?
  12. What is AWS Security Token Service?
  13. Why are temporary credentials preferred?
  14. What is an IAM role?
  15. What is a role trust policy?
  16. What is a role permissions policy?
  17. What must be configured on both sides of cross-account access?
  18. What is an external ID?
  19. What is source identity?
  20. What is role chaining?
  21. What is a permission set?
  22. What is Role-Based Access Control?
  23. What is Attribute-Based Access Control?
  24. What are session tags?
  25. How does RBAC differ from ABAC?
  26. What is a permissions boundary?
  27. Does a permissions boundary grant permissions?
  28. What is a session policy?
  29. How do SCPs affect IAM roles?
  30. What does explicit deny mean?
  31. What are the core Zero Trust identity principles?
  32. Why should privileged sessions be shorter than normal sessions?
  33. What is standing privileged access?
  34. What is just-in-time access?
  35. What is just-enough access?
  36. Why is separation of duties important?
  37. What is a toxic permission combination?
  38. Why is iam:PassRole sensitive?
  39. What is break-glass access?
  40. Why must break-glass procedures be tested?
  41. How should EC2 workloads obtain AWS credentials?
  42. What is the difference between an ECS execution role and task role?
  43. Why should EKS workloads avoid broad node-role permissions?
  44. How can CI/CD systems access AWS without stored access keys?
  45. What is IAM Roles Anywhere?
  46. What is IAM Access Analyzer?
  47. What is unused-access analysis?
  48. Which identity events should be monitored in CloudTrail?
  49. What should an enterprise access review evaluate?
  50. How does identity segmentation reduce blast radius?

After completing this lesson, you should understand:

  • Identity is a primary control plane for AWS security and must not depend solely on network location.
  • Workforce, customer and workload identities require different authentication, authorisation and lifecycle controls.
  • Enterprise workforce access should use a central identity provider, IAM Identity Center and temporary AWS sessions.
  • Federation reduces the need for separate IAM users and long-term credentials across AWS accounts.
  • IAM roles require both a secure trust policy and a least-privilege permissions policy.
  • AWS STS provides temporary credentials for federated users, cross-account access and workload identities.
  • Permission sets provide consistent workforce access across AWS Organizations.
  • RBAC maps access to job functions, while ABAC uses governed attributes to make dynamic access decisions.
  • Permissions boundaries, session policies and SCPs limit permissions but do not grant access independently.
  • Zero Trust access verifies identity explicitly, evaluates context and provides minimum required access for a limited duration.
  • Privileged access should use just-in-time and just-enough access rather than permanent administrator permissions.
  • Break-glass access must be separate, strongly protected, monitored, tested and reviewed after use.
  • Workloads should use purpose-specific roles instead of embedded AWS access keys.
  • OIDC federation allows CI/CD platforms and external workloads to obtain temporary AWS credentials.
  • IAM Access Analyzer, CloudTrail and access reviews are essential for identifying external, excessive and unused access.
  • Identity architecture must include strong lifecycle management so that access is adjusted when people join, change roles or leave.
  • Every privileged identity, role, permission set, trust relationship and exception must have a named owner and documented business purpose.

➡️ Lesson 05 — Enterprise Data Protection, Encryption Architecture & AWS KMS Design