Skip to main content

AWS IAM Policy Generator

Build AWS IAM policy JSON visually. Select the AWS service, toggle individual actions, set the resource ARN, and optionally add conditions — then copy the valid policy JSON ready to paste into the AWS Console or Terraform.

✓ 60K+ developers trust DevPlaybook ✓ Runs 100% in your browser ✓ 10+ AWS services supported

Frequently Asked Questions

What is an AWS IAM policy?▼

An IAM (Identity and Access Management) policy is a JSON document that defines permissions in AWS. It specifies what actions are allowed or denied, on which resources, and under what conditions. Policies are attached to IAM users, groups, or roles to grant or restrict access.

What is the difference between Allow and Deny?▼

By default everything is denied. Allow explicitly permits an action. Deny explicitly blocks it and overrides any Allow. If multiple policies apply, an explicit Deny always wins — even if another policy allows the same action. Use Deny sparingly, usually for security guardrails.

What does '*' mean as a resource?▼

The wildcard '*' means all resources of the matched type. For example, Action: s3:ListBucket with Resource: '*' allows listing all S3 buckets. For tighter security, specify exact ARNs like arn:aws:s3:::my-specific-bucket.

What is an ARN?▼

An Amazon Resource Name (ARN) uniquely identifies any AWS resource. Format: arn:partition:service:region:account-id:resource. For example, arn:aws:s3:::my-bucket or arn:aws:lambda:us-east-1:123456789012:function:my-function. S3 bucket ARNs omit region and account ID.

What are IAM conditions?▼

Conditions add extra constraints to when a policy applies. Common examples: aws:SourceIp to restrict by IP range, aws:SecureTransport to require HTTPS, aws:RequestedRegion to restrict to specific AWS regions, aws:MultiFactorAuthPresent to require MFA.

What is the principle of least privilege?▼

Least privilege means granting only the minimum permissions required to perform a task. Instead of s3:* (all S3 actions), grant only the specific actions needed — e.g., s3:GetObject and s3:ListBucket. This limits the blast radius if credentials are compromised.

Share this tool: X / Twitter LinkedIn
✓ 60,000+ developers use DevPlaybook ★★★★★ 4.8 / 5 on Gumroad ✓ MIT licensed · Instant download ✓ No login required

Related Products

on Gumroad

You Might Also Need

More Free Tools

Enjoying this tool? Get more like it.

Weekly developer tool guides, productivity playbooks & AI tricks. Free. No spam.

DevPlaybook Pro 7 days free

Unlock AI-Powered Dev Tools

  • ⚡ AI Code Review, Doc Generator & SQL Builder
  • ⚡ All premium templates & early access
  • ⚡ Member discounts on Gumroad products
Start Free Trial →

$9/mo after trial · Cancel anytime

Want the full toolkit?

Get DevPlaybook Pro

Every template, guide, boilerplate, and automation script in one bundle. 13 premium products — grab them all at once and save big.

$79
$241 separately Save $162 (67% off)
Get DevPlaybook Pro — $79 →

MIT licensed · Instant download · No subscription

See what's included → Browse all deals →