Ensure that the content permissions of your Amazon S3 buckets can't be viewed by anonymous users in order to protect your S3 data against unauthorized access. An Amazon S3 bucket that grants public READ_ACP (VIEW) access can allow everyone on the Internet to examine your Access Control List (ACL) configuration and find permission vulnerabilities.
This rule can help you with the following compliance standards:
- PCI
- APRA
- MAS
- NIST4
For further details on compliance standards supported by Conformity, see here.
This rule can help you work with the AWS Well-Architected Framework.
This rule resolution is part of the Conformity Security & Compliance tool for AWS.
Granting public READ_ACP access to your Amazon S3 buckets can enable the unauthorized users to see who controls your S3 objects and how. Malicious users can use this information to find S3 objects with misconfigured permissions and try probing techniques to facilitate access to your Amazon S3 data. To meet security and compliance requirements, avoid granting READ_ACP (VIEW) permissions to the "Everyone (public access)" grantee in production.
Audit
To determine if your Amazon S3 buckets are configured to allow public READ_ACP access, perform the following operations:
Remediation / Resolution
To restrict public READ_ACP access to your Amazon S3 buckets using Access Control Lists (ACLs), perform the following operations:
Note: An S3 bucket can be deemed compliant if implements either"AccessControl": "Private"
or sets the "PublicAccessBlockConfiguration"
feature options to true
. The following CloudFormation template uses both for added security. References
- AWS Documentation
- Amazon S3 FAQs
- Access Control List (ACL) Overview
- Managing ACLs in the AWS Management Console
- Identity and access management in Amazon S3
- AWS Command Line Interface (CLI) Documentation
- s3api
- list-buckets
- get-bucket-acl
- put-bucket-acl
- CloudFormation Documentation:
- AccessControl
- Terraform Documentation:
- AWS Provider