QuickSight ユーザーで自分自身のロールを変更する

QuickSight ユーザーで自分自身のロールを変更する

AWS CLI を使うと、QuickSight ユーザーで自分自身のロールを変更したり、メールアドレスを変更したりできます。
Clock Icon2025.01.15

コーヒーが好きな emi です。

QuickSight には、QuickSight のアセットに対する権限を設定する IAM とは異なる QuickSight 独自のロールがあります。

QuickSight 独自のロール

QuickSight では以下のようなロールが 6 種類用意されており、アセットに対して実行できるアクションを制限できます。

1 Admin 管理者 QuickSight ユーザーとアカウントレベルの設定を管理し、アカウントの SPICE キャパシティーと年間サブスクリプションを購入できるユーザー。QuickSight のすべての作成機能を利用でき、必要に応じてアカウントを Standard Edition から Enterprise Edition にアップグレードできる。 請求上、QuickSight の作成者と管理者はどちらも「作成者」として認識される。
2 Author 作成者 データソースへの接続、分析の作成、ダッシュボードの作成ができるユーザー。パラメータや計算フィールドといった QuickSight の高度な機能を利用してインタラクティブなダッシュボードを作成し、ダッシュボードをアカウント内の別のユーザーに公開できる。
3 Reader 閲覧者 インタラクティブなダッシュボードを利用するユーザー。ウェブブラウザやモバイルアプリケーションから共有されたダッシュボードの閲覧、データのフィルタリング、詳細情報へのドリルダウン、CSV ファイルでのデータエクスポートを行う。閲覧者には SPICE 容量は割り当てられない。
4 Admin Pro 管理者プロ 管理者のすべての機能が含まれているほか、自然言語によるダッシュボードの構築、Q トピックの作成、エグゼクティブダッシュボードの概要、生成データストーリーの構築と共有の機能を含む Amazon Q の生成 BI が追加されている。
5 Author Pro 著者プロ 作成者のすべての機能が含まれているほか、自然言語によるダッシュボードの構築、Q トピックの作成、エグゼクティブダッシュボードの概要、生成データストーリーの構築と共有の機能を含む Amazon Q の生成 BI が追加されている。
6 Reader Pro リーダープロ 閲覧者のすべての機能に加え、エグゼクティブダッシュボードの概要や生成データストーリーを構築および共有する機能など、Amazon Q の生成 BI 機能が含まれる。

https://aws.amazon.com/jp/quicksight/resources/faqs/
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/managing-users.html

管理者ロール、管理者プロロールのユーザーであれば、QuickSight コンソールのユーザーページから各ユーザーのロールの変更ができます。しかし、ログインしている自分自身のロールは変更できません。
QuickSight コンソールで自分自身のロールを変更するために別途管理者以上の権限を持つロールのユーザーを作成すると、そのユーザーの料金が追加でかかってしまいます。
https://aws.amazon.com/jp/quicksight/pricing/

そこで、AWS CLI で自分自身のロールを変更できないか試したところ、できたので手順を紹介します。

QuickSight アカウント有効化(作成)直後の様子

バージニア北部リージョンで QuickSight アカウントを作成しています。デフォルトのエンタープライズエディションです。
認証方法はデフォルトの「IAM フェデレーティッド ID と QuickSight で管理されたユーザーを使用する」を選択しており、自身は IAM 権限を持っています。

QuickSight アカウントを作成したユーザーは自動的に「管理者(ADMIN)」ロールになっています。

コンソールを見ると、バージニア北部リージョンでは 2023 年に GA した Q in QuickSight の機能である「トピック」と「Data Stories」が見えています。
しかし、ロールが「管理者(ADMIN)」であるため、権限が足りず、トピックやデータストーリーの作成ボタンは表示されていません。
change-own-role-quicksight_1

change-own-role-quicksight_2

トピックやデータストーリーの作成を行うには「プロ」ロールである必要があります。

既存の設定確認

[QuickSight の管理] より、QuickSight の管理ページに遷移します。
QuickSight アカウントを作成した直後は以下のように、連絡先情報(アカウント通知用メールアドレス)に設定したメールアドレスで自身のロールが作成されており、ロールは「管理者(ADMIN)」となっていて、クリックできず、ロールは自分で変更できないようになっています。
change-own-role-quicksight_3

「アカウント設定」では連絡先情報(アカウント通知用メールアドレス)に設定したメールアドレスが確認できます。
change-own-role-quicksight_4

自分自身のロールを AWS CLI でプロロールに変更する

自分自身のロールを AWS CLI で変更していきます。
AWS CLI は CloudShell で実行します。今回は Q in QuickSight 利用のためバージニア北部リージョンを使用しているので、CloudShell を実行するリージョンに注意です。

まずは describe-user コマンドで、現在のユーザー情報を取得します。

aws quicksight describe-user \
  --user-name <ユーザー名> \
  --aws-account-id 123456789012 \
  --namespace default

▼実行結果

[cloudshell-user@ip-10-140-97-149 ~]$ aws quicksight describe-user \
>   --user-name kitani.emi \
>   --aws-account-id 123456789012 \
>   --namespace default
{
    "Status": 200,
    "User": {
        "Arn": "arn:aws:quicksight:us-east-1:123456789012:user/default/kitani.emi",
        "UserName": "kitani.emi",
        "Email": "<通知用メールアドレス@example.com>",
        "Role": "ADMIN",
        "IdentityType": "IAM",
        "Active": true,
        "PrincipalId": "federated/iam/AROA2VNNGI5TSUPTLHR2B:xxx"
    },
    "RequestId": "8f7c2397-dcff-4b9a-aaef-97ce90db723a"
}
[cloudshell-user@ip-10-140-97-149 ~]$ 

"Role": "ADMIN", となっており、管理者ロールであることが確認できます。

では、update-user コマンドで変更をかけます。
今回はロールを ADMIN_PRO に変更し、通知用メールアドレスをユーザー個別のものに変更します。

aws quicksight update-user \
  --user-name <ユーザー名> \
  --aws-account-id 123456789012 \
  --namespace default \
  --email <業務用メールアドレス@example.com> \
  --role ADMIN_PRO

▼実行結果

[cloudshell-user@ip-10-140-97-149 ~]$ aws quicksight update-user \
>   --user-name kitani.emi \
>   --aws-account-id 123456789012 \
>   --namespace default \
>   --email <業務用メールアドレス@example.com> \
>   --role ADMIN_PRO
{
    "Status": 200,
    "User": {
        "Arn": "arn:aws:quicksight:us-east-1:123456789012:user/default/kitani.emi",
        "UserName": "kitani.emi",
        "Email": "<業務用メールアドレス@example.com>",
        "Role": "ADMIN_PRO",
        "IdentityType": "IAM",
        "Active": true,
        "PrincipalId": "federated/iam/AROA2VNNGI5TSUPTLHR2B:xxx"
    },
    "RequestId": "f23458a4-db92-4943-9be8-a1f25908ae08"
}
[cloudshell-user@ip-10-140-97-149 ~]$ 

メールアドレスとロールが変更されました。

変更後の確認

ユーザー管理ページを見ると、ロールが管理者プロに変わっています。メールアドレスも変更できています。
change-own-role-quicksight_5

QuickSight アカウント自体の通知用メールアドレスは変わらずです。
change-own-role-quicksight_6

新しいトピックやデータストーリーの作成ボタンが表示されるようになっており、正常にプロロールが効いていることが分かります。
change-own-role-quicksight_7

change-own-role-quicksight_8

終わりに

AWS CLI を使えば自分自身の QuickSight ロールが変更できることが確認できました。
他の人にロールの変更を依頼しなくても自分自身で変更できて良いです。
もしうっかり QuickSight アカウントから管理者ロールのユーザーがいなくなってしまった場合も、AWS CLI からロールを変更してやればよいです。

質問やご要望については画面下部のお問い合わせ「DevelopersIO について」からご連絡ください。記事に関してお問い合わせいただけます。

参考

https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/changing-notification-email.html

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.