Control: S3 public access should be blocked at bucket levels
Description
Ensure that AWS Simple Storage Service (AWS S3) buckets are publicly accessible. This rule is non-compliant if an AWS S3 bucket is not listed in the excludedPublicBuckets parameter and bucket level settings are public.
Usage
Run the control in your terminal:
powerpipe control run aws_compliance.control.s3_public_access_block_bucket
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.s3_public_access_block_bucket --share
SQL
This control uses a named query:
select arn as resource, case when block_public_acls and block_public_policy and ignore_public_acls and restrict_public_buckets then 'ok' else 'alarm' end as status, case when block_public_acls and block_public_policy and ignore_public_acls and restrict_public_buckets then name || ' all public access blocks enabled.' else name || ' not enabled for: ' || concat_ws(', ', case when not block_public_acls then 'block_public_acls' end, case when not block_public_policy then 'block_public_policy' end, case when not ignore_public_acls then 'ignore_public_acls' end, case when not restrict_public_buckets then 'restrict_public_buckets' end ) || '.' end as reason , region, account_idfrom aws_s3_bucket;