AWS Single Sign-OnからAmazon QuickSightに自己プロビジョニングする方法

記事タイトルとURLをコピーする

こんにちは、カスタマーサクセス課の本田です。

AWS Single Sign-OnからAmazon 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

構成図

構成図は下図のようになります。
f:id:swx-mikan-honda:20220131153135p:plain

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」を検索し追加します f:id:swx-mikan-honda:20220131160345p:plain

2.【AWS SSO側】追加したAWS SSOのアプリケーション「Amazon QuickSight」の設定

2-1. 必要に応じてアプリケーションの表示名を変更します f:id:swx-mikan-honda:20220131160734p:plain

2-2. AWS SSO SAML メタデータファイルをダウンロードします f:id:swx-mikan-honda:20220131160848p:plain その他、SAML構成に必要な情報はAmazon QuickSightアプリケーションにあらかじめ入力されているため、そのまま設定を保存します

3.【AWS QuickSight側】IDプロバイダにSAMLIdPとしてAWS SSOを作成する

3-1. QuickSight側のアカウントにログインし、[IAM]-[ID プロバイダ]からSAMLIdPとしてAWS SSOを追加します
メタデータドキュメントは2-2でダウンロードしたものをアップロードします

項目
プロバイダのタイプ SAML
プロバイダ名 AWSSSOtoQuickSight ※任意
メタデータドキュメント ※2-2でダウンロードしたものをアップロード

f:id:swx-mikan-honda:20220131163155p:plain

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": "*"
        }
    ]
}

f:id:swx-mikan-honda:20220131171919p:plain

QuickSight Authorユーザー用 IAMポリシー

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "quicksight:CreateUser",
            "Resource": "*"
        }
    ]
}

f:id:swx-mikan-honda:20220131172230p:plain

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

f:id:swx-mikan-honda:20220131174519p:plain

QuickSight Readerユーザー用 IAMロール f:id:swx-mikan-honda:20220131175620p:plain

QuickSight Authorユーザー用 IAMロール f:id:swx-mikan-honda:20220131175430p:plain

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

f:id:swx-mikan-honda:20220201174355p:plain

6.【AWS SSO側】AWS SSOのアプリケーション「Amazon QuickSight」の割り当て済みユーザーに任意のユーザーもしくはグループを割り当てる

6-1. AWS SSOのアプリケーション「Amazon QuickSight」の割り当て済みユーザーに任意のユーザーもしくはグループを割り当てます f:id:swx-mikan-honda:20220131190316p:plain

7.【動作確認】QuickSightへの自己プロビジョニング、ログインテスト

7-1. 6-1で追加したユーザーでAWS SSOのユーザーポータルにログインします
7-2. 追加したアプリケーション「Amazon QuickSight - Reader」を選択します
f:id:swx-mikan-honda:20220201173709p:plain 7-3. 初回の自己プロビジョニング時にはQuickSight側でメールアドレスの登録が求められるので入力し、[続行]をクリックします f:id:swx-mikan-honda:20220202160038p:plain 7-4. QuickSightにログインできることを確認します
Usernameは<利用しているIAMロール>/<メールアドレス>となります f:id:swx-mikan-honda:20220201175857p:plain

設定上の注意点

設定にあたり、注意点が2点あります。

1点目はAWS SSOのQuickSightアプリケーションの作成についてです。
AWS SSOアプリケーションでは割り当てユーザー別に属性マッピングを設定することができないため、 ユーザーもしくグループ毎に割り当てたい権限が異なる場合は、今回の構成図のようにQuickSightの権限毎(Author,Reader毎)に QuickSightアプリケーションを作成する必要があります。

2点目はAWS SSO側のユーザーのプロファイルについてです。
QuickSihgtの属性マッピングで${user:email}を設定しているため、 AWS SSOのユーザープロファイルにEメールアドレスが設定されている必要があります。 f:id:swx-mikan-honda:20220201180234p:plain

運用上の注意点

運用上の注意点として、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のユーザーを一元管理できるので便利です!