CloudFront Functionを使用したRefererのチェックとアクセス制御
2023年4月3日2023年6月4日![](https://dqcftei725g78.cloudfront.net/2023/06/05/0102/clihm2wjw00003t64t3wixrm6.webp)
![](https://dqcftei725g78.cloudfront.net/2023/06/04/1801/clih729cv0000356lwnzeqm93.webp)
CloudFront Functionを使用してRefererをチェックし、アクセス制御を実装する方法は以下の手順になります。
-
AWSのコンソールにログインし、CloudFrontのページにアクセスします。
-
CloudFrontのページで、使用するDistributionを選択して、Behaviorsのタブをクリックします。
-
Behaviorsの一覧から、制御を実装するBehaviorを選択し、Editをクリックします。
-
Edit Behaviorページで、Lambda Function AssociationsのCloudFront Functionsのリンクをクリックします。
-
Lambda Function Associationsページで、Viewer Requestを選択し、Add Lambda Function Associationをクリックします。
-
Lambda Function Association設定ページで、以下のように設定します。
- CloudFront Event: Viewer Request
- Include Body: No
- Lambda Function ARN: RefererをチェックするLambda FunctionのARNを指定
-
Lambda Functionのコードで、以下のようにRefererをチェックするロジックを実装します。
function handler(event) { var request = event.request; var headers = request.headers; var referer = headers.referer ? headers.referer.value : ''; // デフォルト値を空文字列に設定 if (referer === '正しいRefererの値') { return request; } else { return { statusCode: 403, statusDescription: 'Forbidden' }; } }
-
Lambda Functionのコードを保存し、Lambda Function ARNをメモします。
-
Lambda Function Association設定ページで、保存したLambda Function ARNを指定し、Saveをクリックします。