セキュリティーに関する考慮事項

スコープ: この記事では、エージェント・メモリーPython SDKに関連するセキュリティ上の考慮事項について説明します。これは、SDKのアクティブ・メモリー機能またはストア・レイヤーのいずれかを使用するアプリケーションにのみ適用されます。

重要な理由: エージェント・メモリーは、Oracle AI Databaseでスレッド・コンテンツおよびメモリー・レコードを保持でき、LLMにバックアップされた機能が有効になっている場合は、サマリー、メモリー抽出または埋込み用に構成済のモデル・エンドポイントにコンテンツを送信します。したがって、セキュアなデプロイメントは、アプリケーション・データの慎重な処理、取得範囲、データベース・アクセス、外部モデル・エンドポイントおよび保存ポリシーに依存します。

LLMバックアップ・メモリー処理に関する考慮事項

エージェント・メモリーは、スレッド要約や自動メモリー抽出などのアクティブメモリー機能をサポートしています。これらの機能を有効にすると、SDKは、構成済のLLMまたは埋込みエンドポイントに、最近のメッセージ、スレッド・サマリー、取得済メモリーまたは検索テキストを送信できます。

ノート:構成済モデル・エンドポイントおよびデプロイメント・ポリシーに適したコンテンツのみをエージェント・メモリーに送信します。メモリー・パイプラインに入る前にコンテンツを検証および最小化し、シークレット、資格証明または不要な機密データをメッセージまたはメモリーに含めないようにします。抽出された記憶、要約、コンテキスト・カードおよびその他のモデル派生テキストを信頼できない出力として処理します。この出力は、統合アプリケーションによって安全にレビューおよび処理する必要があります。

アクティブ・メモリー機能を使用する場合は、次の推奨事項に従います。

永続性およびデータの最小化に関する考慮事項

エージェント・メモリーは、DBバック・ストアが使用されたときに、メッセージ、メモリー、メタデータおよび埋込みをOracle AI Databaseに永続化するように設計されています。これにより、恒久的な取得およびクロスセッション・メモリーが可能になりますが、保持に適したデータをアプリケーションが計画する必要があることも意味します。

次のガイダンスは、セキュアなデータ処理プラクティスに従ってデプロイメントを維持するのに役立ちます。

取得範囲およびアクセス制御に関する考慮事項

エージェント・メモリーでは、コール元提供のuser_idagent_idおよびthread_id値を使用して、取得の範囲を指定します。これは強力なフィルタリング・モデルですが、取得したコンテンツの使用方法または表示方法を決定する際にアプリケーションが依存する唯一の制御ではありません。

デフォルトでは、スレッド・スコープ取得では、user_idagent_idの完全一致とthread_idのより広い一致が使用されるため、関連する結果は、同じユーザー・エージェント・ペアの過去のスレッドにまたがることができます。最上位レベルのOracleAgentMemory.search()およびsearch_async()コールには、具体的なuser_idおよび正確なユーザー一致も必要です。パブリック・クライアントAPIが誤って複数のユーザーを検索しないように、省略されたユーザー・スコープuser_id=Noneおよびexact_user_match=Falseを拒否します。

取得を設計する際には、次の演習を使用します。

アプリケーション統合と発信者信頼に関する考慮事項

エージェント・メモリーは、エンド・ユーザーによって直接ではなく、統合アプリケーションまたは他の信頼できるバックエンド・コードによってコールされます。エンド・ユーザー向けのセキュリティ境界ではなく、エンド・ユーザーによる認証または認可を単独で実行しません。パッケージは、コール元を信頼して、各操作に対して正しいuser_idagent_idthread_idおよび取得スコープを提供します。

ノート:統合アプリケーションは、エージェント・メモリーAPIをコールする前に、エンド・ユーザーの認証、アクセスの認可、および正しいuser_idとスコープの導出を行います。コール元が提供するuser_idは、アイデンティティの証明ではなく、範囲指定値です。

SDKをエージェント・アプリケーションに統合する場合は、次の演習を使用します。

データベース・アクセス、スキーマ管理およびシークレットに関する考慮事項

エージェント・メモリーは、コール元提供のOracle AI Database接続またはプールを使用します。パッケージは、データベース資格証明自体を作成または管理しません。また、コール元にかわってデータベース・ネットワーク暗号化を作成、ネゴシエートまたはアップグレードしません。

ノート:

次のデプロイメント・プラクティスをお薦めします。

ネットワーク通信および外部エンドポイントに関する考慮事項

エージェント・メモリーは、デプロイメントがリモートLLMまたは埋込みプロバイダを構成するときに、外部サービスと通信できます。SDKは、構成されたクライアント・パスを介してプロンプトおよびリクエスト・パラメータを転送しますが、周囲のアプリケーションおよびデプロイメントは引き続きこれらの接続を保護します。

次をお薦めします:

リソース枯渇ベクトルに関する考慮事項

メモリー・ワークフローは、データベースの使用率を高め、トラフィックを埋め込み、LLMトークンを経時的に消費できます。これは、悪意のある過剰使用と、サイズの超過メッセージや過剰な検索パターンなどの無実の実装ミスの両方に当てはまります。

本番の強化の一環として、次のコントロールを使用します。