+- **Web UI CloudFront origin access: OAI → OAC (#369)** — The CloudFront-hosted Web UI now reads its S3 origin (`WebUIBucket`) using **Origin Access Control (OAC)** instead of the legacy **Origin Access Identity (OAI)**. The distribution origin references a new `AWS::CloudFront::OriginAccessControl` resource (SigV4, `SigningBehavior: always`), and the `WebUIBucketPolicy` now grants `s3:GetObject` to the `cloudfront.amazonaws.com` service principal scoped by an `AWS:SourceArn` condition matching this distribution — strictly tighter than the previous shared canonical-user grant. This fixes a **403 / Access Denied** loading the Web UI in accounts whose org-level SCP or data-perimeter guardrails silently deny legacy OAI requests to S3 (OAI requests carry no `aws:SourceAccount`/`aws:SourceArn` and are blocked). OAC is the AWS-recommended successor to OAI. **Upgrade is in-place and non-disruptive:** the CloudFront distribution keeps the same domain name (existing Web UI URLs and the welcome-email link continue to work), and `WebUIBucket` is unaffected. GovCloud and ALB-hosted deployments are unchanged — the resource is gated on `WebUIHosting=CloudFront`.
0 commit comments