Site cover image
Post title iconCloudflare Zero Trustを使ってステージング環境などに認証を追加する

Webアプリケーション開発において、本番環境へ変更を反映する前の最終確認の場としてステージング環境を用意するのは一般的です。本番環境を再現したステージング環境において唯一異なるのが、パブリックなアクセスを制限しなければならないということです。

Cloudflare Zero Trustを使えば、ステージング環境で必要になるようなアクセス制限をユーザー認証として簡単にかけることができます。

この記事では、Cloudflare Zero Trustを使ったアクセス制限の設定方法を紹介します。

前提条件

Cloudflare Zero Trustで認証によるアクセス制限を追加するにはCloudflareでドメインを管理していること(Cloudflareではウェブサイトと呼びます)が条件となります。

ウェブサイトの追加はCloudflareダッシュボードから行えます。

Image in a image block
ウェブサイトはダッシュボードから追加できる

Zero Trust設定方法

Zero Trustへはダッシュボードのメニューから遷移します。

Image in a image block
ダッシュボードにZero Trustへのリンクがある

Zero Trustのダッシュボードを開いたらAccess > Applicationsの順に進み「+ Add an application」からアクセス制限をかけたいアプリケーションを追加します。

Image in a image block
Zero Trustにアプリケーションを追加する

今回は自身でホストしているウェブサイトにアクセス制限をかけるため「Self-hosted」を選択します。

Image in a image block
アクセス制限をかけたいウェブサイトの性質によって選択する

次に、アクセス制限をかけたいアプリケーションの設定名とドメイン情報を入力します。ドメインはCloudflare Websitesに登録しているものから選択することができます。

Session Durationでは認証セッションをどの期間で期限切れとして扱うかを設定できます。認証後、この期間が経過すると再度認証が必要になります。

Image in a image block
設定名とドメイン情報を入力する

次のページで、アクセス制限に追加するポリシーを設定します。

ポリシー名を適当に入力しておきます。この例は許可ポリシーのみ設定しますが、他にもブロック、バイパス、サービス認証を選択することができます。また、ポリシー個別のセッション期限を設定することもできます。

Image in a image block
アクションではAllow, Block, Bypass, Service Authが選択可能

ポリシーに追加するルールとして、具体的に何を持って認証を許可するかを設定します。会社などで固定のIPアドレスを保有している場合はIPアドレスが、そうでない場合はEmailアドレスが便利です。

Image in a image block
ポリシーのルールの設定
Image in a image block
個別のメールアドレス以外にもIPアドレスも選択できる

最後のページではCORSやCookieの設定を任意で追加することができます。

Zero TrustとCORSについては以前このブログで取り上げたので、興味のある方は下記の記事をご覧ください。

Image in a image block
CORS, Cookieの設定をして完了

実際にアクセスしてみる

設定完了後、アクセス制限をかけたページにアクセスしてみると認証ページが表示されます。下記はEmailを選択した例です。

Image in a image block
認証ページが表示される

ルールに登録したメールアドレスを入力すると、認証用のURLがメールに送られてきます。

Image in a image block
登録したメールアドレスに認証用のURLが送られてくる

URLをクリックすると制限のかかったページにアクセスすることができます。

メールアドレスによる認証ではパスワードなどを入力する必要がないため非常に体験が良くおすすめです。

以上です。この記事ではCloudflare Zero Trustを使ったアクセス制限の設定方法を紹介しました。


💕
記事が参考になったら少額を寄付いただけると励みになります。
Thank you!
Thank you!
URLをコピーしました

コメントを送る

コメントはブログオーナーのみ閲覧できます