ちゃんるいすのブログ

オタクエンジニアの雑記

Cloudflare を使って特定のサイトにアクセスする際に Google OAuth を要求する「Access」が便利


Cloudflare 使いこなしてますか?機能多すぎて全部試しきれてないです。

やりたいこと

特定のサイトにアクセスする際に、Google OAuthを要求して特定のメールアドレスのときだけ許可をしたい。
だけど、特定の IP からのときだけはバイパスしたい。

Cloudflare Access

やりたいこと が何も詰まることなく Cloudflare Access で実現できる。
ちなみに5ユーザーまで $3/月 で使える。

www.cloudflare.com

認証方法は各認証サービスに加えて、IP でも出来る。あと、特定の○○のときだけ認証してそれ以外は無条件に許可とかも出来る。
認証サービスは Basic である $3/月 だと

が使える。

$5/月 だと

  • Azure AD
  • Centrify
  • G Suite
  • Okta
  • OneLogin
  • OIDC Provider
  • SAML

が使える。

やってみる

f:id:rarirureluis:20190602225010p:plain
Login Methods を作る

f:id:rarirureluis:20190602225118p:plain
zabbix.hoge.com に対してポリシーを付与する

f:id:rarirureluis:20190602225356p:plain
メールのドメインでも指定できるよ

確認する

ポリシーを適用したドメインにアクセスすると下記のように Google のログイン画面が出てくる。

f:id:rarirureluis:20190602225755p:plain
現在は Google のみ有効なのでこうなる
問題なくアクセスできることを確認。

今度はバイパスとして設定した特定の IP からのみのアクセス

$ root@centos ~ # ❯❯❯ curl -IL https://zabbix.hoge.com -o /dev/null -w '%{http_code}\n' -s
200

次回は Go で Cloudflare Workers KV について書くンゴ