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の代わりにはならないかも
StripeのWebhookを受け付けるには…
Webhook通知の送信元となりうるIP アドレスからのリクエストを許可するのが良さそう。
このスクラップは2023/10/23にクローズされました