Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update public-accessibility-logic.md for S3 #20306

Merged
merged 5 commits into from
Dec 11, 2023
Merged
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -35,21 +35,10 @@ The following section details on a resource-by-resource basis the logic behind p

An [S3 Bucket][1] (`aws_s3_bucket`) is considered publicly accessible if:

* _ACL-determined access:_

| **Criteria** | **Explanation** |
|--------------|-----------------|
|The bucket's `public_access_block_configuration` and the bucket account's public access block (`aws_s3_account_public_access_block`) both have `ignore_public_acls` set to `false`. |An Access Control List (ACL) defines the AWS accounts and groups that are granted access to this bucket. With `ignore_public_acls` set to `false`, the bucket's configuration permits the use of an ACL that allows public access. |
|The bucket's grant list contains a URI value of `http://acs.amazonaws.com/groups/global/AllUsers` or `/AuthenticatedUsers`. |`AllUsers` gives anyone in the world access to the bucket. `AuthenticatedUsers` gives any AWS authenticated user in the world access to the bucket. |

***OR***

* _Bucket Policy-determined access:_

| **Criteria** | **Explanation** |
|--------------|-----------------|
|The bucket's `public_access_block_configuration` and the bucket account's public access block (`aws_s3_account_public_access_block`) both have `ignore_public_acls` set to `false`. |An Access Control List (ACL) defines the AWS accounts and groups that are granted access to this bucket. With `ignore_public_acls` set to `false`, the bucket's configuration permits the use of an ACL that allows public access. |
|The bucket's policy statement allows the `s3:GetObject` permission unconditionally, with resource and principal set to `"*"`. |This defines a public policy on the bucket, meaning that cross-account access is allowed. `"*"` is a wildcard, meaning access is given to any resource and principal. |
|The bucket policy allows the `s3:GetObject` permission unconditionally, with resource and principal set to `"*"`. |This defines a public policy on the bucket, meaning that unauthenticated access is allowed. `"*"` is a wildcard, meaning access is given to any resource and principal. |
| Both of the bucket's `public_access_block_configuration` and the AWS account's public access block (`aws_s3_account_public_access_block`) have `restrict_public_buckets` set to `false`. | None of the bucket's or account's explicitely blocks public access, meaning that the public bucket policy takes effect. |
danieldebeer-dd marked this conversation as resolved.
Show resolved Hide resolved

See [Blocking public access to your Amazon S3 storage][2] for more information.

Expand Down
Loading