How broad are Trusted Advisor S3 checks?

0

Reading the documentation on the AWS S3 Block Public Access I see there are four ways to allow public access to S3:

  • access control lists (ACLs),
  • access point policies,
  • bucket policies, or
  • all.

Questions are:

  1. Does AWS Trusted Advisor check S3 permissions for all of these methods?

  2. If there are conflicts between these four ways, does AWS Trusted Advisor report the conflicts? For example I read online that AWS Trusted Advisor doesn't catch bucket policies that override ACLs. Are there other scenarios it doesn't catch?

  3. Do the AWS Trusted Advisor catch when CORS allows for open S3 bucket using the AllowedMethod Element?

1 Answer
0
Accepted Answer
  1. Trusted Advisor checks for ACL, which allows public list and public upload/delete permissions, and policy for statements that grant public access. It does not check for Access Point Policies.

  2. It checks the ACL and Bucket Policy, and if either of these allow any public access it will be flagged. If you have a conflict (i.e. a block and an allow) it will still report on the allow (from my testing at least!)

  3. No, TA only checks for ACL and/or policy

If your customer wants to block public access to buckets, the recommended way is to use the "Block Public Access" option on the bucket

The alert criteria is detailed in the Trusted Advisor console, these are the specific checks that it carries out Yellow: The bucket ACL allows List access for "Everyone" or "Any Authenticated AWS User". Yellow: A bucket policy allows any kind of open access. Yellow: Bucket policy has statements that grant public access. The “Block public and cross-account access to buckets that have public policies” setting is turned on and has restricted access to only authorised users of that account until public statements are removed. Yellow: Trusted Advisor does not have permission to check the policy, or the policy could not be evaluated for other reasons. Red: The bucket ACL allows Upload/Delete access for "Everyone" or "Any Authenticated AWS User".

AWS
EXPERT
answered 4 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions