announcements

Auth0 FGA Permissions Indexが開発者プレビューで利用可能に

Auth0 FGA Permissions IndexがReBACを利用し、認可ロジックをクエリ時から書き込み時に移行して大規模検索の課題を解決する方法を解説します。

本記事は「Auth0 FGA Permissions Index Is Now in Developer Preview」を翻訳した記事です。

きめ細かな認可(FGA)は企業がリレーションベースのアクセス制御(ReBAC)を管理する方法を根本的に変革しました。静的なロールの枠を超え、リアルタイムのリレーションに基づいて権限を定義できます。しかし企業が単純なプロトタイプから本番環境レベルのAIや複雑な検索シナリオに移行する際、多くの場合Search With Permissionsという同じ技術的な壁に直面します。

課題は単純ですが大規模な解決は困難です。特定の検索フィルターとソート順が指定された場合、ユーザーはどのオブジェクトにアクセスできるかという問題です。

標準的な検索の課題

一般的な検索シナリオではユーザーが検索バーにキーワードを入力し、結果が即座に表示されることを期待します。たとえば従業員が「四半期予測」を検索すると、システムは一致するすべてのファイルを表示します。しかしエンタープライズ環境ではシステムは単にすべての一致を返すわけにはいきません。ユーザーが各結果を表示するための特定のアクセス権を持っているか確認する必要があります。

何十万や何百万ものドキュメントが関係する場合、クエリ時に権限を確認すると応答のレイテンシが高くなる可能性があります。結果として開発者は使用に耐えないほど遅い安全なシステムか、機密データ漏洩のリスクがある高速なシステムかという難しいトレードオフを強いられます。

AIを導入するとさらに複雑になります。検索拡張生成(RAG)を実行するAIエージェントは応答を拡張して生成するために同じ「権限付き検索」を実行する必要がありますが、人間の100倍の検索を実行します。顧客は大規模な認可を迅速に処理する専用のソリューションを必要としています。

コロケーション型Permissions Indexの紹介

本日FGA Permissions IndexのDeveloper Previewを発表します。本機能は従来のほとんどのシステムでは達成できないエンタープライズ規模で認可を処理するように設計されています。Permissions Indexの核となる革新は認可の高い計算コストをクエリ時から書き込み時に移行するアーキテクチャの変更です。

従来のリレーションベースのモデルでは権限を確認する際、リクエスト到着時にユーザーとオブジェクト間の有効なパスを見つけるためシステムが複雑なグラフをたどる必要があります。Permissions Indexはすべての権限の組み合わせを事前計算し、直接的な1対1のマッピングとして保存して時間のかかるトラバーサルを回避します。FGAでリレーションを追加または取り消すたびに、増分計算エンジンがグラフの影響を受ける部分を記憶してリレーションをすばやくフラット化します。結果としてクエリ時にシンプルで効率的なルックアップが可能になり、リアルタイムのグラフトラバーサルが不要になります。

コロケーションのパフォーマンス

Permissions Indexは即時決定のロジックを提供しますが、コロケーション型の展開モデルによりビジネスデータのすぐ近くで決定を下せます。

本モデルではフラット化された権限セットをストリーミングし、独自の環境内に直接保存します。外部API呼び出しを一切行わず、単純なSQL結合を使用してローカルで権限をすばやく評価できます。結果として外部ネットワークの依存関係に伴うレイテンシとオーバーヘッドを排除します。

コロケーション型アーキテクチャは専用のワークフローを利用し、ローカルインデックスを常に最新かつ高性能な状態に維持します。

  • リアルタイムイベントストリーミング: Auth0 FGAはリレーション変更の影響をほぼリアルタイムで特定します。拡張された権限をPostgreSQLやSnowflake、ElasticSearchなどのローカルデータベースにイベントとして直接ストリーミングします。
  • ローカルSQL結合: 権限は標準のデータベース形式でローカルに保存されるため、アプリケーションや検索エンジンはビジネスレコードと事前計算された権限テーブルの間で単純なローカル結合を実行できます。
  • 一定のクエリレイテンシ: 本アーキテクチャは「ファンアウト」問題を効果的に解決します。回答を事前計算してローカルで利用できるため、ユーザーがアクセスできるドキュメントが10個でも10万個でもクエリのレイテンシを一定に保ちます。

アーキテクチャの変更が実際に動作する様子や、リアルタイムのリレーション更新によってフラット化された権限をローカル環境に即座にストリーミングし、高性能な検索フィルタリングを実現する仕組みについては以下のテクニカルウォークスルーを確認ください。

主要なエンタープライズのユースケース

1. AIエージェントのためのセキュアなRAG(マイデータとのチャット)

機密情報の漏洩はOWASP(Open Web Application Security Project)が定める大規模言語モデル(LLM)のトップ10リスクの第2位であり、企業がAIを本番環境にリリースする際の大きな障壁です。不適切なアクセス制御が原因で検索拡張生成(RAG)アプリケーションのデータ検索フェーズ中にAIエージェントが機密の人事データや財務データにアクセスした場合、壊滅的な結果を招く恐れがあります。FGA Permissions IndexはAIの規模を処理するために構築された防御の最前線として機能し、リクエストしたユーザーが閲覧を許可されているレコードのみをエージェントが検索するよう保証します。

Secure RAG for AI Agents (chat with my data)

2. 権限でフィルタリングされた結果によるエンタープライズ検索

現代のB2Bアプリケーションでは従来のRBAC(ロールベースのアクセス制御)は粗粒度であり、きめ細かい検索要件の複雑さを処理できなくなっています。きめ細かな認可(FGA)はリアルタイムのリレーションベースのアクセスに基づいて権限を定義して問題を解決しますが、大規模環境では新たな課題が生じます。

FGA Permissions Indexはギャップを埋める役割を果たします。一元化された認可システムからアプリケーション環境に認可データをストリーミングし、検索エンジンはデータと権限の間で単純なローカル結合を実行できます。アーキテクチャの変更によりクエリ時に外部API呼び出しを一切行わず、即座により安全な検索結果を取得できます。

Enterprise search with permission-filtered results

3. 分析のための行レベルセキュリティ

ユーザーが共有の分析ダッシュボードやビジネスインテリジェンス(BI)ツールにアクセスする際、付与されたアクセス権に基づいて関連する特定の行のみを表示させることは、断片化されたデータサイロ全体での管理が非常に困難です。FGA Permissions Indexをデータウェアハウスに直接統合し、アナリストが顧客の使用状況レポートを取得した際に担当する特定の顧客のメトリクスのみを表示させることが可能です。結果として何千もの個別のデータベースロールを管理するオーバーヘッドを省き、行レベルのセキュリティポリシーを通じてストレージレベルでデータを自動的にプルーニングする高性能で「デフォルトで安全な」分析環境を構築します。

FGA Permissions Indexによる大規模での即時認可

要約するとリアクティブなAPI呼び出しから事前計算されたFGA Permissions Indexに移行し、エンタープライズチームは成功したプロトタイプとより安全で本番環境に対応した製品とのギャップをついに埋められます。認可の革新は次世代の自律型エージェントやインテリジェントなデータアプリケーションに必要な、スケーラブルな信頼の基盤を提供します。数十億のレコードを保護する場合でもAI主導のアシスタントの未来を構築する場合でも、Permissions Indexはセキュリティとコンプライアンスがイノベーションと同じ速度で進むよう支援します。FGA Permissions Indexは現在Developer Previewで利用可能です。最も重要な権限をフラット化し、リスクの高いAIや検索プロジェクトをより迅速に本番環境へ移行してください。

主要なリソース