A repository of AWS S3 Bucket policy templates and examples including customizable CloudFormation and AWS CLI scripts.

S3
Require SSL (encryption in-transit) to access the S3 Bucket.

A policy that denies any access to the S3 bucket that is not encrypted in-transit (uses HTTP instead of HTTPS).

CloudFormationTerraformAWS CLI
Prevent S3 Buckets and Objects from Allowing Public Access

A policy that denies an S3 bucket or any uploaded object with the attribute x-amz-acl having the values public-read, public-read-write, or authenticated-read. This means authenticated users cannot change the bucket's policy to public read or upload objects to the bucket if the objects have public permissions.

CloudFormationTerraformAWS CLI
Restrict Access to Specific IP Addresses

A policy that grants permissions to any user to perform any Amazon S3 operations on objects in the specified bucket. However, the request must originate from the range of IP addresses specified in the condition.

CloudFormationTerraformAWS CLI
Restricting Access to a Specific HTTP Referrer

A policy that allows s3:GetObject permission with a condition, using the aws:referer key, that the get request must originate from specific webpages.

CloudFormationTerraformAWS CLI
Require MFA for Bucket Access

A policy that denies any Amazon S3 operation on the bucket if the request is not MFA authenticated.

CloudFormationTerraformAWS CLI
Restrict S3 bucket read access to a Cloudfront origin

A policy that denies any requests to read objects in an S3 bucket that don't come from a specific Cloudfront distribution. You must specify the canonical user ID for your CloudFront distribution's origin access identity.

CloudFormationTerraformAWS CLI
Grant Read-Only Permission to any Anonymous User

A policy that grants the s3:GetObject permission to any public anonymous user.

CloudFormationTerraformAWS CLI
Grant AWS Config Access to the Amazon S3 Bucket

An S3 Bucket policy grants access to AWS Config to store its history files and snapshots on the S3 bucket.

CloudFormationTerraformAWS CLI
Grant AWS CloudTrail Access to the Amazon S3 Bucket

An S3 Bucket policy grants access to AWS CloudTrail to deliver log files to the S3 bucket.

CloudFormationTerraformAWS CLI
Grant AWS CloudTrail and AWS Config access to the Amazon S3 Bucket

An S3 Bucket policy grants access to AWS Config and AWS CloudTrail to deliver log files to the S3 bucket.

CloudFormationTerraformAWS CLI
Restrict Access to a Specific VPC

An S3 Bucket policy that denies all access to the bucket if the specified VPC is not being used to access the S3 bucket.

CloudFormationTerraformAWS CLI
Restrict Access to S3 Bucket to a Specific VPC Endpoint

An S3 Bucket policy that denies all access to the bucket if the specified VPC endpoint is not being used to access the S3 bucket.

CloudFormationTerraformAWS CLI
Allow All AWS Accounts in an AWS Organization Read Access

An S3 Bucket policy that allows all AWS accounts that belong to the specified AWS organization access to read all objects in the S3 bucket.

CloudFormationTerraformAWS CLI
Restrict Access to Specific IAM Users

An S3 Bucket policy that grants permissions to specific IAM users to perform any Amazon S3 operations on objects in the specified bucket, and denies all other IAM principals.

CloudFormationTerraformAWS CLI
Restrict Access to a Specific IAM Role

An S3 Bucket policy that grants permissions to a specific IAM roles to perform any Amazon S3 operations on objects in the specified bucket, and denies all other IAM principals.

CloudFormationTerraformAWS CLI