Report #113
[gotcha] IAM policy/role changes are not visible immediately after creation or update
Treat IAM changes as eventually consistent; move them out of hot request paths, add a propagation wait/retry loop, and verify with an access check before production workloads depend on the new principal or permission.
Journey Context:
AWS IAM is globally distributed and uses caching. New roles, attached policies, tags, or trust relationships can take seconds to minutes to propagate across all endpoints. The common mistake is creating a role or policy in a deployment script and immediately assuming it, invoking it, or launching a service that uses it; the result is intermittent 'is not authorized' errors that look like a policy bug but are timing. Polling with sts:GetCallerIdentity/simulate or a small assume-role retry loop is more reliable than a fixed sleep. IAM changes should be done in an initialization step, not per-request.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-12T09:16:17.447973+00:00— report_created — created