Summary ¶
Zero Trust のアカウント ¶
今回は GitHub のアカウントで認証する。
MFAのアカウント増やしたくないし、 Google アカウントでやると @gmail.com
になってしまったりログインする時に制約があるので GitHub に寄せておく。
そのさい、 Zero Trust では認証すると email フィールドに GitHub の Primary EMail が入るので Gmail などで label を使う設定をしていると ([email protected]
など) のちのちしようとしている SSH のアクセスを ブラウザでする機能でユーザー認証できない、ため注意する。
GitHub では Email の登録画面で登録した連絡先の Primary が認証時に CloudFlare に返ってくるのでこれを変更する。課題やトピック通知などは Notifications の Default notifications email
で選択された連絡先に送付されるため今まで通りとなった。
Tunnels を張る ¶
今回は pfSense のライセンス形態が変更されて新規ライセンスが有料となってしまったので OPNsense の載せ替えを検討していて損タイミングでの導入になる(どうせならグローバルIPで晒してないキレイな状態で CloudFlare に向けたほうがリスクが少ないからである)
切断通知の設定 ¶
CloudFlare の機能として Tunnel の切断時などに通知ができるようなので設定しておく
Dashboard での設定 ¶
Login methods ¶
GitHub の認証を追加
App Launcher ¶
App Launcher の設定を追加
Access groups ¶
Access groups の作成、最初に作っておくのが吉
Application の設定 ¶
弊宅では一般家庭なので 150 ほど Application を登録必要があるのがわかったのでいろいろ確認した結果、 Application ID を Tuneel の Public hostname に指定していくことで自動化しやすいので脳死で名前を決められるようにした。
そのため下記の順番で設定する必要がある
- Application を作る
- Public hostname の設定
Application を作る ¶
Public hostname の設定 ¶
SSH もやる場合 ¶
2024/02 月現在は Beta だが利用できる。
- Short-lived certificates
- 接続先に linux ユーザーを Email のユーザー名と同一名で作る
- sshd の設定を更新する
- Application の作成(Browser rendering: SSH に設定する必要があるため新規作成が必要)
- Public hostname を設定して ssh を指定する
プログラムアクセスさせる場合 ¶
Service Auth という場所で HTTP header, TLS 証明, SSH と選べるのでどれかを選択。 API 系の同期が多いと思うので、 Service Tokens がみんな設定することになるのではないだろうか
参考情報 ¶
少し古いが概要を掴むには十分でボリュームのしっかりとあり大変参考になった