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

無制限に拡張可能な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攻撃を阻止して、 ハッカーを封じ込めます 。 さらに、Zero Trustを始める、あるいは導入のあらゆるフェーズにいる お客様を支援します。

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

より良いインターネットの構築を支援するという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の視点を解説しています...