AWSの生成 AI SRA - AWS 規範ガイダンス

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

AWSの生成 AI SRA

このセクションでは、生成 AI を安全に使用してユーザーや組織の生産性と効率を向上させるための最新の推奨事項を提供します。これは、AWS セキュリティAWSサービスの完全な補完をマルチアカウント環境にデプロイするための SRA の包括的なガイドラインセットに基づく Amazon Bedrock の使用に焦点を当てています。このガイダンスは、エンタープライズグレードの安全なフレームワーク内で生成 AI 機能を有効にするために SRA に基づいています。Amazon Bedrock の生成 AI 機能に固有の IAM アクセス許可、データ保護、入出力検証、ネットワークの分離、ログ記録、モニタリングなどの主要なセキュリティコントロールについて説明します。

このガイダンスの対象となるのは、生成 AI 機能を組織やアプリケーションに安全に統合する責任を負うセキュリティプロフェッショナル、アーキテクト、デベロッパーです。 

SRA では、これらの Amazon Bedrock 生成 AI 機能のセキュリティ上の考慮事項とベストプラクティスについて説明します。 

このガイダンスでは、ユースケースに基づいて Amazon Bedrock 生成 AI 機能を従来の AWS ワークロードに統合する方法についても説明します。 

このガイダンスの以下のセクションでは、これら 4 つの機能のそれぞれについて、その機能とその使用の理論的根拠について説明し、その機能に関するセキュリティ上の考慮事項について説明し、AWS サービスと機能を使用してセキュリティ上の考慮事項 (修復) に対処する方法について説明します。基盤モデル (機能 1) を使用する理論的根拠、セキュリティ上の考慮事項、修復は、他のすべての機能に適用されます。これらはすべてモデル推論を使用するからです。例えば、ビジネスアプリケーションで取得拡張生成 (RAG) 機能を備えたカスタマイズされた Amazon Bedrock モデルを使用している場合は、機能 1、2、4 の理論的根拠、セキュリティ上の考慮事項、修復を考慮する必要があります。

次の図に示すアーキテクチャは、このガイドで前述した SRA AWS ワークロード OU の拡張です。

特定の OU は、生成 AI を使用するアプリケーション専用です。OU は、特定のビジネス機能を提供する従来の AWS アプリケーションをホストするアプリケーションアカウントで構成されます。この AWS アプリケーションは、Amazon Bedrock が提供する生成 AI 機能を使用します。これらの機能は、関連する Amazon Bedrock および関連する AWS サービスをホストする生成 AI アカウントから提供されます。アプリケーションタイプに基づいて AWS サービスをグループ化すると、OU 固有および AWS アカウント固有のサービスコントロールポリシーを通じてセキュリティコントロールを適用できます。これにより、強力なアクセスコントロールと最小特権の実装も簡単になります。これらの特定の OUs とアカウントに加えて、リファレンスアーキテクチャは、すべてのアプリケーションタイプに適用される基本的なセキュリティ機能を提供する追加の OUs とアカウントを示しています。組織管理セキュリティツールログアーカイブネットワーク共有サービスの各アカウントについては、このガイドの前のセクションで説明します。

設計上の考慮事項

アプリケーションアーキテクチャで、Amazon Bedrock が提供する生成 AI サービスやその他の AWS サービスを、ビジネスアプリケーションがホストされているのと同じアカウントに統合する必要がある場合は、アプリケーションと生成 AI アカウントを 1 つのアカウントにマージできます。これは、生成 AI の使用が AWS 組織全体に分散されている場合にも当てはまります。

生成 AIAWS をサポートする SRA アーキテクチャ
設計上の考慮事項

生成 AI アカウントは、ソフトウェア開発ライフサイクル (SDLC) 環境 (開発、テスト、本番など)、またはモデルやユーザーコミュニティに基づいてさらに分割できます。

  • SDLC 環境に基づくアカウント分離: ベストプラクティスとして、SDLC 環境を別々の OUs に分離します。この分離により、 がサポートする各環境の適切な分離と制御が保証されます。次の機能があります。

    • 制御されたアクセス。役割と責任に基づいて、さまざまなチームや個人に特定の環境へのアクセスを許可できます。 

    • リソースの分離。各環境には、他の環境と干渉することなく、独自の専用リソース (モデルやナレッジベースなど) を設定できます。 

    • コスト追跡。各環境に関連するコストは、個別に追跡およびモニタリングできます。 

    • リスクの軽減。ある環境 (開発など) の問題や実験は、他の環境 (本番環境など) の安定性には影響しません。 

  • モデルまたはユーザーコミュニティに基づくアカウント分離: 現在のアーキテクチャでは、1 つのアカウントが FMs Bedrock を介して複数の AWS にアクセスして推論できます。IAM ロールを使用して、ユーザーの役割と責任に基づいて、事前トレーニング済みの FMs へのアクセスコントロールを提供できます。(例については、Amazon Bedrock のドキュメントを参照してください。) 逆に、リスクレベル、モデル、またはユーザーコミュニティに基づいて生成 AI アカウントを分離することもできます。これは、特定のシナリオで有益な場合があります。 

    • ユーザーコミュニティのリスクレベル: ユーザーコミュニティごとにリスクレベルやアクセス要件が異なる場合、個別のアカウントが適切なアクセスコントロールとフィルターを適用するのに役立ちます。 

    • カスタマイズされたモデル: 顧客データでカスタマイズされたモデルの場合、トレーニングデータに関する包括的な情報が利用可能であれば、個別のアカウントでより適切に分離および制御できます。 

これらの考慮事項に基づいて、ユースケースに関連する特定の要件、セキュリティニーズ、運用上の複雑さを評価できます。主な焦点が Amazon Bedrock と事前トレーニング済みの FMs である場合、IAM ロールを持つ単一のアカウントが実行可能なアプローチになる可能性があります。ただし、モデルまたはユーザーコミュニティの分離に関する特定の要件がある場合、またはカスタマーロードモデルを使用する予定がある場合は、個別のアカウントが必要になる場合があります。最終的には、決定は、アプリケーション固有のニーズと、セキュリティ、運用の複雑さ、コストに関する考慮事項などの要因に基づいて決定する必要があります。

注: 次の議論と例を簡素化するために、このガイドでは IAM ロールを持つ単一の生成 AI アカウント戦略を想定しています。

Amazon Bedrock

Amazon Bedrock は、基盤モデル (FMs) を使用して生成 AI アプリケーションを簡単に構築およびスケーリングする方法です。フルマネージドサービスとして、FMs Labs、Anthropic、Cohere、Meta、Stability AI、Amazon など、主要な AI 企業から高パフォーマンスの AI21 を選択できます。また、生成 AI アプリケーションの構築に必要な幅広い機能を提供し、プライバシーとセキュリティを維持しながら開発を簡素化します。FMs は、生成 AI アプリケーションとソリューションを開発するための構成要素として機能します。Amazon Bedrock へのアクセスを提供することで、ユーザーはユーザーフレンドリーなインターフェイスまたは Amazon Bedrock FMs を介してこれらの単語を直接操作できます。 APIAmazon Bedrock の目的は、さまざまなモデルへの高速ピボットをサポートしながら、迅速な実験、カスタマイズ、本番環境へのデプロイのために、単一のAPIを通じてモデルの選択を提供することです。モデルの選択がすべてです。

事前にトレーニングされたモデルを試したり、特定のユースケースに合わせてモデルをカスタマイズしたり、アプリケーションやワークフローに統合したりできます。この FMs との直接的なやり取りにより、組織は生成 AI ソリューションを迅速にプロトタイプ化して反復処理し、複雑なモデルを最初からトレーニングするための広範なリソースや専門知識を必要とせずに、機械学習の最新の進歩を活用できます。Amazon Bedrock コンソールは、これらの強力な生成 AI 機能にアクセスして使用するプロセスを簡素化します。

Amazon Bedrock には、データのプライバシーとセキュリティに役立つさまざまなセキュリティ機能が用意されています。 

  • Amazon Bedrock によって処理されるすべてのユーザーコンテンツは、ユーザーによって分離され、保管時に暗号化され、Amazon Bedrock を使用している AWS リージョンに保存されます。コンテンツは、少なくとも TLS 1.2 を使用して転送中に暗号化されます。Amazon Bedrock でのデータ保護の詳細については、Amazon Bedrock のドキュメントを参照してください。 

  • Amazon Bedrock は、プロンプトと完了を保存またはログに記録しません。Amazon Bedrock は、AWS モデルのトレーニングにプロンプトと入力を使用しません。また、サードパーティーに配布することもしません。

  • FM を調整すると、変更ではそのモデルのプライベートコピーが使用されます。つまり、データはモデルプロバイダーと共有されたり、ベースモデルの改善に使用されたりすることはありません。 

  • Amazon Bedrock は、AWS Responsible AI ポリシーへの潜在的な違反を特定するための自動不正検出メカニズムを実装しています。Amazon Bedrock での不正検出の詳細については、Amazon Bedrock のドキュメントを参照してください。 

  • Amazon Bedrock は、国際標準化機構 (ISO)、システムおよび組織統制 (SOC)、連邦リスク認可管理プログラム (FedRAMP) Moderate、クラウドセキュリティアライアンス (CSA) Security Trust Assurance and Risk (STAR) Level 2 などの一般的なコンプライアンス標準の対象となっています。Amazon Bedrock は医療保険の相互運用性と説明責任に関する法律 (HIPAA) の対象であり、一般データ保護規則 (GDPR) に準拠してこのサービスを使用できます。AWS サービスが特定のコンプライアンスプログラムの対象であるかどうかを確認するには、「コンプライアンスプログラムによる AWS 対象範囲内のサービス」を参照して、関心のあるコンプライアンスプログラムを選択してください。 

詳細については、生成 AI に対する AWS の安全なアプローチを参照してください。 https://aws.amazon.com/ai/generative-ai/security/ 

Amazon Bedrock のガードレール

Amazon Bedrock のガードレールを使用すると、ユースケースと責任ある AI ポリシーに基づいて生成 AI アプリケーションの保護を実装できます。Amazon Bedrock のガードレールは、設定できるフィルター、ブロックするように定義できるトピック、およびコンテンツがブロックまたはフィルタリングされたときにユーザーに送信するメッセージで構成されます。

コンテンツのフィルタリングは、6 つの有害なカテゴリにわたるユーザー入力 (入力検証) と FM レスポンス (出力検証) の信頼度分類によって異なります。すべての入力ステートメントと出力ステートメントは、有害なカテゴリごとに 4 つの信頼レベル (なし、低、中、高) のいずれかに分類されます。カテゴリごとに、フィルターの強度を設定できます。次の表は、各フィルターの強度がブロックおよび許可するコンテンツの程度を示しています。

フィルター強度

ブロックされたコンテンツの信頼度

コンテンツの許容信頼度

なし

フィルタリングなし

なし、低、中、高

高い

なし、低、中

中程度

高、中

なし、低

高、中、低

なし

ガードレールを本番環境にデプロイする準備ができたら、そのバージョンを作成し、アプリケーションでガードレールのバージョンを呼び出します。Amazon Bedrock ドキュメントの「ガードレールをテストする」セクションのAPI」タブのステップに従います。 https://docs.aws.amazon.com/bedrock/latest/userguide/guardrails-test.html 

セキュリティ

デフォルトでは、ガードレールは AWS Key Management Services (Word AWSKMS) の AWS マネージドキーで暗号化されます。許可されていないユーザーがガードレールにアクセスでき、望ましくない変更が発生するのを防ぐため、カスタマーマネージドキーを使用してガードレールを暗号化し、最小特権の IAM アクセス許可を使用してガードレールへのアクセスを制限することをお勧めします。

Amazon Bedrock モデル評価

Amazon Bedrock はモデル評価ジョブをサポートしています。モデル評価ジョブの結果を使用してモデル出力を比較し、ダウンストリームの生成 AI アプリケーションに最適なモデルを選択できます。

自動モデル評価ジョブを使用して、カスタムプロンプトデータセットまたは組み込みデータセットを使用してモデルのパフォーマンスを評価できます。詳細については、Amazon Bedrock ドキュメントの「自動モデル評価の作成」および「モデル評価ジョブでのプロンプトデータセットの使用」を参照してください。

ヒューマンワーカーを使用するモデル評価ジョブは、評価プロセスに従業員や対象分野の専門家からの人間の意見を取り込みます。 

セキュリティ

モデル評価は開発環境で行う必要があります。非本番環境の整理に関する推奨事項については、「Organizing Your AWS Environment Using Multiple Accounts」ホワイトペーパーを参照してください。

すべてのモデル評価ジョブには、IAM アクセス許可と IAM サービスロールが必要です。詳細については、Amazon Bedrock コンソールを使用してモデル評価ジョブを作成するために必要なアクセス許可、サービスロールの要件、および必要な Cross-Origin Resource Sharing (Word) アクセス許可については、Amazon Bedrock ドキュメントを参照してください。人間のワーカーを使用する自動評価ジョブとモデル評価ジョブには、異なるサービスロールが必要です。CORSロールがモデル評価ジョブを実行するために必要なポリシーの詳細については、Amazon Bedrock ドキュメントの「自動モデル評価ジョブのサービスロール要件」および「人間による評価者を使用するモデル評価ジョブのサービスロール要件」を参照してください。

カスタムプロンプトデータセットの場合は、S3 バケットで CORS 設定を指定する必要があります。最低限必要な設定については、Amazon Bedrock のドキュメントを参照してください。ヒューマンワーカーによるモデル評価ジョブでは、作業チームが必要です。モデル評価ジョブをセットアップしながら作業チームを作成または管理し、Amazon SageMaker Ground Truth によって管理されるプライベートワークフォースにワーカーを追加できます。ジョブ設定以外で Amazon Bedrock で作成された作業チームを管理するには、Amazon Cognito または Amazon SageMaker Ground Truth コンソールを使用する必要があります。Amazon Bedrock は、作業チームごとに最大 50 人のワーカーをサポートします。

モデル評価ジョブ中、Amazon Bedrock はデータの一時コピーを作成し、ジョブの終了後にデータを削除します。AWS KMSキーを使用して暗号化します。デフォルトでは、データは AWS マネージドキーで暗号化されますが、代わりにカスタマーマネージドキーを使用することをお勧めします。詳細については、Amazon Bedrock ドキュメントの「モデル評価ジョブのデータ暗号化」を参照してください。