>_tech-draft
Mastra AIのアイコン
Mastra AI
動画公開日
タイトル

How Palette Built Fine-Grained Authorization for AI Agents

再生時間

2分 50秒

PalletがWorkOS FGAを採用した理由:AIプロダクトにおけるきめ細かい認可の実践

ポイント

  • PalletがAIプロダクトにおける組織内・組織間の複雑なデータ認可要件を満たすため、ロールベース認可(RBAC)の限界を超え、きめ細かい認可(FGA)の導入を検討した背景を解説。
  • TypeScriptベースの技術スタックとの親和性、WorkOSチームとの強力な連携、そしてRBACからFGAへのスムーズな移行パスが、PalletがWorkOS FGAを選択した主な理由です。
  • WorkOS FGAの導入は、高い柔軟性を持つセキュアなアクセス制御を実現し、Palletのデータセキュリティを強化しながら、開発効率とユーザー体験を向上させる戦略的な選択となりました。

はじめに:AI連携における認可の重要性Palletは、AIとの対話を支援するコンテキストレイヤーを構築している企業です。私たちの主要製品の一つである「Palletデスクトップアプリ」は、主にエンジニアではないユーザーを対象としており、ユーザーが選択したAIエージェントと連携するためのプラットフォームを提供します。このデスクトップアプリには、当社のコンテキストレイヤーも組み込まれています。私たちは、Slack、Jira、Linearなどの既存ツールとの連携を可能にする「マルチプレイヤーアプローチ」を重視しており、現在Google Driveとの連携も進めています。このような多様な連携と利用形態の中で、特に重要となるのが「認可(Authorization)」、すなわち誰が何にアクセスできるか、という制御です。

組織内・組織間のデータセキュリティ課題

Palletの顧客からは、同じ企業内であってもプライベートなチームを作成し、そのチームメンバーのみが特定のコンテンツにアクセスできるようにしたいという要望が寄せられていました。これは非常に重要な要件であり、たとえ組織の管理者であっても、特定のチームのコンテンツを閲覧できないようにする必要がありました。さらに、異なる組織間で情報が漏洩することも絶対に避けなければなりません。

このような厳格なデータセキュリティとアクセスコントロールを実現するためには、堅牢で柔軟な認可システムが不可欠です。

ロールベース認可(RBAC)からきめ細かい認可(FGA)へ

多くの企業が認可システムを導入する際、最初に検討するのが「ロールベース認可(Role-Based Access Control: RBAC)」です。RBACは、ユーザーに割り当てられたロール(役割)に基づいてアクセス権を付与する一般的な手法です。しかし、私たちの要件はRBACでは対応しきれない複雑さがありました。

例えば、「ワークフローを管理する権限を持つのは誰か?」といった問いに対して、RBACではすべてのロールを網羅的に確認する必要があり、その管理は煩雑になりがちです。私たちは、より柔軟で動的な認可を可能にする「きめ細かい認可(Fine-Grained Authorization: FGA)」の採用を検討しました。FGAは、特定のユーザー、オブジェクト、アクションの組み合わせに基づいてアクセス権を決定するため、より詳細で柔軟な制御が可能です。

WorkOS FGAの選択と導入の決め手

Palletは複数のプロバイダーを比較検討した結果、WorkOS(旧Master)のFGAソリューションを採用することにしました。WorkOSを選んだ主な理由は以下の通りです。

1. TypeScriptベースの開発

WorkOSはTypeScriptで構築されており、当社の既存の技術スタックと高い親和性がありました。これにより、Pythonのような新しい言語をスタックに追加することなく、スムーズに統合することができました。

2. WorkOSチームとの強力な連携

WorkOSのチームとは良好な関係を築き、アイデアを交換したり、WorkOSのロードマップに関する洞察を得たりすることができました。このコラボレーションを通じて、Palletの製品をどのように適応させていくか、新しい機能をどのように活用できるかといった多くのヒントを得ることができました。

3. RBACからFGAへのスムーズな移行パス

当初、WorkOSが提供していたのはRBACオプションのみでしたが、WorkOSとの協力関係を通じてFGAオプションも提供されるようになりました。WorkOSはもともとWorkOS固有のRBACサービスを提供していたため、その上でFGAへの移行パスも比較的スムーズに提供されることとなりました。これにより、段階的に認可システムを強化できる柔軟性が得られました。

PalletにおけるWorkOS FGAの実装フロー

Palletのシステムでは、AIエージェントが何らかのアクションを実行しようとする際に、WorkOS FGAがその認可を管理します。まず、認証レイヤーを通過した後、エージェントがどのようなパーミッションを持っているかをFGAシステムが確認します。

  1. 認証 (Authentication): まずユーザーまたはエージェントの身元を確認します。
  2. 認可 (Authorization): WorkOSに設定されたFGAロジックが、エージェントが実行しようとしている特定のアクションに対して適切なパーミッションがあるかを評価します。
  3. パーミッションの伝達: FGAによって許可されたパーミッションが、後続のリクエストに渡されます。

このプロセスを通じて、各エージェントのアクションが厳密に制御され、必要なアクセス権のみが付与されることが保証されます。

WorkOS FGA導入がもたらした価値

WorkOS FGAを導入したことは、Palletにとって非常に戦略的な選択でした。その主なメリットは以下の通りです。

  • 高い柔軟性: きめ細かい認可により、プライベートチームや特定のデータに対する複雑なアクセス要件にも対応できるようになりました。
  • 技術スタックの一貫性: TypeScriptベースであるため、既存の技術スタックにシームレスに統合でき、開発効率を損なうことがありませんでした。
  • WorkOSとの強固なパートナーシップ: WorkOSチームとの密接な連携は、単なるベンダーとの関係を超え、製品開発における貴重なインサイトとサポートをもたらしました。これは、他社では得られなかったであろう計り知れない価値です。

まとめ

PalletがWorkOS FGAを採用したことで、AIプロダクトにおける複雑かつ厳格な認可要件を満たすことができました。きめ細かい認可の導入は、データセキュリティを強化し、ユーザー体験を損なうことなく、よりセキュアで柔軟なAI連携を実現するための鍵となります。WorkOSとのパートナーシップは、単に製品を導入するだけでなく、共に成長していく上での強力な資産となっています。今後もWorkOS FGAを活用し、ユーザーに安全で革新的なAI体験を提供し続けてまいります。

参考動画

https://www.youtube.com/watch?v=Iid4RNW_OK8