Cloud security

Zero trust PAM in AWS: a step-by-step implementation guide

Zero trust PAM in AWS, step by step: IAM Identity Center, temporary credentials, SCPs, CloudTrail and session controls, plus a checklist. Plan yours.

Zero trust PAM in AWS: a step-by-step implementation guide cover

Key takeaways

  • Zero trust PAM in AWS means no person holds a standing administrator role: privileged access is granted per session, with least privilege, and checked before and during use.
  • NIST SP 800-207 states that access to individual resources is granted on a per-session basis, with trust evaluated before access and least privilege applied.
  • AWS recommends that human users federate through an identity provider and use temporary credentials, with IAM Identity Center for central workforce access.
  • Service control policies set the maximum permissions in member accounts but never grant permissions, and they do not apply to the management account.
  • An organisation CloudTrail trail cannot be changed or deleted from member accounts, which makes it the audit backbone for privileged sessions.

Zero trust PAM in AWS means no person holds a standing administrator role in any account. Privileged access is requested for one role, in one account, for a bounded time; it is issued as temporary credentials, limited by organisation guardrails, recorded while it is used and removed when the window ends. This guide is for AWS platform, cloud security and IAM teams who want a practical plan: the zero trust principles that apply, the AWS building blocks for each one (IAM Identity Center, STS, service control policies, CloudTrail), a six-step rollout, and a checklist to measure progress.

Zero trust privileged access is an approach in which no user or workload is trusted because of its network location or past sign-in: every privileged session is authenticated, authorised against current policy, limited to least privilege, and monitored for as long as it lasts.

Which zero trust principles apply to privileged access in AWS

NIST SP 800-207 defines zero trust architecture through seven tenets. Four of them translate directly into privileged access rules for AWS. Tenet 3 says access to individual resources is granted on a per-session basis, trust is evaluated before access, and access uses the least privileges needed for the task. Tenet 4 says access is set by dynamic policy, including identity, the requesting device and behavioural and environmental attributes such as time and location.

Tenet 6 says authentication and authorisation are dynamic and strictly enforced before access, with continual monitoring and possible re-authorisation during use. Tenet 7 asks the organisation to collect information about access requests and use it to improve policy. For AWS, those four tenets become concrete requirements: no standing admin roles, time-bound sessions, policy that considers risk signals, enforcement inside the session as well as at sign-in, and a complete audit record.

AWS building blocks for zero trust PAM

AWS supplies most of the primitives. Its IAM best practices ask you to require human users to federate through an identity provider and use temporary credentials, to require workloads to use IAM roles, and to rely on temporary credentials instead of long-term access keys where possible. STS credentials are generated on request, last from minutes to hours, and are not recognised after they expire.

Zero trust requirement AWS building block What it does not do on its own
No standing human credentials IAM Identity Center with an external identity provider Does not remove existing IAM users or access keys
Per-session, time-bound access Permission set session duration (1 to 12 hours) and STS role sessions No built-in request and approval workflow
Least privilege Customer managed policies, IAM Access Analyzer Does not decide who should hold which role today
Organisation-wide guardrails Service control policies Never grants permissions; does not affect the management account
Complete audit trail Organisation CloudTrail trail Records API calls but does not stop them
Remove unused access IAM Access Analyzer unused access findings Reports; someone still has to act
Cut off a live session Revoke role sessions by token issue time Applies to every session of the role, not one user

The gaps in the right-hand column are where a PAM layer fits: a request and approval flow, inspection of what each session does, and an audit record tied to the person and the reason.

How IAM Identity Center and temporary credentials enforce per-session access

IAM Identity Center assigns permission sets to users and groups in each account and creates the matching IAM roles. Per the Identity Center documentation, each permission set has a session duration from 1 hour (the default) to 12 hours, after which AWS signs the user out, and AWS recommends not setting it longer than the role needs.

Identity Center assigns access, but it does not run a full request and approval workflow. AWS’s page on temporary elevated access describes just-in-time access as a way to request, approve and track the use of a permission for a specific task and time, and points to validated partner solutions that integrate with Identity Center. The same page recommends setting up emergency access to the console for business continuity.

How SCPs and CloudTrail act as guardrails and evidence

Service control policies set the maximum permissions for IAM users and roles in member accounts, including each member account’s root user. They never grant permissions, they do not affect the management account, and they do not affect service-linked roles. Use them to deny actions no human session should ever perform in production, such as stopping or deleting the organisation’s trails, and test them on a small organisational unit before attaching them widely, as AWS advises.

An organisation trail logs events for the management account and every member account. Users in member accounts can see it but cannot delete it, turn logging off or change it. That makes it the audit backbone for zero trust: every privileged API call lands in one place that a compromised member-account administrator cannot switch off.

Session controls: monitoring and stopping privileged sessions

Zero trust tenet 6 expects monitoring during the session, not only at sign-in. Natively, AWS gives you two tools. CloudTrail records each call after it happens. To stop a session early, you can revoke a role’s active sessions, which attaches a deny policy for every session issued before a set time, affecting all users of that role; sessions from Identity Center permission sets are revoked in Identity Center instead.

SWOT Cloud PAM adds controls inside the session for the AWS management plane. Engineers request a role, account, duration and reason; deterministic risk scoring on escalation, exfiltration, IP, geography and timing can route the request to a second approver and step-up MFA. The Access Gateway brokers STS AssumeRole credentials clamped to the session, so engineers stop holding long-lived keys. Console, CLI, SDK and infrastructure-as-code calls through the gateway are checked, and operations your policy marks as dangerous, such as cloudtrail:DeleteTrail or iam:CreateAccessKey, are denied before they leave it.

A revoked grant stops working within 60 seconds, an admin can end a live session in one click, and high-risk sessions end on their own. Each event joins a SHA-256 hash chain for playback, and CloudTrail ingestion acts as a backstop. In the Proxy and Isolated enforcement modes, sessions that try to skip the gateway are refused. The product is self-hosted and produces framework-mapped report packs; whether a control is met depends on your configuration, scope and independent assessment.

Step-by-step plan to implement zero trust PAM in AWS

Roll out in stages, account by account, and remove standing access only when the replacement path has been tested. The sequence below works for most AWS Organizations estates.

  1. Inventory standing access. List IAM users, access keys and every permanent assignment of administrator-level permission sets. IAM Access Analyzer unused access findings flag unused roles, access keys, passwords and permissions (AWS charges for unused access analysis per role and user analysed).
  2. Federate humans. Move people to IAM Identity Center with your identity provider and MFA, and retire IAM user console passwords and access keys for humans.
  3. Design role tiers. Create permission sets by job and sensitivity, for example read-only, operator, database administrator and security administrator, and set the shortest session duration each one needs.
  4. Add the request and approval layer. Put a just-in-time workflow in front of the sensitive tiers: reason or ticket on every request, more approvers and step-up MFA for roles that can change identities, policies or logging.
  5. Set guardrails and logging. Create an organisation CloudTrail trail and attach SCPs that deny log tampering and other forbidden actions, tested first on a pilot OU.
  6. Remove standing access and test break-glass. Remove permanent admin assignments tier by tier, test emergency access under dual control, and rehearse session revocation.

Zero trust PAM in AWS checklist

  • No human IAM users with access keys or console passwords, except documented exceptions.
  • Every human signs in through IAM Identity Center with MFA.
  • No permanent assignment of administrator-level permission sets in production accounts.
  • Session duration set per permission set, shortest for the most powerful roles.
  • Requests for sensitive roles carry a reason and pass an approval that scales with risk.
  • Organisation trail enabled in all regions; SCPs deny changes to it.
  • Workloads and pipelines use IAM roles and temporary credentials, not stored keys.
  • Unused roles, keys and permissions reviewed on a schedule.
  • Early session revocation tested and timed.
  • Break-glass access under dual control, alerted, recorded and reviewed.

Next steps

Zero trust PAM in AWS combines per-session, least-privilege grants with organisation guardrails, a trail that member accounts cannot switch off, and controls inside the session. AWS provides the building blocks; a gateway such as SWOT Cloud PAM adds the approval flow, inline blocking and a tamper-evident record. See how it fits on the cloud access solution page, read our guide to just-in-time access in the cloud, or book a demo.

Questions

Does IAM Identity Center provide just-in-time access on its own?

Not as a full workflow. Identity Center assigns permission sets and controls session duration, from 1 to 12 hours. For request, approval and tracking of temporary elevated access, AWS points customers to validated partner solutions that integrate with Identity Center, or you build the workflow yourself.

Is MFA enough for zero trust on AWS?

No. MFA raises confidence in who signed in, but a standing administrator role remains usable for the whole session and by anyone who steals that session. Zero trust also needs least-privilege roles, time-bound grants, guardrails such as SCPs, and monitoring of what the session does after sign-in.

Should the management account be used for daily administration?

No. SCPs do not affect users or roles in the management account, so privileged work there is not limited by your organisation guardrails. Keep the management account for organisation-level tasks, protect it with strong MFA, and run day-to-day administration in member accounts where SCPs apply.

How do we keep emergency access without a standing admin role?

Define a break-glass path before removing standing access. AWS recommends setting up emergency access to the console. Keep the credentials under dual control, alert on every use, record the session and review it afterwards, and test the procedure on a schedule so it works during an incident.

Sources

  1. NIST: SP 800-207 Zero Trust Architecture
  2. AWS: Security best practices in IAM
  3. AWS: Temporary security credentials in IAM
  4. AWS IAM Identity Center: Set session duration for AWS accounts
  5. AWS IAM Identity Center: Temporary elevated access for AWS accounts
  6. AWS Organizations: Service control policies (SCPs)
  7. AWS CloudTrail: Creating a trail for an organization
  8. AWS: IAM Access Analyzer findings
  9. AWS: Revoke IAM role temporary security credentials

Products in this post

Keep reading

See it on your own systems

A walk-through of the products with the team that builds them.

Book a demoAll articles