エージェントを使用すると、これまで以上に高速にソフトウェアを構築できますが、環境とコードを保護することは、ミスと悪意の両方から、実際の努力が必要です。Open Web Application Security Project (OWASP) は、認証情報の漏洩、ユーザーになりすまし、権限昇格のリスクを含む、エージェント型AI システムに存在する多くのリスクを詳述しています。これらのリスクは、サービス拒否、データ損失、またはデータ漏洩を含む環境への極度の損害をもたらす可能性があり、計り知れない財務的および評判上の損害を引き起こす可能性があります。
これはアイデンティティの問題です。現代の開発では、「アイデンティティ」は単なる人間ではなく、あなたに代わって行動するエージェント、スクリプト、およびサードパーティツールです。これらの非人間的アイデンティティを保護するには、その完全なライフサイクルを管理する必要があります。認証情報 (トークン) が漏洩していないことを確認し、OAuth 経由でどのアプリケーションがアクセスできるかを確認し、粒度の細かい RBAC を使用してアクセス許可を制限します。
本日、これらのニーズに対応するための更新を導入しています: 認証情報を保護するためのスキャン可能なトークン、プリンシパルを管理するための OAuth の可視性、およびポリシーを微調整するためのリソーススコープ RBAC です。
アイデンティティの理解: プリンシパル、認証情報、およびポリシー
自律エージェントの時代にインターネットを保護するには、アイデンティティの処理方法を再考する必要があります。リクエストが人間の開発者から来ようと AI エージェントから来ようと、API との各インタラクションは 3 つのコア柱に依存しています:
プリンシパル (旅行者): これはアイデンティティ自体です。「誰」です。OAuth 経由でログインしているあなた、またはコードをデプロイするために API トークンを使用しているバックグラウンドエージェントかもしれません。
認証情報 (パスポート): これはそのアイデンティティの証明です。この世界では、API トークンはあなたのパスポートです。盗まれたり漏洩したりした場合、誰でもあなたのアイデンティティを「着用」できます。
ポリシー (ビザ): これはそのアイデンティティが何をすることが許可されているかを定義します。有効なパスポートを持っているからといって、すべての国に入国するビザを持っているわけではありません。ポリシーにより、検証されたアイデンティティでも、必要な特定のリソースにのみアクセスできることが保証されます。
これら 3 つの柱が一緒に管理されていない場合、セキュリティは崩壊します。盗まれた認証情報を使用している有効なプリンシパルがある場合、または非常に広いポリシーを持つ正当なアイデンティティがある場合があります。
漏洩したトークンの検出
エージェントおよび他のサードパーティアプリケーションは、API トークンを使用して Cloudflare API にアクセスします。シークレットを漏洩させる最も簡単な方法の 1 つは、誤ってパブリック GitHub リポジトリにプッシュすることです。GitGuardian は、昨年 2,800 万以上のシークレットがパブリック GitHub リポジトリに公開されたと報告しており、AI により漏洩が以前の 5 倍の速度で発生しています。
API トークンがデジタルパスポートである場合、パブリックリポジトリに漏洩させることは、公園のベンチにパスポートを置き忘れるようなものです。それを見つけた誰でも、ドキュメントがキャンセルされるまで、そのアイデンティティになりすますことができます。
GitHub との当社のパートナーシップは、これらの認証情報のグローバルな「落とし物センター」として機能します。パスポートが紛失していることに気付く時間までに、当社はすでにドキュメントを特定し、チェックサムを介してその真正性を確認し、悪用を防ぐためにそれを無効にしています。
当社は、複数の主要な認証情報スキャンツールとパートナーシップを組んで、漏洩したトークンを積極的に見つけ、悪意を持って使用される前に失効させるのに役立てています。あなた、従業員、またはエージェントの 1 つが誤ってシークレットを不適切な場所にプッシュする前に、それが「いつ」の問題であることを知っています。
GitHub
当社は GitHub とパートナーシップを組んでおり、パブリックリポジトリとプライベートリポジトリの両方でトークンを見つけるために Secret Scanning プログラムに参加しています。トークンがパブリックリポジトリに漏洩したことが通知された場合、当社は自動的にトークンを失効させて、悪意を持って使用されるのを防ぎます。プライベートリポジトリの場合、GitHub は漏洩した Cloudflare トークンについて通知し、これらをクリーンアップできます。
仕組み
当社は新しいトークン形式 (以下を参照!) を GitHub と共有しており、すべてのコミットでスキャンしています。漏洩した Cloudflare トークンのように見えるものが見つかった場合、トークンが実際のものであることを確認し (チェックサムを使用)、失効させるための Webhook を送信し、Dashboard 設定で新しいトークンを生成できるようにメールで通知します。これは、穴が見つかるとすぐにプラグインすることを意味します。誤りを犯したことに気付く時間までに、当社はすでにそれを修正しています。
これは使用する必要がない機能であることを願っていますが、当社のパートナーは漏洩を監視してセキュリティを維持するのに役立っています。
Cloudflare One
Cloudflare One の顧客も、これらの漏洩から保護されています。認証情報とシークレット DLP プロファイルを構成することで、組織は認証情報が移動できるあらゆる場所で防止を有効化できます:
ネットワークトラフィック (Cloudflare Gateway): これらのエントリをポリシーに適用して、ネットワーク全体を移動する Cloudflare API トークンを検出およびブロックします。ファイルアップロード、アウトバウンドリクエスト、またはダウンロード内のトークンは、宛先に到達する前に停止されます。
アウトバウンドメール (Cloudflare Email Security): Microsoft 365 の顧客は、この同じ防止を Outlook に拡張できます。DLP Assist アドインは配信前にメッセージをスキャンし、トークンが外部に送信される前にキャッチします。
保存中のデータ (Cloudflare CASB): Cloudflare の Cloud Access Security Broker は、同じプロファイルを適用して、接続された SaaS アプリケーション全体のファイルをスキャンし、Google Drive、OneDrive、Dropbox、および他の統合サービスに保存または共有されたトークンをキャッチします。
ただし、最も革新的な露出ベクトルは AI トラフィックです。Cloudflare AI Gateway は同じ DLP プロファイルと統合して、リアルタイムで受信プロンプトと送信 AI モデル応答の両方をスキャンおよびブロックします。
その他の認証情報スキャナー
認証情報スキャンが機能する唯一の方法は、あなたがいる場所で会うことです。そのため、当社は複数のオープンソースおよび商用認証情報スキャナーと協力して、どのシークレットスキャナーを使用しても保護されていることを確認しています。
仕組み
これまで、Cloudflare の API トークンはかなり一般的に見えていたため、認証情報スキャナーが高い信頼度で識別するのは困難でした。これらの自動セキュリティツールは、API キー、トークン、またはパスワードなどの公開された認証情報を探してコードリポジトリをスキャンします。「cf」プレフィックスにより、Cloudflare トークンは高い信頼度で即座に認識可能になり、チェックサムにより、ツールが静的に検証するのが簡単になります。
既存のトークンは引き続き機能しますが、生成するすべての新しいトークンはスキャン可能な形式を使用するため、高い信頼度で簡単に検出できます。
| 認証情報タイプ | 用途 | 新しい形式 |
|---|
| User API Key | ユーザーアカウントに関連付けられたレガシーグローバル API キー (フルアクセス) | cfk_[40 characters][checksum] |
| User API Token | 特定のアクセス許可用に作成したスコープ付きトークン | cfut_[40 characters][checksum] |
| Account API Token | アカウントが所有するトークン (特定のユーザーではない) | cfat_[40 characters][checksum] |
開始方法
既存の API トークンがある場合は、トークンをロールして、新しいスキャン可能な API トークンを作成できます。これはオプションですが、トークンが漏洩した場合に簡単に検出できるようにすることをお勧めします。
API トークンは通常、独自のスクリプトとエージェントによって使用されますが、OAuth はサードパーティプラットフォームのアクセスを管理する方法です。どちらも、不正なアクセスを防ぎ、正確に誰が (または何が) データにアクセスできるかを確認するための明確な可視性が必要です。
OAuth 同意エクスペリエンスの改善
Wrangler などのサードパーティアプリケーションを OAuth を使用して Cloudflare アカウントに接続する場合、そのアプリケーションにアカウントのデータへのアクセスを許可しています。時間が経つにつれて、最初にサードパーティアプリケーションにアカウントへのアクセスを許可した理由を忘れるかもしれません。以前は、これらのアプリケーションを表示および管理する中央の場所がありませんでした。本日から、あります。
今後、サードパーティアプリケーションが Cloudflare アカウントへのアクセスをリクエストする場合、以下を確認できます:
- アクセスをリクエストしているサードパーティアプリケーション、および名前、ロゴ、パブリッシャーなどのアプリケーションに関する情報。
- サードパーティアプリケーションがアクセスをリクエストしているスコープ。
- サードパーティアプリケーションにアクセスを許可するアカウント。
すべてのアプリケーションが同じアクセス許可を必要とするわけではありません。データの読み取りのみが必要なものもあれば、アカウントに変更を加える必要があるものもあります。アクセスを許可する前にこれらのスコープを理解することは、最小権限を維持するのに役立ちます。
また、Connected Applications エクスペリエンスを追加したため、どのアプリケーションがどのアカウントにアクセスできるか、そのアプリケーションに関連付けられているスコープ/アクセス許可、および必要に応じてそのアクセスを簡単に失効させることができます。
開始方法
OAuth 同意および失効の改善は現在利用可能です。My Profile > Access Management > Connected Applications にアクセスして、現在どのアプリケーションがアカウントにアクセスできるかを確認してください。
Cloudflare との統合を構築している開発者は、独自の OAuth アプリを登録する方法に関する今後の発表について Cloudflare Changelog に注目してください!
細粒度のリソースレベルのアクセス許可
トークンがパスポートである場合、リソーススコープのアクセス許可はその中のビザです。有効なパスポートを持つことで正面玄関を通過できますが、建物のすべての部屋へのアクセスを与えるべきではありません。スコープを特定のリソース (単一のロードバランサープールや特定のゲートウェイポリシーなど) に絞ることで、アイデンティティが検証されていても、厳密に必要な場所にのみ「ビザ」を持つことが保証されます。
昨年、当社は Cloudflare の Zero Trust 製品の複数のリソーススコープのアクセス許可を Cloudflare のロールベースアクセス制御 (RBAC) システムでサポートすることを発表しました。これにより、ユーザーとエージェントの両方のアクセス許可を適切なサイズにして、セキュリティリスクを最小化できます。
当社はこの機能を複数の新しいリソースレベルのアクセス許可に拡張しました。リソーススコープは現在、以下でサポートされています:
- Access Applications
- Access Identity Providers
- Access Policies
- Access Service Tokens
- Access Targets
また、API トークン作成エクスペリエンスを完全に改善し、顧客が Cloudflare Dashboard から直接アカウント API トークンをプロビジョニングおよび管理しやすくしました。
仕組み
Cloudflare アカウントにメンバーを追加するか、API トークンを作成する場合、通常、そのプリンシパルにポリシーを割り当てます。Permission Policy は、Cloudflare One Access Applications の管理や DNS レコードの管理など、プリンシパルがアクションを実行するアクセス許可を与えるものです。ポリシーがない場合、プリンシパルは認証できますが、アカウント内でアクションを実行する権限がありません。
ポリシーは 3 つのコンポーネントで構成されています: プリンシパル、ロール、およびスコープ。
プリンシパルは、人間のユーザー、API トークンなどの非人間的アイデンティティ (NHI)、またはますます、ユーザーに代わって行動するエージェントであるかどうかにかかわらず、アクセスを許可する対象です。
ロールは、実行が許可されているアクションを定義します。
スコープは、これらのアクセス許可が適用される場所を決定し、歴史的には、アカウント全体または個別のゾーンに制限されています。
新しいアクセス許可ロール
また、多くの製品の新しいロールの導入により、アカウント & ゾーンレベルの両方でロール表面をより広く拡張しています。
アカウントスコープ
- CDN Management
- MCP Portals
- Radar Request Tracer
- SSL/TLS Management
ゾーンスコープ
- Analytics
- Logpush
- Page Rules
- Security Center
- Snippets
- Zone Settings
開始方法
リソーススコープと新しいすべてのアカウントおよびゾーンレベルのロールは、すべての Cloudflare 顧客が今日から利用できます。Cloudflare Dashboard、API、または Terraform を通じてアカウント、ゾーン、またはリソーススコープのポリシーを割り当てることができます。
利用可能なすべてのロールとスコープの仕組みの完全な内訳については、当社のロールとスコープのドキュメントを参照してください。
アカウントを保護する
これらの更新は、真の最小権限アーキテクチャに必要な細粒度の構成要素を提供します。アクセス許可と認証情報の管理方法を改善することで、開発者と企業は、ユーザー、アプリ、エージェント、スクリプト全体のセキュリティ態勢に対してより大きな信頼を持つことができます。