rspec/rules/S6270/python/rule.adoc

58 lines
1.2 KiB
Plaintext
Raw Normal View History

include::../description.adoc[]
include::../ask-yourself.adoc[]
include::../recommended.adoc[]
== Sensitive Code Example
This policy allows all users, including anonymous ones, to access an S3 bucket:
[source,python]
----
from aws_cdk.aws_iam import PolicyStatement, AnyPrincipal, Effect
from aws_cdk.aws_s3 import Bucket
bucket = Bucket(self, "ExampleBucket")
bucket.add_to_resource_policy(PolicyStatement(
effect=Effect.ALLOW,
actions=["s3:*"],
resources=[bucket.arn_for_objects("*")],
principals=[AnyPrincipal()] # Sensitive
))
----
== Compliant Solution
This policy allows only the authorized users:
[source,python]
----
from aws_cdk.aws_iam import PolicyStatement, AccountRootPrincipal, Effect
from aws_cdk.aws_s3 import Bucket
bucket = Bucket(self, "ExampleBucket")
bucket.add_to_resource_policy(PolicyStatement(
effect=Effect.ALLOW,
actions=["s3:*"],
resources=[bucket.arn_for_objects("*")],
principals=[AccountRootPrincipal()]
))
----
include::../see.adoc[]
ifdef::env-github,rspecator-view[]
'''
== Implementation Specification
(visible only on this page)
include::../message.adoc[]
include::../highlighting.adoc[]
endif::env-github,rspecator-view[]