Cloudflare Zero Trust IdP統合とIdP集約

ゼロトラストアーキテクチャで最も重要とされるアクセス制御のうちの認証について、Cloudfalre Zero Trustではどのように実装していくかを紹介します
2022.12.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

Cloudflare Zero Trustにおけるアクセス時の認証について

ゼロトラストアーキテクチャでは、誰がアクセスしてきたのか(認証)、どんな権限でリソースにアクセスできるか(認可)を厳密に制御することが求められます。アクセスコントロールのフレームワークの一つであるAAA(トリプルA)の「Authentication」と「Authorization」と同じ原則になります。

Cloudflare Zero Trustでは、認証を司るIdPとしての機能を持っていませんが、サードパーティーのIdPを統合することで、ネットワークアクセス時の認証およびSSO(Single-sign-on)を実現します。
※Cloudflare Zero Trust単体ではメールアドレスとOTPによる簡易的な認証機能が利用可能です(One-time PIN login

Cloudflare Zero Trustにおいて特徴的なのは、IdPを集約することで、異なるIdPを複数利用していた場合、Cloudflare Zero TrustにIdPを集約することが可能になります。

IdP集約によって何がうれしいのか?

自社のサービスやSaaSサービスを利用するために認証が必要となってきますが、組織においては、自社で利用している認証基盤を利用するのが一般的かと思います。
ところが、ビジネスパートナーと協業する上で、他社の認証基盤を統合してアクセスさせたり、あるいはM&Aなどの事業拡大時にも異なるIdPを統合していく必要が出てきます。

Cloudflare Zero Trustで複数のIdPを集約することで、IdPベンダー固有の設定や制限にとらわれず、最小権限のアクセス提供を簡単に実現することができます。

やってみる

IdPを統合するには、IdPとCloudflare Zero Trustのそれぞれで設定が必要になります。
今回はIdP側はAzure ADを使って、設定を行っていきます。

同設定内容に関する公式ドキュメントは、(こちら)で参照が可能です。

Googleアカウントとの連携設定についてはこちらを参照ください。

Azure ADでCloudflare Zero Trustをアプリ登録する

Azure ポータルにログインして、Azure Active Directoryを選択します。

App registrationsでNew registrationを選択

アプリ名を入力して、Redirect URIに「Web」とチームドメイン「https://<your-team-name>.cloudflareaccess.com/cdn-cgi/access/callback」を入力して、登録します。
※チームドメインはSettings > General > Team domainで確認することができます。

後のCloudflare Zero Trustの設定で必要となるApplication (client) ID と Directory (tenant) IDをコピーしておきます。

Certificates & secrets > Client secretsで「+ New client secret」を選択して、任意のシークレット名と有効期限を設定して、追加します。

後のCloudflare Zero Trustの設定で必要となるクライアントシークレットのValueの部分をコピーしておきます。

API Permissionsで「+ Add a permission」をクリックし、Microsoft Graphを選択します。

Delegated permissionsを選択して、以下の権限を付与する。

  • email
  • openid
  • profile
  • offline_access
  • User.Read
  • Directory.Read.All
  • Group.Read.All

「Grant admin consent for ...」をクリックして、Grant admin consent confirmation.の「YES」を選択する

Cloudflare Zero Trustで認証先のIdPとしてAzure ADを登録する

Cloudflare Zero Trustのコンソールにログインし、Settings > Authenticationを選択

Login methodsでAdd new

Azure ADを選択

Azure ADの設定でコピーした、Application ID、Application secret、Directory IDを入力して、Saveします

認証プロバイダとしてAzure ADが登録されましたので、うまく連携されているかテストします。

IdPとして登録したアカウントを選択します

連携ができていることを確認します

まとめ

Cloudflare Zero TrustにサードパーティーのIdPを統合することができました。
冒頭にも述べましたが、Cloudflare Zero TrustのIdP統合では、IdPを集約できることが特徴となります。
異なるIdP(パートナーなど)から自社が管理するリソースへアクセスさせようとした場合、Cloudflare Zero Trustのポリシー機能を使ってアクセス条件を細かく制御することが可能となります。
まずはゼロトラストの最初の一歩となるIdP統合の設定方法について、ぜひご参考ください。