新規投稿のお知らせを受信されたい方は、サブスクリプションをご登録ください:

無制限に拡張可能なAccessポリシー

2022/06/21

2分で読了
Infinitely extensible Access policies

Zero Trustアプリケーションセキュリティとは、一連の定義済みのセキュリティポリシーに合格しない限り、アプリケーションへのすべてのリクエストが拒否されることを意味します。ほとんどのZero Trustソリューションでは、ユーザーのID、デバイス、位置情報を変数として使用して、これらのセキュリティポリシーを定義できます。

お客様からは、Zero Trustポリシーを定義する際に、より細やかな制御やカスタマイズが必要という声が寄せられています。

本日より、アプリケーションへのユーザーアクセスを許可する前にあらゆることをAccessポリシーで考慮できるようになります。あらゆることとは、文字通りあらゆることを意味します。外部評価ルールオプションを通じて、無制限にカスタマイズ可能なポリシーを構築できるようになりました。このオプションにより、Accessポリシーの評価中に任意のAPIを呼び出すことができます。

外部評価ルールを構築した理由

ここ数年で、位置情報やデバイスのポスチャー情報を確認する機能をAccessに追加しています。しかし、アプリケーションや企業の特定の要件によっては考慮可能な追加のシグナルが常に存在しています。Accessポリシーで直接サポートすることなく、お客様が必要とするシグナルをチェックできるようにすることを目指しました。

例えば、Cloudflareのセキュリティチームは、企業のデバイスから正規のユーザーだけがアプリケーションにアクセスできるようにするために、ユーザーのmTLS証明書をレジストリに対して検証する機能を必要としていました。当初は、Accessがリクエストを評価した後に、Workerを使ってユーザーの証明書をチェックすることを検討していました。しかし、これにはカスタムソフトウェアの開発と、時間のかかるメンテナンスが必要でした。外部評価ルールでは、API呼び出しにより、ユーザーが自分のデバイスに対して正しい証明書を提示しているかどうかを検証することができます。API呼び出しは、mTLS証明書とユーザーデバイスのマッピングを格納するWorkerに対して行われます。Workerはカスタムロジックを実行し、Accessにtrueまたはfalseを返します。

仕組み

Cloudflare Accessは、あらゆるWebアプリケーションの前に設置されるリバースプロキシです。ユーザーが未認証の場合は、ログイン画面が表示されて認証が行われます。ユーザーは、Accessポリシーで定義された条件を満たしている必要があります。一般的なポリシーの例を示します。

  • ユーザーの電子メールの末尾が@example.comである
  • ユーザーがハードウェアベースのトークンで認証されている
  • ユーザーが米国からログインしている

ユーザーがポリシーに合格すると、セッションが無効になるまでアプリケーションにアクセスできるCookieが付与されます。

他のカスタム基準でユーザーを評価するために、Accessポリシーに外部評価ルールを追加することができます。外部評価ルールは、呼び出すAPIエンドポイントと、リクエスト/応答が信頼できるソースからのものであることを検証するための鍵という2つの値を必要とします。

ユーザーがIDプロバイダーで認証された後、ユーザー、デバイス、位置に関するすべての情報が外部APIに渡されます。APIはAccessに合格または不合格の応答を返し、Accessはそのユーザーのアクセスを許可または拒否します。

APIのロジック例は次のようになります。

/**
 * Where your business logic should go
 * @param {*} claims
 * @returns boolean
 */
async function externalEvaluation(claims) {
  return claims.identity.email === '[email protected]'
}

ここで、claimsオブジェクトは、リクエストを行うユーザー、デバイス、ネットワークに関するすべての情報を含んでいます。このexternalEvaluation関数は、任意のビジネスロジックを実行するように拡張することができます。オープンソースリポジトリを作成し、Access claimsを消費するためのサンプルコードとAccessからの署名鍵の検証を公開しています。

これは本当に強力です。あらゆるAccessポリシーを無制限に拡張し、ユーザーのアクセスを許可する前にあらゆる情報を考慮できるようになりました。想定される例としては、以下のようなものがあります。

  • エンドポイント保護ツールのAPIを確認するミドルウェアを構築することで、Cloudflareがまだ連携していないエンドポイント保護ツールと連携する。
  • IPアドレスと外部脅威フィードとの照合
  • 業界別のユーザーレジストリの呼び出し
  • その他にも充実した機能。

Accessポリシーの拡張はまだ始まったばかりです。将来的には、単にアクセスを許可または拒否するかだけでなく、アプリケーションにアクセスする前にユーザーをどのように扱うべきかをプログラムで簡単に決められるようにする予定です。

この機能は、本日よりCloudflare Zero Trustダッシュボードでご利用いただけます。開始するにはこちらのガイドをご覧ください。

Cloudflareは企業ネットワーク全体を保護し、お客様がインターネット規模のアプリケーションを効率的に構築し、あらゆるWebサイトやインターネットアプリケーションを高速化し、DDoS攻撃を退けハッカーの侵入を防ぎゼロトラスト導入を推進できるようお手伝いしています。

ご使用のデバイスから1.1.1.1 にアクセスし、インターネットを高速化し安全性を高めるCloudflareの無料アプリをご利用ください。

より良いインターネットの構築支援という当社の使命について、詳しくはこちらをご覧ください。新たなキャリアの方向性を模索中の方は、当社の求人情報をご覧ください。
Cloudflare One Week (JP)Zero Trust (JP)Cloudflare Access (JP)日本語

Xでフォロー

Kenny Johnson|@KennyJohnsonATX
Cloudflare|@cloudflare

関連ブログ投稿

2022年6月24日 13:45

VDIを廃止する

本ブログ記事では、企業が現在仮想デスクトップインフラストラクチャ (VDI) で保護されている社内Webアプリケーションの使用事例をオフロードするのに、リモートでのブラウザの分離がどう役立つかについて、Cloudflareの視点を解説しています...