[レポート] DeepDive: Amazon Bedrockのセキュリティアーキテクチャ #APS224 #AWSreInforce

AWS re:Inforce 2024 APS224 Deep dive into Amazon Bedrock security architecture のセッションレポートです。 Amazon Bedrockでどのようにセキュリティを高めることができるのかを確認できるLTでした。

こんにちは! AWS 事業本部コンサルティング部のトクヤマシュンです。

フィラデルフィアで開催されている AWS re:Inforce 2024 に参加していました。

本記事は AWS re:Inforce 2024 のセッション「Deep dive into Amazon Bedrock security architecture」のセッションレポートです。
Amazon Bedrockでどのようにセキュリティを高めるか、という内容が含まれているセッション(Lightning talk)でした。

セッション概要

Generative AI applications present new challenges for maintaining data control, protection, and privacy. Join the Amazon Bedrock team in this lightning talk and learn how Amazon Bedrock's security architecture empowers you to securely build and deploy generative AI applications while maintaining full control over your data. Explore the design of Amazon Bedrock components and how they include IAM, AWS KMS, network controls, and other security constructs to help ensure data security. Discover best practices for architecting secure generative AI applications on Amazon Bedrock, and leave with an understanding of the Amazon Bedrock approach to model safety and responsible AI development.

時間は20分でしたが、重要な内容が詰まっていました。
動画もすでに公開されていましたので、興味ある方はぜひご覧ください。

本ブログでは簡単に内容をサマリしてお伝えします。

内容サマリ

Amazon Bedrock keeps data secure and private

Amazon Bedrockではデータをセキュアかつプライベートなものとして保持します。
次のような特徴を持ちます。

  • 顧客データを基盤モデルの学習に使うことはない
  • 保管データは最低でもTLS1.2で暗号化
    • 暗号化にはAmazon管理キーもしくはカスタマー管理キーが利用可能
  • Fine-tuned モデルはカスタマー管理キーで暗号化された上で保管
  • カスタマイズモデルにアクセスできるのは自分だけ
  • IAMを用いたアクセス権限管理が可能
  • GDPR、HIPAA、PCIを含むデータプライバシーポリシーをサポート

On-demand vs. provisioned compute capacity

Amazon Bedrockには「On-demand」、「Provisioned throughput」「Batch」の3つのモードがあります。
ここでは「On-demand」と「Provisioned」の違いについて述べられていました。

  • 共通する特徴
    • 推論リクエストの入力または出力テキストは、いかなるモデルのトレーニングにも使用されない
    • デプロイメントはAmazon Bedrockサービスチームが所有および運営するAWSアカウント内で行われる
    • モデルベンダーは顧客データに一切アクセスできない
  • On-demandだけの特徴
    • すべての顧客が同じデプロイメントを利用する
    • サポートされているモデルのベースラインバージョンを持つ
  • Provisionedだけの特徴
    • 単一の顧客がデプロイメントを占有する
    • ベースラインモデルのプライベートコピーを持ち、顧客によるFine Tuningが可能

ここからはそれぞれのアーキテクチャを確認します。

On-demand compute architecture overview

On-demand の場合のアーキテクチャは次のようになっています。

Amazon Bedrockサービスを提供しているサービスアカウントは、AWS CloudTrailによる証跡管理、AWS IAMによるアクセス権限管理、Amazon CloudWatchによるログ・メトリクス管理に対応しています。

BedrockサービスからはRuntime Interfaceを通じて、モデルがデプロイされているアカウントと通信します。
このアカウントはAWSが所持しているもので、Base modelをS3バケットから取得し、On-demandで推論処理を実行し、結果をBedrock Serviceに返します。

Provisioned capacity architecture overview

Provisioned capacityの場合のアーキテクチャは次のようになっています。

先ほどと異なる点として、ModelがデプロイされているアカウントにFine-tunedモデルを保管するS3バケットが追加されています。
カスタムモデルを利用するには、Runtime interfaceからはモデルIDもしくはARN(Amazon Resource Name)を指定することが必要です。

Model fine-tuning architecture overview

先ほど出てきたFine-tunedモデルを作成する場合のアーキテクチャがこちらの図です。

トレーニングのオーケストレーションはAmazon Bedrockのサービスアカウントから行います。
トレーニング自体はモデルがデプロイされているアカウント上でAmazon Sagemakerによって行われます。
顧客アカウントのトレーニングデータとベースモデルを入力とし、Fine-tuneモデルを作成します。

Guardrail for Amazon Bedrock

安全にBedrockを利用するためには、ガードレールを設けて意図しない利用を防ぐことが重要です。
そのための機能としてGuardrail for Amazon Bedrockがあります。

  • 利用可能なモデルやAgentの範囲を定める
  • 有害コンテンツフィルターを設定する
  • 短い自然言語表現によって拒否トピックを定義し、取り扱いたくないトピックを禁止する
  • FM(Foundation Model、基盤モデル)の応答において、個人を特定できる情報(PLL)などの機密情報を編集し、特定の単語および正規表現フィルターを適用する

なお、2024/6/15現在、Guardrail for Amazon Bedrockは英語のみの対応となっていますのでご注意ください。日本語など他の言語をインプットとする場合、予期しない挙動を取る可能性があります。

How it works: Guardrails for Amazon Bedrock

ガードレールの動作イメージは次のとおりです。

  • ユーザーの入力および基盤モデルの出力にガードレールをかける
  • ガードレールは次のようなもの
    • 拒否トピック
    • コンテンツフィルター
    • 個人を特定できる情報(PLL)
    • 単語フィルター
  • これらのガードレールを経由してレスポンスを生成

レポートは以上です。

終わりに

「Deep dive into Amazon Bedrock security architecture」のセッションレポートをお届けしました。
Amazon Bedrockを使ってみたいけどセキュリティが気になる方にとって、どのようにセキュリティを高めることができるのかを確認できる良いLightning Talkだったと思います。

本レポートがどなたかのお役に立てば幸いです。