こんにちは、カスタマーサクセス課の本田です。
AWS Single Sign-OnからAmazon QuickSightに自己プロビジョニングする設定方法についてご紹介いたします。
- はじめに
- 構成図
- 設定手順
- 1.【AWS SSO側】AWS SSOのアプリケーションに「Amazon QuickSight」を追加する
- 2.【AWS SSO側】追加したAWS SSOのアプリケーション「Amazon QuickSight」の設定
- 3.【AWS QuickSight側】IDプロバイダにSAMLIdPとしてAWS SSOを作成する
- 4.【AWS QuickSight側】QuickSightの権限別にIAMポリシー、IAMロールを作成
- 5.【AWS SSO側】AWS SSOのアプリケーション「Amazon QuickSight」の属性マッピングを設定する
- 6.【AWS SSO側】AWS SSOのアプリケーション「Amazon QuickSight」の割り当て済みユーザーに任意のユーザーもしくはグループを割り当てる
- 7.【動作確認】QuickSightへの自己プロビジョニング、ログインテスト
- 設定上の注意点
- 運用上の注意点
- さいごに
はじめに
Amazon QuickSight (以下、QuickSight)はAWSのマネージドBIサービスです。
QuickSight Enterprise EditionにおけるユーザーID管理は、以下の3つの方法があります。
①Eメールアドレスによるユーザーの招待(QuickSight独自)
②IAM+フェデレーションによるSSO
③Active Directory 連携
今回はこのうち、AWS Single Sign-On(以下、AWS SSO)を使用した②IAM+フェデレーションによるSSOの設定方法のご紹介になります。
QuickSight Enterprise EditionにおけるユーザーID管理の詳細については、下記AWSドキュメントをご確認ください。
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/managing-users-enterprise.html
構成図
構成図は下図のようになります。
QuickSightユーザーの権限別にIAMロールを作成し、各IAMロールとAWS SSOをSAML連携させます。
QuickSightのユーザー権限の詳細については下記AWSドキュメントの「AmazonQuickSightにアクセスするようユーザーを招待する」の項6をご確認ください。
https://docs.aws.amazon.com/ja_jp/quicksight/latest/user/managing-users.html#inviting-users
設定手順
1.【AWS SSO側】AWS SSOのアプリケーションに「Amazon QuickSight」を追加する
1-1. [AWS SSO]-[アプリケーション]-[新規アプリケーションの追加]から「Amazon QuickSight」を検索し追加します
2.【AWS SSO側】追加したAWS SSOのアプリケーション「Amazon QuickSight」の設定
2-1. 必要に応じてアプリケーションの表示名を変更します
2-2. AWS SSO SAML メタデータファイルをダウンロードします その他、SAML構成に必要な情報はAmazon QuickSightアプリケーションにあらかじめ入力されているため、そのまま設定を保存します
3.【AWS QuickSight側】IDプロバイダにSAMLIdPとしてAWS SSOを作成する
3-1. QuickSight側のアカウントにログインし、[IAM]-[ID プロバイダ]からSAMLIdPとしてAWS SSOを追加します
メタデータドキュメントは2-2でダウンロードしたものをアップロードします
項目 | 値 |
---|---|
プロバイダのタイプ | SAML |
プロバイダ名 | AWSSSOtoQuickSight ※任意 |
メタデータドキュメント | ※2-2でダウンロードしたものをアップロード |
4.【AWS QuickSight側】QuickSightの権限別にIAMポリシー、IAMロールを作成
4-1. QuickSightの権限別に、下記JSONを使用し、IAMポリシーを作成します
QuickSight Readerユーザー用 IAMポリシー
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "quicksight:CreateReader", "Resource": "*" } ] }
QuickSight Authorユーザー用 IAMポリシー
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "quicksight:CreateUser", "Resource": "*" } ] }
4-2. QuickSightの権限別に、下記の値を設定し、IAMロールを作成します
QuickSight Readerユーザー用 IAMロールとQuickSight Authorユーザー用 IAMロールそれぞれ作成し、4-1で作成したユーザー用 IAMポリシーをそれぞれ紐づけます
項目 | 値 |
---|---|
信頼されたエンティティの種類 | SAML 2.0 フェデレーション |
SAML プロバイダ | AWSSSOtoQuickSight ※3-1で作成したもの |
アクセス許可 | プログラムによるアクセスと AWS マネジメントコンソールによるアクセスを許可する |
属性 | SAML:aud |
値 | https://signin.aws.amazon.com/saml |
QuickSight Readerユーザー用 IAMロール
QuickSight Authorユーザー用 IAMロール
5.【AWS SSO側】AWS SSOのアプリケーション「Amazon QuickSight」の属性マッピングを設定する
5-1. AWS SSO側のアカウントにログインし、AWS SSOのアプリケーション「Amazon QuickSight」の属性マッピングを下記で設定します
アプリケーションのユーザー属性 | この文字列値またはAWS SSOのユーザー属性にマッピング | 形式 |
---|---|---|
Subject | ${user:email} | emailAddress |
https://aws.amazon.com/SAML/Attributes/RoleSessionName | ${user:email} | unspecified |
https://aws.amazon.com/SAML/Attributes/Role | arn:aws:iam::<AWSアカウントID>:role/<IAMロール名>,arn:aws:iam::<AWSアカウントID>:saml-provider/<IDプロバイダ名> | unspecified |
6.【AWS SSO側】AWS SSOのアプリケーション「Amazon QuickSight」の割り当て済みユーザーに任意のユーザーもしくはグループを割り当てる
6-1. AWS SSOのアプリケーション「Amazon QuickSight」の割り当て済みユーザーに任意のユーザーもしくはグループを割り当てます
7.【動作確認】QuickSightへの自己プロビジョニング、ログインテスト
7-1. 6-1で追加したユーザーでAWS SSOのユーザーポータルにログインします
7-2. 追加したアプリケーション「Amazon QuickSight - Reader」を選択します
7-3. 初回の自己プロビジョニング時にはQuickSight側でメールアドレスの登録が求められるので入力し、[続行]をクリックします
7-4. QuickSightにログインできることを確認します
Usernameは<利用しているIAMロール>/<メールアドレス>となります
設定上の注意点
設定にあたり、注意点が2点あります。
1点目はAWS SSOのQuickSightアプリケーションの作成についてです。
AWS SSOアプリケーションでは割り当てユーザー別に属性マッピングを設定することができないため、
ユーザーもしくグループ毎に割り当てたい権限が異なる場合は、今回の構成図のようにQuickSightの権限毎(Author,Reader毎)に
QuickSightアプリケーションを作成する必要があります。
2点目はAWS SSO側のユーザーのプロファイルについてです。
QuickSihgtの属性マッピングで${user:email}を設定しているため、
AWS SSOのユーザープロファイルにEメールアドレスが設定されている必要があります。
運用上の注意点
運用上の注意点として、QuickSightユーザーの削除は手動で行う必要があることが挙げられます。 AWS SSO上のユーザーを削除しても、QuickSight側のユーザーは削除されないのでご注意ください。
QuickSight Enterprise Editionでは、ユーザー権限別に料金体系が異なります。 Readersユーザーに関してはセッション課金となるため、ユーザー数自体は課金に関係ありませんが、 Authorsユーザーに関してはユーザー数での課金となるため、注意が必要です。
QuickSightユーザー毎の料金形態の詳細に関しては、下記ページをご確認ください。 https://aws.amazon.com/jp/quicksight/pricing/
また、今回のようにIAMとフェデレーションによるSSO経由で作成されたQuickSightユーザーについては、IAMとフェデレーションによるSSO経由でのみログインできるユーザーとなります。
QuickSightのサインインページから直接ユーザー名とパスワードを記入してログインすることはできません。
さいごに
AWS SSOからAmazon QuickSightに自己プロビジョニングする設定方法についてご紹介しました。
AWS SSOとAmazon QuickSightのユーザーを一元管理できるので便利です!