Skip to main content

AWS IAM — Overview

Status: Scaffold — content in progress

AWS Identity and Access Management (IAM) controls authentication and authorization for all AWS API calls. Unlike AD where the protocol is Kerberos, in AWS every action is an API call signed with credentials.

IAM Principals

TypeDescriptionAttack Risk
IAM UserLong-term credentials (access key + secret)Key leakage, no rotation
IAM RoleAssumed temporarily via STSRole chaining, SSRF → IMDS
Federated UserExternal identity via SAML/OIDCGolden SAML
AWS ServiceResource-based policy targetsCross-service privilege escalation
Root AccountGod-mode — no restrictionsMust be locked with MFA

Policies

TypeAttached ToScope
Identity-basedUser/Role/GroupWhat the principal can do
Resource-basedS3 bucket, SQS, etcWho can access the resource
Permission boundaryUser/RoleMaximum permissions cap
SCP (Organizations)Account/OUOrganization-wide cap

Privilege Escalation Primitives

  • iam:PassRole — pass a higher-privilege role to a service
  • iam:AttachUserPolicy — attach new policy to self
  • iam:CreateLoginProfile — create console access for user without it
  • iam:CreateAccessKey — create new access keys for another user
  • lambda:CreateFunction + iam:PassRole — create Lambda that runs with high-privilege role

Telemetry

AWS CloudTrail logs every API call: principal, action, resource, source IP, response. Key events: AssumeRole, GetSessionToken, AttachUserPolicy, CreateUser, CreateAccessKey

TopicLink
AWS STSaws-sts
Hybrid Attack Chainshybrid-attack-chains