AIエージェント認証: 用途とアイデンティティニーズ
2025年はAIの年です。LLMやエージェント体験が進化する中で、認証と認可における新たな課題が浮上しています。この記事では、AIエージェントの相互作用を探り、主要なセキュリティと認証のシナリオを強調します。
2025年はAIの年になりつつあります。LLMとエージェント体験の急速な成長に伴い、私たちはしばしば尋ねられます: この新しい時代をどのように受け入れるべきか?そして、AIエージェントの認証と認可の新しいユースケースは何か?この記事では、典型的なエージェントの体験を探りながら、セキュリティと認証のシナリオを指摘します。
ChatGPTオペレーターエージェントの認証体験
最近、ChatGPTオペレーターを購入し、いくつかの一般的なワークフローを探りました。1つの例としては、東京、日本での宿泊予約でした。オペレーターは、私のプロンプトに基づいて適切な部屋を見つけるのを非常に簡単にしてくれました。
チェックアウト中に、サインインを求められ、再び操作を自分に戻されました。
この体験は私を不安にさせました。エージェントが私の代わりにログインすることはできなかったとしても、オペレーターのブラウザでメールアドレスとパスワードを入力する必要があるということです。つまり、オペレーターを通じてメール(または他のサービス)にログインする場合、資格情報はクッキーに保存されることになります。
OpenAIのオペレーターは、ユーザーの資格情報を一切保存せず、SOC II などのコンプライアンス基準に従っていると述べています。しかし、サードパーティのエージェントが外部サービスとやり取りする場合、セキュリティリスクは大幅に増加します。
一般的に、エージェントにあなたのアカウントアクセスと資格情報を直接与えるのは良い考えではありません。
まだまだ改善の余地があります。次のセクションでは、さまざまな認証と資格情報管理のアプローチについて、その利点と欠点を掘り下げます。
この X Threads が議論するように。
資格情報はどのように扱われ、どのようなセキュリティリスクがあるのか?
AIエージェントに直接資格情報を与える
このアプローチでは、AIがあなたの代わりにプレーンテキストの資格情報(メールアドレスやパスワードなど)を入力します。例えば、AIエージェントがあなたのログイン詳細を要求し、それを入力するかもしれません。
しかし、この方法はセンシティブな情報が露出する可能性があるため、セキュリティリスクがあります。実装が必要な場合は、パスワードマネージャーや秘密管理システムを統合するのが安全です。さらに、資格情報の保存期間を制限することで、漏洩のリスクを最小限に抑えることができます。
プレーンテキストの資格情報の代わりに、パーソナルアクセストークン (PAT) は、パスワードやインタラクティブなサインインを必要としない、より安全なアクセス提供方法を提供します。PATは、CI/CD、スクリプト、リソースにプログラムでアクセスする必要がある自動化されたアプリケーションで役立ちます。セキュリティを強化するために、PATのスコープを制限し、有効期限を設定し、リークとアカウント乗っ取りを防ぐために取り消しを許可することが最善です。
OAuthによるユーザー委任
OAuth (Open Authorization) は、ウェブ上で広く使用されている委任型認可の標準です。ユーザーは、自分のログイン資格情報を共有せずに、別のサービス上のデータへの限定的なアクセスをサードパーティアプリケーションに許可できます。
本質的に、OAuthは安全なアクセス委任の問題を解決します: 例えば、Googleパスワードを提供することなく、旅行アプリにあなたのGoogleカレンダーの読み取りを許可できます。これは、データプロバイダー(例: Google)と認証し、サードパーティアプリにトークンを発行することで、ユーザーの資格情報を公開せずに実現されます。
このシナリオを処理するより良い方法は、ChatGPTオペレーター(または他のエージェント)に、Airbnb上での読み書きを許可し、パスワードや資格情報を共有しないことです。オペレーターに直接ログインさせるのではなく、セキュアな認可プロセスを通じてアクセスを許可できます。
OpenAIオペレーターが信頼とアイデンティティのセキュリティを強化したい場合、いくつかの方法があります。
-
ログインプロセスをオペレーターの外に移す: ChatGPTオペレーターの外でユーザーサインインを処理する。つまり、"[サービス]でログイン"ボタンをクリックすると、そのサービスのセキュアなログインページにリダイレクトされ、チャットやChatGPTオペレーターの完全に外で自分自身を認証します。例えば、Airbnbプラグインがあった場合、Airbnbのウェブサイトに送られて資格情報を入力し、ChatGPTを認可し、次にプラグインがトークンを受け取ります。ChatGPTは実際のパスワードを見ることなく、限定的なアクセス(例: "私の旅程を読む")を許可する一時的なアクセストークンまたは鍵を受け取るだけです。
-
AIエージェントがタスクを実行する前にユーザーが同意フローを完了する。このアプローチは、多くの製品が統合、マーケットプレイス、接続サービスを処理する方法に似ています。
Notion接続ページ
ここにもう一つの例があります。例えば、Slackのマーケットプレイス統合で、Notionに対する特定のワークスペースへのアクセスを要求しており、記事を読み取ってSlackチャンネル内に表示できます。
同時に、Slackはこのプロセス中にNotionにワークスペースにアクセスするための同意ページを提供します。
ChatGPTオペレーターは、OAuthを統合し、エージェントが複数のサードパーティサービスに安全にアクセスできるようにすることで、同様のアプローチを取るべきです。これにより、必要な権限でのアクセスを許可するトークンを取得し、タスクを安全に実行することができます。