機能 2。生成 AI RAG 手法への安全なアクセス、使用、実装の提供 - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

機能 2。生成 AI RAG 手法への安全なアクセス、使用、実装の提供

次の図は、取得拡張生成 (RAG) 機能用に生成 AI アカウントに推奨される AWS サービスを示しています。このシナリオの範囲は、RAG 機能を保護することです。

RAG 機能の生成 AI アカウントに推奨される AWS のサービス

Generative AI アカウントには、ベクトルデータベースへの埋め込みの保存、ユーザーの会話の保存、プロンプトストアの維持に必要なサービス、およびセキュリティガードレールと一元化されたセキュリティガバナンスを実装するために必要な一連のセキュリティサービスが含まれます。VPC 環境がアクセスするように設定されている Amazon S3 のモデル呼び出しログ、プロンプトストア、ナレッジベースデータソースバケット用に Amazon S3 ゲートウェイエンドポイントを作成する必要があります。また、VPC 環境がアクセスするように設定されている CloudWatch ログ用に CloudWatch Logs ゲートウェイエンドポイントを作成する必要があります。

根拠

Retrieval Augmented Generation (RAG) は、回答を生成する前に外部の信頼できるナレッジベースから情報を取得することで、システムが応答を強化するために使用される生成 AI 手法です。このプロセスは、up-to-dateコンテキスト固有のデータにアクセスできるようにすることで、FMs の制限を克服するのに役立ちます。これにより、生成されたレスポンスの精度と関連性が向上します。このユースケースは、Generative AI Security Scoping Matrix のスコープ 3 を指します。スコープ 3 では、組織は Amazon Bedrock で提供されているような事前トレーニング済みの FM を使用して生成 AI アプリケーションを構築します。このスコープでは、アプリケーションとアプリケーションで使用される顧客データを制御しますが、FM プロバイダーは事前トレーニング済みのモデルとそのトレーニングデータを制御します。 

Amazon Bedrock ナレッジベースへのアクセス権をユーザーに付与する場合は、以下の主要なセキュリティ上の考慮事項に対処する必要があります。 

  • モデルの呼び出し、ナレッジベース、会話履歴、プロンプトストアへの安全なアクセス 

  • 会話、プロンプトストア、ナレッジベースの暗号化

  • プロンプトインジェクションや機密情報の開示などの潜在的なセキュリティリスクに関するアラート

次のセクションでは、これらのセキュリティ上の考慮事項と生成 AI 機能について説明します。 

設計上の考慮事項

機密データを使用して FM をカスタマイズしないことをお勧めします (このガイドの後半にある生成 AI モデルのカスタマイズに関するセクションを参照してください)。代わりに、RAG 手法を使用して機密情報を操作します。この方法にはいくつかの利点があります。 

  • より強力な制御と可視性。機密データをモデルから分離することで、機密情報をより詳細に制御および可視化できます。必要に応じてデータを簡単に編集、更新、または削除できるため、データガバナンスが向上します。 

  • 機密情報の開示の軽減。RAG を使用すると、モデルの呼び出し中に機密データとのやり取りをより制御できます。これにより、データがモデルのパラメータに直接組み込まれた場合に発生する可能性がある機密情報が意図せず開示されるリスクを軽減できます。 

  • 柔軟性と適応性。機密データをモデルから分離することで、柔軟性と適応性が向上します。データ要件または規制が変更されると、言語モデル全体を再トレーニングまたは再構築することなく、機密情報を更新または変更できます。

Amazon Bedrock ナレッジベース

Amazon Bedrock ナレッジベースを使用して、FMs を独自のデータソースに安全かつ効率的に接続することで、RAG アプリケーションを構築できます。この機能は、Amazon OpenSearch Serverless をベクトルストアとして使用して、データから関連情報を効率的に取得します。その後、データは FM によってレスポンスの生成に使用されます。データは Amazon S3 からナレッジベースに同期され、効率的な取得のために埋め込みが生成されます

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

生成 AI RAG ワークロードには、RAG データソースのデータ流出や、脅威アクターによる迅速なインジェクションやマルウェアによる RAG データソースのポイズニングなど、固有のリスクがあります。Amazon Bedrock ナレッジベースは、データ保護、アクセスコントロール、ネットワークセキュリティ、ログ記録とモニタリング、入出力検証のための堅牢なセキュリティコントロールを提供し、これらのリスクを軽減します。 

修復

データ保護

作成、所有、管理する AWS Key Management Service (AWS KMS) カスタマーマネージドキーを使用して、保管中のナレッジベースデータを暗号化します。ナレッジベースのデータ取り込みジョブを設定するときは、カスタマーマネージドキーを使用してジョブを暗号化します。Amazon Bedrock にナレッジベース用のベクトルストアを Amazon OpenSearch Service に作成させることを選択した場合、Amazon Bedrock は選択した AWS KMS キーを暗号化のために Amazon OpenSearch Service に渡すことができます。

AWS KMS キーを使用してナレッジベースのクエリからレスポンスを生成するセッションを暗号化できます。ナレッジベースのデータソースを S3 バケットに保存します。Amazon S3 のデータソースをカスタマーマネージドキーで暗号化する場合は、ナレッジベースのサービスロールにポリシーをアタッチします。ナレッジベースを含むベクトルストアが AWS Secrets Manager シークレットで設定されている場合は、カスタマーマネージドキーでシークレットを暗号化します。

詳細と使用するポリシーについては、Amazon Bedrock ドキュメントのナレッジベースリソースの暗号化を参照してください。

ID およびアクセス管理

最小特権の原則に従って、Amazon Bedrock のナレッジベースのカスタムサービスロールを作成します。Amazon Bedrock がこのロールを引き受けることを許可する信頼関係を作成し、ナレッジベースを作成および管理します。次の ID ポリシーをカスタムナレッジベースサービスロールにアタッチします。 

ナレッジベースは、ナレッジベースのデータアクセスポリシーとプライベート Amazon OpenSearch Serverless ナレッジベースのネットワークアクセスポリシーを設定するためのセキュリティ設定をサポートします。詳細については、Amazon Bedrock ドキュメントの「ナレッジベースサービスロールの作成」を参照してください。

入力と出力の検証

Amazon Bedrock ナレッジベースでは、入力の検証が不可欠です。Amazon S3 でマルウェア保護を使用して、ファイルをデータソースにアップロードする前に悪意のあるコンテンツがないかスキャンします。詳細については、AWS ブログ記事「Integrating Malware Scanning into Your Data Ingestion Pipeline with Antivirus for Amazon S3」を参照してください。

ナレッジベースのデータソースへのユーザーアップロードで潜在的なプロンプトインジェクションを特定して除外します。さらに、データインジェストパイプラインの別の入力検証コントロールとして、個人を特定できる情報 (PII) を検出して編集します。Amazon Comprehend は、ナレッジベースデータソースへのユーザーアップロードで PII データを検出して編集するのに役立ちます。詳細については、Amazon Comprehend ドキュメントの「PII エンティティの検出」を参照してください。

また、Amazon Macie を使用してナレッジベースのデータソース内の潜在的な機密データを検出してアラートを生成し、全体的なセキュリティとコンプライアンスを強化することをお勧めします。Amazon Bedrock のガードレールを実装して、コンテンツポリシーを適用し、安全でない入出力をブロックし、要件に基づいてモデルの動作を制御するのに役立ちます。

推奨される AWS のサービス

Amazon OpenSearch Serverless

Amazon OpenSearch Serverless は、Amazon OpenSearch Service のオンデマンドの自動スケーリング設定です。OpenSearch Serverless コレクションとは、アプリケーションのニーズに応じてコンピューティング性能をスケーリングする OpenSearch クラスターのことです。Amazon Bedrock ナレッジベースは、埋め込みに Amazon OpenSearch Serverless を使用し、OpenSearch Serverless ベクトルインデックス同期するデータソースに Amazon S3 を使用します。 https://aws.amazon.com/what-is/embeddings-in-machine-learning/ OpenSearch  

OpenSearch Serverless ベクトルストアに強力な認証と認可を実装します。ユーザーとロールに必要なアクセス許可のみを付与する最小特権の原則を実装します。 

OpenSearch Serverless のデータアクセスコントロールを使用すると、アクセスメカニズムやネットワークソースに関係なく、ユーザーがコレクションやインデックスにアクセスすることを許可できます。コレクションとインデックスリソースに適用されるデータアクセスポリシーを使用してアクセス許可を管理します。このパターンを使用する場合は、アプリケーションがユーザーのアイデンティティをナレッジベースに伝達し、ナレッジベースがロールまたは属性ベースのアクセスコントロールを適用することを確認します。これは、最小特権の原則を使用してナレッジベースのサービスロールを設定し、ロールへのアクセスを厳密に制御することで実現されます。 

OpenSearch Serverless は、AWS KMS によるサーバー側の暗号化をサポートし、保管中のデータを保護します。カスタマーマネージドキーを使用してそのデータを暗号化します。データソースを取り込むプロセスで一時的なデータストレージ用の AWS KMS キーを作成できるようにするには、Amazon Bedrock サービスロールのナレッジベースにポリシーをアタッチします。 

プライベートアクセスは、OpenSearch Serverless マネージド VPC エンドポイントと Amazon Bedrock などのサポートされている AWS サービスのいずれかまたは両方に適用できます。AWS PrivateLink を使用して、VPC と OpenSearch Serverless エンドポイントサービス間のプライベート接続を作成します。ネットワークポリシールールを使用して Amazon Bedrock アクセスを指定します。

Amazon CloudWatch を使用して OpenSearch Serverless をモニタリングします。Amazon CloudWatch は raw データを収集し、読み取り可能なほぼリアルタイムのメトリクスに加工します。 Amazon CloudWatch  OpenSearch Serverless は、OpenSearch Serverless の API コールをイベントとしてキャプチャする AWS CloudTrail と統合されています。  OpenSearch Service は Amazon EventBridge と統合して、ドメインに影響する特定のイベントを通知します。サードパーティーの監査者は、複数の AWS コンプライアンスプログラムの一環として OpenSearch Serverless のセキュリティとコンプライアンスを評価できます。

Amazon S3

ナレッジベースのデータソースを S3 バケットに保存します。カスタム AWS KMS キー (推奨) を使用して Amazon S3 でデータソースを暗号化した場合は、ナレッジベースのサービスロールポリシーをアタッチします。  Amazon S3 でマルウェア保護を使用して、ファイルをデータソースにアップロードする前に悪意のあるコンテンツがないかスキャンします。また、モデル呼び出しログと一般的に使用されるプロンプトを Amazon S3 のプロンプトストアとしてホストすることをお勧めします。すべてのバケットは、カスタマーマネージドキーで暗号化する必要があります。ネットワークセキュリティを強化するために、VPC 環境がアクセスするように設定されている S3 バケットのゲートウェイエンドポイントを作成できます。アクセスはログに記録し、モニタリングする必要があります。Enableversioning Amazon S3 オブジェクトの履歴を保持する必要がある場合。Amazon S3 オブジェクトロックでオブジェクトレベルのイミュータビリティを適用します。リソースベースのポリシーを使用して、Amazon S3 ファイルへのアクセスをより厳密に制御できます。 

Amazon Comprehend

Amazon Comprehend は、自然言語処理 (NLP) を使用してドキュメントのコンテンツからインサイトを抽出します。Amazon Comprehend を使用して、英語またはスペイン語のテキストドキュメントで PII エンティティを検出および編集できます。Amazon Comprehend をデータ取り込みパイプラインに統合すると、RAG ナレッジベースでインデックスを作成する前にドキュメントから PII エンティティを自動的に検出および編集できるため、コンプライアンスを確保し、ユーザーのプライバシーを保護します。ドキュメントタイプに応じて、Amazon Textract を使用してテキストを抽出し、分析と編集のために AWS Comprehend に送信できます。

Amazon S3 を使用すると、テキスト分析、トピックモデリング、またはカスタム Amazon Comprehend ジョブを作成するときに、入力ドキュメントを暗号化できます。Amazon Comprehend は AWS KMS と統合して、Start* ジョブと Create* ジョブのストレージボリューム内のデータを暗号化します。 および は、カスタマーマネージドキーを使用して Start* ジョブの出力結果を暗号化します。リソースポリシーで aws:SourceArn および aws:SourceAccount グローバル条件コンテキストキーを使用して、Amazon Comprehend がリソースに別のサービスに付与するアクセス許可を制限することをお勧めします。AWS PrivateLink を使用して、VPC と Amazon Comprehend エンドポイントサービス間のプライベート接続を作成します。 https://docs.aws.amazon.com/comprehend/latest/dg/cross-service-confused-deputy-prevention.html最小特権の原則を使用してAmazon Comprehend のアイデンティティベースのポリシーを実装します。Amazon Comprehend は、Amazon Comprehend の API コールをイベントとしてキャプチャする AWS CloudTrail と統合されています。サードパーティーの監査者は、複数の AWS コンプライアンスプログラムの一環として Amazon Comprehend のセキュリティとコンプライアンスを評価できます。

Amazon Macie

Macie は、データソース、モデル呼び出しログ、S3 バケットのプロンプトストアとして保存されているナレッジベース内の機密データを識別するのに役立ちます。Macie セキュリティのベストプラクティスについては、このガイダンスの前半の Macie セクションを参照してください。 

AWS KMS

カスタマーマネージドキーを使用して、ナレッジベースのデータ取り込みジョブAmazon OpenSearch Service ベクトルデータベース、ナレッジベースのクエリからレスポンスを生成するセッションAmazon S3 のモデル呼び出しログ、データソースをホストする S3 バケットを暗号化します。 

前のモデル推論セクションで説明したように、Amazon CloudWatch と Amazon CloudTrail を使用します。