An IAM Policy is a JSON document that defines permissions in AWS. It specifies which Actions (e.g., s3:GetObject) are Allowed or Denied on which Resources (e.g., arn:aws:s3:::my-bucket/*), optionally with Conditions (e.g., only from a specific IP range).
AWS first checks all policies for an explicit Deny (which always wins). Then it verifies SCPs allow the action. The effective permissions for an identity are the intersection of identity-based policies, permission boundaries, and session policies. Resource-based policies can independently grant same-account access. If nothing explicitly allows an action, it is implicitly denied.
"Action": "*" or "Resource": "*" - always scope to specific actions and resourcesaws:RequestedRegion, aws:PrincipalOrgID)The security principle of granting only the minimum permissions needed to perform a task - no more, no less.
An advanced IAM feature that sets the maximum permissions an IAM entity can have, acting as a ceiling on what identity-based policies can grant.
An organization-wide guardrail that restricts what actions member accounts can perform, regardless of their IAM policies.
A policy attached directly to an AWS resource (S3 bucket, SQS queue, KMS key) that defines who can access it, including principals from other accounts.
An AWS identity with temporary credentials that can be assumed by users, services, or applications to perform actions without long-term access keys.
Toc Consulting: AWS Security & Cloud Architecture
Our team helps engineering teams secure and architect AWS the right way: assessment in week one, a prioritized action plan in week two.