Skip to content

Commit d7ebf3e

Browse files
committed
Use S3 OAC instead of OAI
1 parent f40272a commit d7ebf3e

File tree

1 file changed

+20
-8
lines changed

1 file changed

+20
-8
lines changed

cloudformation/main.yml

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -618,11 +618,14 @@ Resources:
618618
WebsiteConfiguration:
619619
IndexDocument: index.html
620620

621-
CloudFrontOriginAccessIdentity:
622-
Type: AWS::CloudFront::CloudFrontOriginAccessIdentity
621+
AppCloudfrontS3OAC:
622+
Type: AWS::CloudFront::OriginAccessControl
623623
Properties:
624-
CloudFrontOriginAccessIdentityConfig:
625-
Comment: !Sub "Access identity for ${AppFrontendS3Bucket} and ${AppDocsS3Bucket}"
624+
OriginAccessControlConfig:
625+
Name: InfraCoreApi OAC
626+
OriginAccessControlOriginType: s3
627+
SigningBehavior: always
628+
SigningProtocol: sigv4
626629

627630
AppFrontendCloudfrontDistribution:
628631
Type: AWS::CloudFront::Distribution
@@ -633,11 +636,13 @@ Resources:
633636
- Id: S3WebsiteOrigin
634637
DomainName: !GetAtt AppFrontendS3Bucket.RegionalDomainName
635638
S3OriginConfig:
636-
OriginAccessIdentity: !Sub "origin-access-identity/cloudfront/${CloudFrontOriginAccessIdentity}"
639+
OriginAccessIdentity: ''
640+
OriginAccessControlId: !GetAtt AppCloudfrontS3OAC.Id
637641
- Id: S3DocsOrigin
638642
DomainName: !GetAtt AppDocsS3Bucket.RegionalDomainName
639643
S3OriginConfig:
640-
OriginAccessIdentity: !Sub "origin-access-identity/cloudfront/${CloudFrontOriginAccessIdentity}"
644+
OriginAccessIdentity: ''
645+
OriginAccessControlId: !GetAtt AppCloudfrontS3OAC.Id
641646
- Id: LambdaOrigin
642647
DomainName: !Select [0, !Split ['/', !Select [1, !Split ['https://', !GetAtt AppLambdaUrl.FunctionUrl]]]]
643648
CustomOriginConfig:
@@ -762,9 +767,12 @@ Resources:
762767
Statement:
763768
- Effect: Allow
764769
Principal:
765-
CanonicalUser: !GetAtt CloudFrontOriginAccessIdentity.S3CanonicalUserId
770+
Service: cloudfront.amazonaws.com
766771
Action: s3:GetObject
767772
Resource: !Sub "${AppFrontendS3Bucket.Arn}/*"
773+
Condition:
774+
StringEquals:
775+
AWS:SourceArn: !Sub "arn:aws:cloudfront::${AWS::AccountId}:distribution/${AppFrontendCloudfrontDistribution}"
768776

769777
AppDocsS3BucketPolicy:
770778
Type: AWS::S3::BucketPolicy
@@ -775,9 +783,13 @@ Resources:
775783
Statement:
776784
- Effect: Allow
777785
Principal:
778-
CanonicalUser: !GetAtt CloudFrontOriginAccessIdentity.S3CanonicalUserId
786+
Service: cloudfront.amazonaws.com
779787
Action: s3:GetObject
780788
Resource: !Sub "${AppDocsS3Bucket.Arn}/*"
789+
Condition:
790+
StringEquals:
791+
AWS:SourceArn: !Sub "arn:aws:cloudfront::${AWS::AccountId}:distribution/${AppFrontendCloudfrontDistribution}"
792+
781793

782794
CloudfrontNoCachePolicy:
783795
Type: AWS::CloudFront::CachePolicy

0 commit comments

Comments
 (0)