--- AWSTemplateFormatVersion: '2010-09-09' Resources: S3Bucket: Type: 'AWS::S3::Bucket' Properties: AccessControl: Private WebsiteConfiguration: IndexDocument: index.html ErrorDocument: error.html DeletionPolicy: Retain BucketPolicy: Type: 'AWS::S3::BucketPolicy' Properties: PolicyDocument: Id: MyPolicy Version: '2012-10-17' Statement: - Sid: PublicReadForGetBucketObjects Effect: Allow Principal: '*' Action: 's3:GetObject' Resource: !Join - '' - - 'arn:aws:s3:::' - !Ref S3Bucket - /* Bucket: !Ref S3Bucket SetSecurityPartition: DependsOn: BucketPolicy Type: Custom::SetSecurityPartition Properties: ServiceToken: !ImportValue PartitionPhaseAFunctionArn Outputs: WebsiteURL: Value: !GetAtt - S3Bucket - WebsiteURL Description: URL for website hosted on S3 S3BucketSecureURL: Value: !Join - '' - - 'https://' - !GetAtt - S3Bucket - DomainName Description: Name of S3 bucket to hold website content