概要
CloudFrontのオリジンアクセスアイデンティティを使用して、CloudFront経由でのみS3バケット内のコンテンツにアクセスさせてみます。
手順
CloudFrontのオリジンの設定で以下のように設定します。
RestrictBucketAccessをYesに、
Origin Access IdentityをCreate a New Identityに、
Grant Read Permissions on BucketをYes, Update Bucket Policyにします。

すると以下のようにオリジンに設定したバケットのバケットポリシーが自動で設定されます。

確認
S3バケットに直接アクセスすると以下のようにAccess Deiniedになります。

しかし、CloudFrontのDNS名経由ではアクセスすることができます。

おわりに
セキュアですね。
