Amazon CloudFrontでBasic認証で公開するメモ。
事前準備
- Amazon CloudFrontとAmazon S3でWebSiteの公開まで
Amazon CloudFront #001 - Amazon S3と組み合わせて公開
関数 → 「関数を作成」をクリック。
関数名と説明を設定 → 「関数を作成」をクリック。
CloudFront FunctionsでBasic認証をする関数を設定します。
function handler(event) {
var request = event.request;
var headers = request.headers;
// ユーザーとパスワード設定
var user = 'ユーザーを設定';
var pass = 'パスワードを設定';
var authValue = 'Basic ' + (user + ':' + pass).toString('base64');
if (typeof headers.authorization === 'undefined' || headers.authorization.value !== authValue) {
var response = {
statusCode: 401,
statusDescription: 'Unauthorized',
headers: {'www-authenticate': {value:'Basic'}}
};
return response;
} else {
return request;
}
}
発行 → 「関数を発行」をクリック。
関数作成後関連付けのメニューが表示されるので「関連付けを追加」をクリック。
対象のディストリビューション・イベントタイプ・キャッシュビヘイビアを設定 → 「関連付けを追加」をクリック。
関連付けされたかを確認。
URLにアクセスするとユーザーとパスワードの入力画面が表示されます。
設定したユーザーとパスワードを入力するとWebSiteが表示されます。