結論
内部アプリは、Cloudflare Access の Google ログインで
fumiya89@gmail.com と h.fumiya@joshuatree.jp だけを許可する方針です。
viamarina は別ルールで、info@viamarina.jp、
fumiya89@gmail.com、h.fumiya@joshuatree.jp、
kazuya13@gmail.com を許可します。この条件を満たしている限り、
未ログインの人はアプリ本文にも API にも到達できません。
- Cloudflare Access はリクエストごとに認証済みトークンを検査する
- Allow policy に一致しないメールアドレスは拒否される
.envや API トークンは dashboard に同期しない- Pages の preview URL も別途 Access policy を有効化する
- production の
pages.dev直アクセスは 200 を返さない状態にする
安全と言える条件
| 条件 | 理由 |
|---|---|
| Access policy が2メールだけを Allow | ログインしても許可メール以外は Cloudflare 側で止まる |
| preview deployment に Access policy | hash付き preview URL が漏れても閲覧できない |
pages.dev 本番直アクセスをブロックまたはAccess配下へ移す |
カスタムドメインだけ守っても、直URLが200なら公開扱いになる |
| viamarina は専用許可メール | info@viamarina.jp を含む計4メールだけを許可する |
| 健康診断を定期実行 | 新規アプリ・preview・設定漏れを赤表示で検知できる |
健康診断
総合
読み込み中
保護対象
-
最終診断
-
運用ルール
- 新しい Cloudflare Pages アプリを作ったら、必ず保護対象に入れる
- viamarina は
master.viamarina-tasks.pages.devを対象に、info@viamarina.jp/fumiya89@gmail.com/h.fumiya@joshuatree.jp/kazuya13@gmail.comを許可する - Access 設定後に
python3 scripts/security-health-check.pyを実行する public_200が出たアプリは未ログインで本文が見えているので要対応- 健康診断結果は
public/security-health.jsonとdocs/security-health-latest.mdに残す