[レポート]「Amazon Q Business Chat APIを安全に呼び出す方法を学ぶ」というセッションに参加しました #AIM405 #AWSreInvent

[レポート]「Amazon Q Business Chat APIを安全に呼び出す方法を学ぶ」というセッションに参加しました #AIM405 #AWSreInvent

こんにちは、AWS事業本部の荒平(@0Air)です。
AWS re:Invent 2024では、ラスベガスへ現地参加しています!

本エントリでは、参加したCode Talkセッション「Learn to securely invoke Amazon Q Business Chat API」について紹介します。
Code Talkタイプのセッションは、画面にエディタが投影され、スピーカーの方がコードを読みながら参加者と対話を進めます。

3行まとめ

本記事の内容を要約しました。

  • Amazon Q Businessをご利用中、かつセキュリティに課題のある方が対象
  • セキュリティ向上のためには認証を利用するため、IAM周りの知識が少し必要
  • AWSのセキュリティサービスを利用することで簡単に実装ができる

セッション概要

Join this code talk to learn how to use Amazon Q Business identity-aware ChatSync API. First, hear an overview of identity-aware APIs, and then learn how to configure an identity provider as a trusted token issuer. Next, discover how your application can obtain an STS token to assume a role that calls the ChatSync API. Finally, see how a client-side application uses the ChatSync API to answer questions from your documents indexed in Q Business.

Zuhayr Raghib

(訳文)
このコードトークに参加して、Amazon Q Businessのアイデンティティ認識型ChatSync APIの使用方法を学びましょう。まず、アイデンティティ認識型APIの概要を説明し、信頼されたトークン発行者としてのアイデンティティプロバイダーの設定方法を説明します。次に、アプリケーションがSTSトークンを取得してChatSync APIを呼び出す役割を担う方法を説明します。最後に、クライアントサイドのアプリケーションがChatSync APIを使用して、Q Businessでインデックス化されたドキュメントからの質問に回答する方法を説明します。

スピーカー

  • Zuhayr Raghib, Gen AI SSA, AWS
  • Rajesh Ravi, Sr. Generative AI Solutions Architect, AWS

レベル

  • 400 – Expert

セッション内容

Amazon Q BusinessのChat APIをセキュアに叩こう

スピーカーのRajeshさんはこの分野のスペシャリストの方でした。
Amazon Qは発展途上のサービスのイメージでしたが、実はもう米国ではユーザーの利用が進んできているようです。

会場は30人ほどの参加でしたが、他の日本人はいなかったので、言語対応のところがやはりネックなのかな?と思いました。

image-20241205004825430

AWSが取り組む生成AIツールの概要

まずは現時点で発表されているGenerative AIのツール・サービスの紹介です。
インフラ基盤として、先日発表されたAmazon EC2 UltraClustersについても触れられていました。

image-20241205005304670

顧客がRAGを利用するための基盤として、40以上の組み込みコネクタが用意されており、スライドはその一部です。
これらをKnowledge Baseとして利用します。

image-20241205005453898

Amazon Q Businessのセキュリティ

扱うデータが機微になるほど、セキュリティは重要視されています。
一つの例として、Amazon Q Businessでは、ユーザーからのクエリに対し、IdPで認証を行い、コンテンツを取得、そしてユーザーに対して割り当てられた権限でフィルタした結果を返しています。

image-20241205005853453

セキュアな接続を行うには、Identity providerを経由して、AWS Identity Center, IAM OIDC provider, IAM SAML providerのいずれかによって信頼される必要があります。

そして、そのトークン(sts)を利用することでプライベートに接続が可能です。

image-20241205010158613

フェデレーション方法の比較

利用用途によって、利用するプロバイダーを使い分ける必要があります。
例えば、組織内に属する全てのアカウントがサービスを利用する場合は、AWS Organizations Instanceを使用します。

image-20241205010535026

コードトーク(デモ)

サンプルアプリケーションのフローです。

Amazon Cognitoでユーザー認証を行い、認証コードを受け取ります。
アプリケーションはOIDC tokenを受け取り、IAM Identity Centerと交換し、STSコンテキストを取得します。
最後にアプリケーションがSTSコンテキストを使用してIAMロールを引き受け、一時的な認証情報でAmazon Q Business chat APIを呼び出します。

こうすることでユーザーは安全にAmazon Qへ接続できます。

image-20241205010908789

(座席の都合上、フォントサイズが小さく見えなかったため、現地で汲み取れない部分がありましたがそちらはご了承ください)

画面左がアプリケーション(Flask)ログ、右側がアプリケーションのソースコードです。

image-20241205011813314

デモアプリの画面です。

image-20241205012037670

Eメールとパスワードを入力し、サインインします。

image-20241205012112753

サインインに成功すると、OIDC identity tokenが返り、IdPからのトークンを待ちます。
(デモのため、ステップごとに待機を置いているようですが、実際はノンステップで次の動作が行われます)

image-20241205012159294

Identity CenterからIAMトークンが返りました。続いてSTSを取得します。

image-20241205012525603

STSを取得し、Amazon Q Business Chat APIが叩ける状態であることが確認できました。

image-20241205012801418

Identity Center側で信頼されたトークンとして登録されています。

image-20241205013159420

なお、Amazon Q Business側はデータソースの設定がされており、無事情報が取り出せました。
(写真は取りこぼしました...)

image-20241205013309826

まとめ

Amazon Q Businessは40以上の組み込みコネクタがあり、体験に優れています。
また、AWSのエコシステムが利用でき、IAM Identity Center、CloudTrail、PrivateLinkなどと組み合わせることで柔軟でセキュアなソリューションが開発できます。

image-20241205013411528

感想

私自身、Amazon Q Businessに触れたことがなかったので興味深く聴講していました。
Amazon Qのデータソースとしてかなり多くのサービスが統合できるようになっており、諸般の事情により一般のLLMでRAGを構築(利用)できない場合でも、セキュアなAmazon Q Businessを利用できるシーンはあるかもしれません。

Amazon Qが日本語対応すれば更に利用は加速しそうです!

このエントリが誰かの助けになれば幸いです。

それでは、AWS事業本部 コンサルティング部の荒平(@0Air)がお送りしました!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.