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

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

AWS SRA 用の生成 AI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • カスタマイズされたモデル: 顧客データでカスタマイズされたモデルの場合、トレーニングデータに関する包括的な情報が利用可能な場合、個別のアカウントの方が分離と制御が向上します。 

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

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

Amazon Bedrock

Amazon Bedrock は、基盤モデル (FMs) を使用して生成 AI アプリケーションを簡単に構築およびスケーリングできる方法です。フルマネージドサービスとして、AI21 Labs、Anthropic、Cohere、Meta、Stability AI、Amazon など、主要な AI 企業の高性能 FMs の選択肢を提供します。また、生成 AI アプリケーションの構築に必要な幅広い機能を提供し、プライバシーとセキュリティを維持しながら開発を簡素化します。FMs、生成 AI アプリケーションとソリューションを開発するための構成要素として機能します。Amazon Bedrock へのアクセスを提供することで、ユーザーはユーザーフレンドリーなインターフェイスまたは Amazon Bedrock API を介してこれらの FMs を直接操作できます。Amazon Bedrock の目的は、1 つの 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 の責任ある AI ポリシー への潜在的な違反を特定します。Amazon Bedrock での不正使用検出の詳細については、Amazon Bedrock ドキュメント を参照してください。 

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

詳細については、生成 AI に対する AWS の安全なアプローチを参照してください。 

Amazon Bedrock のガードレール

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

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

フィルター強度

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

許可されたコンテンツの信頼度

なし

フィルタリングなし

なし、低、中、高

高い

なし、低、中

中程度

高、中

なし、低

高い

高、中、低

なし

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

セキュリティ

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

Amazon Bedrock モデル評価

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

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

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

セキュリティ

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

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