1. ASIA = temporary, AKIA = long-term.
2. Temporary credentials need the session token.
3. AssumeRole: default 1 h, max 12 h (role setting), chaining 1 h.
4. GetSessionToken: no IAM APIs without MFA; only AssumeRole/GetCallerIdentity in STS.
5. Trust policy = who; permissions policy = what.
6. Cross-account assume: trust policy and caller's sts:AssumeRole.
7. Recreated role → trust policy shows principal ID; re-add ARN.
8. ExternalId = cross-account confused deputy.
9. SourceArn / SourceAccount = cross-service confused deputy.
10. Revoke sessions = AWSRevokeOlderSessions on aws:TokenIssueTime.
11. Session tags need sts:TagSession; max 50.
12. Presigned URL: console 12 h, SDK 7 d, dies with signer creds.
13. s3:signatureAge caps URL age (milliseconds).
14. Roles Anywhere: trust anchor + profile + role trusting rolesanywhere.
15. ECS: task role = app; execution role = agent.
16. IRSA: AssumeRoleWithWebIdentity; pin sub.
17. Lambda: execution role = what it does; function policy = who invokes it.
18. GetFederationToken: IAM user calls it, up to 36 h, pass a session policy.
19. Outbound federation: sts:GetWebIdentityToken → JWT for an external service (default 5 min, max 1 h).