Webアプリケーション開発において、本番環境へ変更を反映する前の最終確認の場としてステージング環境を用意するのは一般的です。本番環境を再現したステージング環境において唯一異なるのが、パブリックなアクセスを制限しなければならないということです。
Cloudflare Zero Trustを使えば、ステージング環境で必要になるようなアクセス制限をユーザー認証として簡単にかけることができます。
この記事では、Cloudflare Zero Trustを使ったアクセス制限の設定方法を紹介します。
Cloudflare Zero Trustで認証によるアクセス制限を追加するにはCloudflareでドメインを管理していること(Cloudflareではウェブサイトと呼びます)が条件となります。
ウェブサイトの追加はCloudflareダッシュボードから行えます。
![Image in a image block](/_astro/fe4ef706-3cbb-4d6e-9cde-3f0dbf83085c.iMV09P7a_dCHJb.webp)
Zero Trustへはダッシュボードのメニューから遷移します。
![Image in a image block](/_astro/a9b42a4f-aa73-4373-a993-8b784e4361ff.C5Nui91e_Z1Hbblx.webp)
Zero Trustのダッシュボードを開いたらAccess > Applicationsの順に進み「+ Add an application」からアクセス制限をかけたいアプリケーションを追加します。
![Image in a image block](/_astro/877a9acf-1718-4b83-ba3f-a3a8cca8f953.DcIkEwAI_Z2dTAuT.webp)
今回は自身でホストしているウェブサイトにアクセス制限をかけるため「Self-hosted」を選択します。
![Image in a image block](/_astro/0b2cb0b8-e1e0-4347-b24c-bec7a702ce73.BeRCQBmc_2e6NRA.webp)
次に、アクセス制限をかけたいアプリケーションの設定名とドメイン情報を入力します。ドメインはCloudflare Websitesに登録しているものから選択することができます。
Session Durationでは認証セッションをどの期間で期限切れとして扱うかを設定できます。認証後、この期間が経過すると再度認証が必要になります。
![Image in a image block](/_astro/2d52bc86-344b-496d-8f43-bce0e709f145.CSDcVgnb_Z2qPzUj.webp)
次のページで、アクセス制限に追加するポリシーを設定します。
ポリシー名を適当に入力しておきます。この例は許可ポリシーのみ設定しますが、他にもブロック、バイパス、サービス認証を選択することができます。また、ポリシー個別のセッション期限を設定することもできます。
![Image in a image block](/_astro/9caace9e-6d9a-4a42-b1ed-67e0348c4381.BhptZtI8_ZWdh1e.webp)
ポリシーに追加するルールとして、具体的に何を持って認証を許可するかを設定します。会社などで固定のIPアドレスを保有している場合はIPアドレスが、そうでない場合はEmailアドレスが便利です。
![Image in a image block](/_astro/5e885572-9d2e-4043-b71e-f7d1f7a34a36.Be2IaTPs_Zqigyr.webp)
![Image in a image block](/_astro/7e2a0eb4-2603-4a1f-aa3d-73751b245597.CS-CWztM_hMb35.webp)
最後のページではCORSやCookieの設定を任意で追加することができます。
Zero TrustとCORSについては以前このブログで取り上げたので、興味のある方は下記の記事をご覧ください。
![Image in a image block](/_astro/1223f900-d03b-479d-8193-c1f6a8ae972c.BkhiOcMw_BfAoy.webp)
設定完了後、アクセス制限をかけたページにアクセスしてみると認証ページが表示されます。下記はEmailを選択した例です。
![Image in a image block](/_astro/1421874e-111d-4e48-9932-44e0d08b49d8.CtzxRcU__Z1rAGEb.webp)
ルールに登録したメールアドレスを入力すると、認証用のURLがメールに送られてきます。
![Image in a image block](/_astro/5681e3f7-fb6e-4562-ad8c-5580f75f3415.CamwUgUx_Zj3NoK.webp)
URLをクリックすると制限のかかったページにアクセスすることができます。
メールアドレスによる認証ではパスワードなどを入力する必要がないため非常に体験が良くおすすめです。
以上です。この記事ではCloudflare Zero Trustを使ったアクセス制限の設定方法を紹介しました。
コメントを送る
コメントはブログオーナーのみ閲覧できます