2021-05-21 18:34:30 +02:00
|
|
|
include::../description.adoc[]
|
|
|
|
|
|
|
|
include::../ask-yourself.adoc[]
|
|
|
|
|
|
|
|
include::../recommended.adoc[]
|
|
|
|
|
|
|
|
== Sensitive Code Example
|
|
|
|
|
2022-09-30 15:16:31 +02:00
|
|
|
This policy allows all users, including anonymous ones, to access an S3 bucket:
|
2021-05-21 18:34:30 +02:00
|
|
|
|
2023-05-05 11:12:16 +02:00
|
|
|
[source,yaml]
|
2021-05-21 18:34:30 +02:00
|
|
|
----
|
|
|
|
AWSTemplateFormatVersion: 2010-09-09
|
|
|
|
Resources:
|
|
|
|
S3BucketPolicy:
|
|
|
|
Type: 'AWS::S3::BucketPolicy' # Sensitive
|
|
|
|
Properties:
|
|
|
|
Bucket: !Ref S3Bucket
|
|
|
|
PolicyDocument:
|
|
|
|
Version: "2012-10-17"
|
|
|
|
Statement:
|
|
|
|
- Effect: Allow
|
|
|
|
Principal:
|
|
|
|
AWS: "*" # all principals / anonymous access
|
|
|
|
Action: "s3:PutObject" # can put object
|
|
|
|
Resource: arn:aws:s3:::mybucket/*
|
|
|
|
----
|
|
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
|
|
|
|
This policy allows only the authorized users:
|
|
|
|
|
2023-05-05 11:12:16 +02:00
|
|
|
[source,yaml]
|
2021-05-21 18:34:30 +02:00
|
|
|
----
|
|
|
|
AWSTemplateFormatVersion: 2010-09-09
|
|
|
|
Resources:
|
|
|
|
S3BucketPolicy:
|
|
|
|
Type: 'AWS::S3::BucketPolicy' # Compliant
|
|
|
|
Properties:
|
|
|
|
Bucket: !Ref S3Bucket
|
|
|
|
PolicyDocument:
|
|
|
|
Version: "2012-10-17"
|
|
|
|
Statement:
|
|
|
|
- Effect: Allow
|
|
|
|
Principal:
|
|
|
|
AWS:
|
|
|
|
- !Sub 'arn:aws:iam::${AWS::AccountId}:root' # only this principal
|
|
|
|
Action: "s3:PutObject" # can put object
|
|
|
|
Resource: arn:aws:s3:::mybucket/*
|
|
|
|
----
|
|
|
|
|
|
|
|
include::../see.adoc[]
|
2023-06-22 10:38:01 +02:00
|
|
|
|
2021-09-20 15:38:42 +02:00
|
|
|
ifdef::env-github,rspecator-view[]
|
|
|
|
|
|
|
|
'''
|
|
|
|
== Implementation Specification
|
|
|
|
(visible only on this page)
|
|
|
|
|
|
|
|
include::../message.adoc[]
|
|
|
|
|
|
|
|
endif::env-github,rspecator-view[]
|