[アップデート] Amazon QuickSight で AWS IAM Identity Center の統合機能がサポートされました

2023.08.16

いわさです。

Amazon QuickSight にはシングルサインオンを有効化するオプションがあり、外部 IdP と SAML 連携させることが出来ます。
これまではその外部 IdP 連携の仕組みを使って IAM Identity Center のユーザーを QuickSight へ連携させる方法がありました。

先日のアップデートで、Amazon QuickSight でアカウントを有効化する際に、IAM Identity Center との統合を有効化出来るようになりました。

これを使うと、従来は必要であった追加のシングルサインオン設定が不要になります。
また、今回試してみたところ、どうやら通常の IdP 連携機能を透過的に使えるようにする機能拡張ではなく、IAM Identity Center がネイティブに統合されている雰囲気を感じます。

今回実際に検証してみましたので、設定方法から使用感などをお伝えできればと思います。

検証用の Organizaions 環境について

前提として、IAM Identity Center を使うということで、AWS Organizations が必要です。
今回私が普段使っている次の Organizations 環境を使用しました。

QuickSight はメンバーアカウントごとにサブスクライブして QuickSight アカウントという形で環境が提供されます。
既存環境では、管理アカウント上で既に QuickSight アカウントをサブスクライブ済みでした。こちらで有効化出来るかを見てみました。
また、hoge0328 という名前の QuickSight がまだサブスクライブされていないアカウントで新しく QuickSight アカウントをサブスクライブもしてみました。

また、Organizations の管理アカウントで IAM Identity Center を有効化します。
今回は IAM Identity Center と QuickSight のホームリージョンをともに東京リージョンで構成していますが、QuickSight で IAM Identity Center を構成する際にホームリージョンが選択出来そうでしたので、別のリージョンの組み合わせもできそうです(未検証)

ここでは管理ユーザーを 1 名作成しました。

また、後述しますがユーザーの他にグループも必須です。
管理者用、作成者用、リーダー用で最低 1 グループづつ作成しておきましょう。

今回作成したユーザーは管理者用グループ(qs-admin)に追加してあります。

新規サブスクライブ時のみ有効化が可能

既存アカウントについては確認した結果だけお伝えしますが、どうやら既存の QuickSight アカウントに対して IAM Identity Center 統合を有効化することは出来ないようです。
今回の IAM Identity Center 統合は QuickSight アカウントに対して設定する必要がありますが、既存のアカウントに対して設定するユーザーインターフェースや API が確認出来ませんでした。

例えば、AWS CLI の場合であればcreate-account-subscriptionでのみ設定が可能です。

そのため、以降ではまだ QuickSight をサブスクライブしていないメンバーアカウントで有効化を行ってみます。

新規 QuickSight アカウントで有効化する流れ

設定の流れは簡単で、普通に QuickSight アカウントをサインアップする流れの中で選択肢として出てきます。
「Sign up for QuickSight」を選択します。

エンタープライズ版でのみ利用可能

今回使えるようになったIAM Identity Center 統合機能はエンタープライズ版のみで利用が可能です。
そのためスタンダード版以外でサインアップします。少しだけ料金が違ってくるのでその点はご注意ください。

余談:Paginated Reports 有効化しそうになるので注意しよう

今はエンタープライズ版でサインアップ進めるとこのような画面が表示されるのですね。
ここで「はい」を押すと追加で月額 500 ドル発生する Paginated Reports アドオンが有効化されるので気軽に選択しないようにご注意ください。
とても良い機能ですが、料金が大きめでしかもキャンセルして即料金の発生が停止するわけでもないので、必要なタイミングで有効化しましょう。これはサインアップのタイミング以外でもいつでも有効化出来ます。

Paginated Reports 見るたびにこの記事の「ここからは完全に余談なのですが」の部分を思い出してしまう。

認証方法選択時に IAM Identity Center を選択する

続いて認証方法の選択です。
ここが今回のアップデートのポイントですね。

認証方法で「Use AWS IAM Identity Center」が選択出来るようになっていますのでこちらを選択してください。

そうすると組織内で構成済みの IAM Identity Center が検出されます。

もしまだ IAM Identity Center が有効化されていない場合は次のように先に IAM Identity Center を有効化してきてよねと言われます。

AWS IAM Identity Center is not enabled for this AWS account. Go to the AWS IAM Identity Center console.

IAM Identity Center を有効化済みであれば自動で検出され設定に進むことが出来るはず。

ここで、ポイントなのですが QuickSight には管理者・作成者・閲覧者の 3 つのロールが存在しています。
IAM Identity Center を統合させる場合は IAM Identity Center グループベースで QuickSight ロールの割当がされます。
そのため、ロールごとに IAM Identity Center で事前作成済みのグループを選択します。

グループが作成済みであれば次のように選択出来る状態になります。

また、ロールごとに複数のグループを割り当てることが出来ます。

サインイン時に IAM Identity Center の認証が必要になる

これで構成は完了です。
QuickSight を使い始めてみましょう。

QuickSight に移動すると次のように IAM Identity Center のサインイン画面が表示されるのでサインインします。

初回のサインインなのでこのタイミングで QuickSight 上に対象ユーザーのアセットなども作成されます。
ログイン後次のように見慣れた画面が表示されました。まずは IAM Identity Center 認証で QuickSight へアクセスすることが出来ましたね。

基本的な構成はここまでです。

上記の IAM Identity Center と QuickSight の統合を行うと、IAM Identity Center 側のアプリケーションで QuickSight のものが作成されています。

そして、こちらでも自動で選択したグループが Identity Center アプリケーションに割当されていることがわかります。
QuickSight と IAM Identity Center の間で全部自動でやってくれてますね。すごい。

ユーザーやグループは全て IAM Identity Center で管理

IAM Identity Center 統合後に管理機能を眺めていたところ、ユーザー管理機能が大きく従来と異なっていることに気が付きました。
また、グループの管理機能が無くなっています。

従来のシングルサインオンでは IdP から SAML 連携で特定の IAM ロールベースのセッションが作成され、それをベースに QuickSight ユーザーが作成されていたと思います。
IAM Identity Center の場合は次のように管理ユーザーが確認出来るのみです。IAM Identity Center のグループにしたがって QuickSight マネージドで管理されてます。ここから無効化なども出来ません。

また、上記の「ロールグループの管理」機能からは次のように QuickSight ロールと IAM Identity Center グループのマッピング設定を変更することが出来るようになっています。なるほど。

ここでも統合済み IAM Identity Center で作成済みのグループを選択する形となっています。

ユーザー追加

ここでは QuickSight にアクセスするユーザーを追加してみたいと思います。
先程見ていただいたように QuickSight 側ではユーザー管理を行うことが出来ません。従来は IAM ベースと QuickSight 独自でハイブリッドなユーザー管理が出来ていたと思いますが、今回の IAM Identity Center 統合機能を使うと完全に IAM Identity Center 管理になります。

そのため IAM Identity Center でユーザー追加を行います。
閲覧者用のグループに所属するユーザーを追加しました。

IAM Identity Center のアプリケーションあるいは QuickSight のサインイン画面から QuickSight アカウント名を入力しましょう。
IAM Identity Center 認証画面にリダイレクトされるはず。

閲覧者を想定したユーザーでサインインします。

QuickSight にアクセスすることが出来ました。
分析やデータセットにアクセス出来ないので閲覧者権限になっていますね。しっかり割当したグループベースで制御出来てそうです。

QuickSight ロールの変更

IAM Identity Center の閲覧者グループに所属していたユーザーを、管理者グループにも所属させてみます。

先程まで閲覧者だったユーザーで QuickSight へサインインしてみると、次のように管理者メニューにアクセス出来るようになりました。

また、ユーザー管理画面の「今月のアクティブなユーザー」にリーダーが表示されました。

次は先程の逆で、管理者グループから削除してみましょう。

QuickSight にサインインし直してみると、先程までアクセス出来ていた管理者相当の機能にアクセスできなくなっています。
良いですね。

QuickSight アクセス権の無効化

QuickSight に関連づけされている IAM Identity Center グループのどこにも所属されない状態に変更してみたところ、サインインしても QuickSight ダッシュボードにアクセスができなくなりました。

IAM Identity Center にサインインしても、再び QuickSight アカウント名の入力を要求されます。

ユーザーアクセスの無効化もうまく出来そうですね。

ダッシュボードの共有などは QuickSight 上で

ユーザーやグループの管理は IAM Identity Center で行う形ですが、ユーザー間でアセットを共有する際には QuickSight 上で行うことが出来ます。
ここでは管理者から閲覧者へのダッシュボード共有を行ってみました。

従来は QuickSight 管理下のユーザーベースで指定していましたがどのように制御出来るのでしょうか。

試してみたところ、IAM Identity Center のユーザーベースで指定することが出来ました。

また、IAM Identity Center グループベースでの指定も行うことが出来ます。

ちゃんと共有されていることも確認出来ました。

IAM ユーザーではアクセス出来ないが、一部管理機能だけ使える

IAM Identity Center のユーザーと完全に統合されているため、IAM ユーザーや QuickSight ユーザーとしての管理ができなくなりました。
ただし、IAM ユーザーとしてサインインしている場合でも、QuickSight の一部の管理機能にだけはアクセスが出来ます。

次のようにサブスクリプション解除やユーザーグループロールの紐づけ設定などが可能になっています。

なお、冒頭紹介した管理アカウントの既存の QuickSight アカウントでは従来どおりのアクセスが可能となっており。
別アカウントでの AWS IAM Identity Center の有効化の影響は無いことを確認しました。

さいごに

本日は Amazon QuickSight で AWS IAM Identity Center の統合機能がサポートされたので実際に使ってみました。

従来もシングルサインオンさせる機能があったので、そのあたりの設定を簡易的に行ってくれるような機能なのかなと最初想像していたのですが全然違いました。
QuickSight と内部的な部分でしっかり統合されてる感じがしますね。

従来 IAM Identity Center と統合していたけどグループなど二重管理が必要だった部分が全て IAM Identity Center で管理されるようになったので非常に直感的に使いやすくなったのではないでしょうか。
また、QuickSigt のシングルサインオン機能はちょっと難易度が高くて構成するのが面倒だなという気持ちが正直あったのですが、今回使ってみたところ非常に簡単に構成することが出来ました。

残念ながら既存の QuickSight アカウントには設定出来ないので、別のアカウントなどで IAM Identity Center と統合してアセットの移行などする必要がありそうですが、需要はありそうなので移行方法についてもそのうちサポートされないかと期待しています。