Description: Creating Amazon S3 bucket from CloudFormation
Parameters:
EnvironmentName:
Description: An environment name that is prefixed to resource names
Type: String
Default: "wsi"
Resources:
S3Bucket:
Type: "AWS::S3::Bucket"
Description: "S3 Bucket"
Properties:
BucketName: !Sub ${EnvironmentName}-buckets-2025
AccessControl: Private
PublicAccessBlockConfiguration:
BlockPublicAcls: true
BlockPublicPolicy: true
IgnorePublicAcls: true
RestrictPublicBuckets: true
BucketEncryption:
ServerSideEncryptionConfiguration:
- ServerSideEncryptionByDefault:
SSEAlgorithm: AES256
VersioningConfiguration:
Status: Enabled
S3BucketPolicy:
Type: AWS::S3::BucketPolicy
Properties:
Bucket: !Ref S3Bucket
PolicyDocument:
Version: "2012-10-17"
Statement:
- Action:
- "s3:PutObject"
Effect: Allow
Principal:
AWS: arn:aws:iam::600734575887:root
Resource: !Sub "${S3Bucket.Arn}/*"
Outputs:
S3Bucket:
Description: "S3 Bucket"
Value: !Ref S3Bucket
Export:
Name:
"Fn::Sub": "${AWS::StackName}-S3Bucket"
S3BucketPolicy:
Description: "S3 Bucket Policy"
Value: !Ref S3BucketPolicy
Export:
Name:
"Fn::Sub": "${AWS::StackName}-S3Bucket-Policy"