AWSドキュメントに登場するAmazon Qについて調べてみた #AWSreInvent

2023.12.11

こんにちは。たかやまです。

みなさんAmazon Q触っていますか?

Amazon QはAWSコンソールからのアクセスだけでなく、AWSドキュメントからも利用できるようになっています。

こちらのAmazon Q、AWSドキュメントでの利用にはAmazon Q BUILDERプランが必要となっています。
(GA版はComing Soonのため、料金表は今後変更される可能性があります)

ただ、AWSドキュメントに関してはAWSユーザではない方も利用できるため、アクセスの制御をどうするのか気になりました。

今回はこのあたりのアクセス方法について調べてみたのでその内容をお伝えします。

さきにまとめ

  • Cookie aws-userInfo がある場合に、AmazonドキュメントにAmazon Qが表示される
  • チャット中にセッションが切れるとAWSドキュメントのAmazon Qでもログインを促される
  • AWSドキュメントのAmaozn Qもログイン中のAWSユーザの権限に依存する

確認してみる

AWSにログインしていないユーザの場合

ブラウザのシークレットモードで開いていただくとわかりますが、AWSにログインしていないユーザの場合AWSドキュメントにAmazon Qは表示されません。

表示の有無はAWSログイン時に設定されるCookie aws-userInfo の有無で判断されているようです。

Cookieはブラウザの開発者ツールから確認できます。

Cmd + Option + I (Win : Ctrl + Shift + I)で開発者ツールを開く > Applicationタブ > Cookieで確認できます。

こちらのスクショではCookieが付与されているのでAWSドキュメントにAmazon Qが表示されています。

ちなみに aws-userInfo には以下のような情報が含まれています。

{
  "arn": "arn:aws:sts::<account-id>:assumed-role/<user-name>/<user-name>",
  "alias": "<account-id>",
  "username": "assumed-role%2F<user-name>%2F<user-name>",
  "keybase": "OThRNIdXXXXXXXXXXXXXXXXXTMVRP528PaDRg\u003d",
  "issuer": "https://www.amazon.com/ap/signin",
  "signinType": "PUBLIC"
}

Amazon Qチャット中にセッションが切れた場合

AWSログイン中のAmazon Qは以下のように表示されます。

Amazon Qのチャット中にセッションが切れるとどうなるでしょうか...?
さきほどの「aws-userInfo」cookieを削除して、セッション切れを再現してみます。

Amaozn Qチャット中にセッションが切れた場合には、Amazon Qのチャットボックス内でログインを促されるようです。

ログイン中のユーザにAmazon Qの権限がない場合

ここまで見ていただくと分かる通り、AWSドキュメントで利用するAmazon QもAWSログインユーザの権限に依存しています。

ここでAmazon Qの権限がないユーザでチャットした場合にどうなるか確認してみます。

まずは権限あるユーザの場合は問題なくチャットできることを確認します。

ここからRead Only権限のユーザでAWSにログインしてAmazon Qを利用してみます。

Read Only権限で再度チャットを試みると、You don't have permission to use Amazon Q. と表示され、権限不足でチャットができないことがわかります。

AWSドキュメントでAmazon Qを利用する場合も適切な権限を持ったユーザでログインする必要があることがわかります。

最後に

今回はAWSドキュメントに登場するAmazon Qについて調べてみました。

現時点のAmazon QはAWSログインユーザに依存していることがわかりました。

ただ、Amazon Qの料金体系としてユーザ単位になるようなので、現状のIAM Roleのように不特定多数のユーザが利用できる利用方法からは変更が予想されます。

現時点はプレビュー版ですので、Amazon Qの正式なユーザ管理方法については今後のアナウンスを待ちたいと思います。

以上、たかやま(@nyan_kotaroo)でした。