CloudFront Functionを使用したRefererのチェックとアクセス制御

2023年4月3日2023年6月4日

CloudFront Functionを使用してRefererをチェックし、アクセス制御を実装する方法は以下の手順になります。

  1. AWSのコンソールにログインし、CloudFrontのページにアクセスします。

  2. CloudFrontのページで、使用するDistributionを選択して、Behaviorsのタブをクリックします。

  3. Behaviorsの一覧から、制御を実装するBehaviorを選択し、Editをクリックします。

  4. Edit Behaviorページで、Lambda Function AssociationsのCloudFront Functionsのリンクをクリックします。

  5. Lambda Function Associationsページで、Viewer Requestを選択し、Add Lambda Function Associationをクリックします。

  6. Lambda Function Association設定ページで、以下のように設定します。

    • CloudFront Event: Viewer Request
    • Include Body: No
    • Lambda Function ARN: RefererをチェックするLambda FunctionのARNを指定
  7. 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' }; } }
  1. Lambda Functionのコードを保存し、Lambda Function ARNをメモします。

  2. Lambda Function Association設定ページで、保存したLambda Function ARNを指定し、Saveをクリックします。