Ensure that the content of your Amazon S3 buckets can't be listed by authenticated users (i.e. signed AWS accounts or IAM users) in order to protect your S3 data against unauthorized access. An Amazon S3 bucket that allows READ (LIST) access to authenticated users will provide AWS accounts or IAM users the ability to list the objects within the bucket and use the information acquired to find potential objects with misconfigured permissions and exploit them.
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 authenticated READ access to your Amazon S3 buckets can allow unauthorized users to list all the objects within your buckets and use this information to gain access to your data. To meet security and compliance requirements, avoid granting READ (LIST) permissions to the "Authenticated users group (anyone with an AWS account)" grantee in production.
Audit
To determine if your Amazon S3 buckets allow READ access to AWS authenticated users, perform the following actions:
Remediation / Resolution
To remove authenticated READ access permissions from your Amazon S3 bucket ACL, perform the following actions:
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
- Amazon S3 Bucket Public Access Considerations
- Access Control List (ACL) Overview
- Managing ACLs in the AWS Management Console
- Editing Bucket Permissions
- AWS Command Line Interface (CLI) Documentation
- s3api
- list-buckets
- get-bucket-acl
- put-bucket-acl
- CloudFormation Documentation
- Access Control
- Terraform Documentation
- AWS Provider