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,javascript] ---- import { aws_iam as iam } from 'aws-cdk-lib' import { aws_s3 as s3 } from 'aws-cdk-lib' const bucket = new s3.Bucket(this, "ExampleBucket") bucket.addToResourcePolicy(new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: ["s3:*"], resources: [bucket.arnForObjects("*")], principals: [new iam.AnyPrincipal()] // Sensitive })) ---- == Compliant Solution This policy allows only the authorized users: [source,javascript] ---- import { aws_iam as iam } from 'aws-cdk-lib' import { aws_s3 as s3 } from 'aws-cdk-lib' const bucket = new s3.Bucket(this, "ExampleBucket") bucket.addToResourcePolicy(new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: ["s3:*"], resources: [bucket.arnForObjects("*")], principals: [new iam.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[]