terraform S3/CloudFront/Route53/ACM

https://tech.lucheholdings.com/entry/2018/09/25/220855 2018

CloudFront + S3のWebサイトをTerraformで構築する | DevelopersIO 2021

ベーシック認証 CloudFront Functions

CloudFrontにTerraformを使ってベーシック認証を設定する – wiki.kazuma.tokyo

参考

このBasic認証をCloudFront + S3という構成で掛けたい場合の実装は、今まではLambda@Edgeを使う場合が多かったですが、最近リリースされた、よりユーザーに近いロケーションでより高速な処理が可能なCloudFront Functionsでも実装が可能です。
[AWS CDK] CloudFront FunctionでWebサイトにBasic認証をかける | DevelopersIO 2021

Terraform で SPA を配信する HTTPS 静的サイトのインフラを構築する[Route53 + ACM + CloudFront + S3 + CloudFront Functions(Basic 認証 + α)] | Grasswake‘s Blog 2021 Lambda

IAMユーザ

ここでterraform applyするとクレデンシャルどうなるの?と思いますが!!
手動でアクセスキーの作成をしましょう。
[AWS][Terraform]IAMユーザーを作成してポリシーをアタッチするまでを自動化してみた!! – ADACHIN SERVER LABO 2018

AWS IAM User と Policy で S3 にアップロードしか出来ないユーザを作る - Qiita 2019