メインコンテンツまでスキップ

CloudflareのZero TrustとXcode Cloudを利用したアクセス制御

· 約3分
arasan01

アプリケーションを作る上で誰にリソースを使わせるか、という観点は常に考える必要があります。ここではGit LFS Serverという一般的なアプリケーションを実装したとき、自分に関わる人間だけが利用できるアクセス制御という観点で考えます。

基本的にはアプリケーションの制御はトークンのやりとりによって信頼足り得るユーザであること(そのユーザしか知り得ない情報を認証しようとしているユーザは知っていることをベースに認証する)で認証します。また信頼足り得る場所からのアクセス(地理的にその場に存在していることをベースに認証する)であるをCloudflare Zero Trustでは行います。Xcode Cloudを例に取るとアクセス元のIP Rangeが公開されているため、このIP RangeからのアクセスをもとにXcodeからのアクセスであると解釈してZero TrustをBypassすることを考えます。

Xcode CloudではRequirements for using Xcode Cloudというページでcode Cloudからのアクセスが行われるIP Rangeの公開がされています。

これをCloudflare Zero TrustにBypass設定として登録することで認証を回避します。IP RangeによるAllow設定でも一見行けるように考えられますが、Allow設定ではトークンとリダイレクトを合わせて認証処理が行われます。Git LFSの処理に限って考えるとこれは要求を満たしません。APIにアクセスする場合には直接APIへの要求が通ることを求められます。そのためGit Clientからこれを実現する場合にはBypass設定を有効にする必要があります。