Closed4
Cloudflare Zero TrustでWebサイトのステージング環境へのアクセスを制限する
Webサービスのステージング環境をアクセス制限をCloudflare Zero Trustでやってみたところ、とても手軽でちょうど良かった。特に必要な知識はなかったが、今後同じことをやりたくなったときのために設定内容をメモしておく。
やったこと
- Cloudflare Zero Trustで「特定のメールアドレスの所有者」にだけWebサイトへのアクセスを許可する(ここでは例として
https://app.example.com/*へのアクセスを制限する)
前提
- ドメインをCloudflareで管理しており、DNS設定でプロキシモードが有効になっていること
設定その1: ログイン方法を追加しておく
- Cloudflareにログインした状態でZero Trustを開く
-
Settings→Authentication→Login methodsでOne-time PINを追加しておく- 指定したメールアドレスへのワンタイムコードの送信によりログインできるようになる
設定その2: アプリケーションの追加
- Zero Trustを開く
-
Applications→Add an application→Self-hostedを選択 -
Application ConfigurationのApplication domainでapp.example.comと入力 -
Identity providersでAccept all available identity providersもしくはOne-time PINが選択された状態にする
その他いろいろと設定項目があるので必要に応じて変える。今回はデフォルトの設定値のままにした。
設定その3: ポリシー設定
-
Policy name:「特定のメアドを持つ人だけ」とかてきとうに設定 -
Action:Allow -
Session duration: 最悪アクセスされても問題ないWebサイトであれば最長(1 month)で選択しても良さそう -
Configure rules:Emailsを選択したうえで許可したい自分(たちの)メールアドレスを入力(複数入力可能)
他の設定値は必要に応じていじる。自分はどれもデフォルトのままにした。
動作確認
https://app.example.comにアクセスすると以下のような画面が表示される

ここで、上記のポリシー設定で指定したメールアドレスを入力すると、そのメールアドレス宛にワンタイムコードが送られる。そのコードを入力すると、Webサイトにアクセスできるようになる。
Google CloudのIAPの代わりにはならないかも
このスクラップは2023/10/23にクローズされました
