0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

QuickSight の自己プロビジョニングをフェデレーション環境でやってみた マネージメントコンソール編

Last updated at Posted at 2021-12-31

はじめに

QuickSight では、3つのユーザー管理方式を利用できます。

  • ローカルのユーザー
  • IAM のユーザー (フェデレーションを含む)
  • Active Directory のユーザー

IAM ユーザーを利用して QuickSight のダッシュボードなどの利用が出来ますが、IAM User と同期するような形で QuickSight 側のローカルユーザーが必要です。これを全部手作業で作成するのは大変なので、IAM ユーザーを利用した自己プロビジョニング機能を使うことで、QuickSight 側のローカルユーザーを自動作成できます。

こちらの記事で、Azure AD と IAM のフェデレーション環境を構築しました。今回の記事は、IAM のフェデレーション環境で、自己プロビジョニングを行ってみた手順を紹介します。

補足

この記事の構成では、Azure AD にログインした場合、AWS のマネージメントコンソールが表示されます。その後、QuickSight のページへ遷移すると、QuickSight 自己プロビジョニングが行われる形です。

AWS マネージメントコンソールへのアクセスではなく、QucikSight しか見せたくない状況では、次の URL を参考にすると良いでしょう。マネージメントコンソールを経由せずに、直接 QucikSight が開けます
URL : https://qiita.com/sugimount-a/items/9fb1c7a204f372c2c95d

3種類の IAM Role の作成

IAM ユーザー側で QuickSight ユーザーの自己プロビジョニングをするときに、3種類のロールを選べます。IAM ユーザーについている IAM Policy によって、自己プロビジョニングをした時に付与されるロールが自動的に選択されます。

  • Admin (管理者)
  • Author (作成者)
  • Reader (閲覧者)

今回の記事では、3つの IAM Role を作成していきます。

  • Admin 用ポリシー : QuickSightAdminforAzureAD
  • quicksight:CreateAdmin を指定
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "quicksight:CreateAdmin"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:quicksight::xxxxxxxxxxxx:user/${aws:userid}"
        }
    ]
}
  • Author 用ポリシー : QuickSightAuthorforAzureAD
  • quicksight:CreateUser を指定
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "quicksight:CreateUser"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:quicksight::xxxxxxxxxxxx:user/${aws:userid}"
        }
    ]
}
  • Reader 用ポリシー : QuickSightReaderforAzureAD
  • quicksight:CreateReader を指定
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Action": [
                "quicksight:CreateReader"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:quicksight::xxxxxxxxxxxx:user/${aws:userid}"
        }
    ]
}

IAM Policy の設定スクリーンショットです。

image-20211231190310119.png

3個の IAM Policy が作成されています。

image-20211231192706482.png

Create Role を押します。

image-20211231192740586.png

Azure AD と連携するために SAML を選択して、以前作成した Azure AD の Identity Provider を選択します。

image-20211231192814939.png

作成した Policy を指定します。

image-20211231192911753.png

IAM Role の名前を指定して、Create をします。

image-20211231193008895.png

同様の手順を繰り返して、3個の IAM Role を作成完了している状態です。

image-20211231191039932.png

Azure AD 側で、プロビジョニングを行う

AWS IAM 側であらたに IAM Role を3個作ったので、再プロビジョニングを行います。これによって Azure AD 側に 新たな Role が認識されます。プロビジョニングに多少時間がかかるので、待ちましょう。自分の環境では30分くらい待機しました。

image-20211231193241341.png

Azure AD 側でユーザー作成

このあたりの手順を参考に、Azure AD 側でユーザーを3人分作成します。このユーザーを使って、AWS マネージメントコンソール経由で QuickSight にログインができます。

  • quicksight-admin01
  • quicksight-author01
  • quicksight-reader01

3個のユーザーを作成しました。

image-20211231191752205.png

Azure AD 側のアプリケーションに3個のユーザーを追加

事前に、Azure AD と AWS マネージメントコンソールをフェデレーションする設定が入れてあります。エンタープライズアプリケーションとして登録されており、これに作成したユーザーを追加します。

エンタープライズアプリケーションを選択します。

image-20211231192149765.png

AWSとして登録したアプリケーションを選択します。

image-20211231192214923.png

ユーザーの追加を行います。

image-20211231192255881.png

Azure AD 上のユーザーを選択します。

image-20211231195851063.png

AWS から読み取った IAM Role を選択します。ユーザーに紐づけたいロールを選択しましょう。

image-20211231195945647.png

同じような手順で、3人分追加をします。

image-20211231200116650.png

自己プロビジョニングを実行する!

これで Azure AD のフェデレーションを利用した、QuickSight の自己プロビジョニング環境が出来ました。
下記 URL にアクセスして、Azure AD のポータル画面を開きます。

Adminユーザー

User 名の入力

image-20211231200333634.png

パスワードの入力

image-20211231200353666.png

AWS を選択

image-20211231200431646.png

AWS マネージメントコンソールにログインできました。QuickSightAdminForAzureAD の IAM Role を使ってログインしていることがわかります。

image-20211231200533350.png

QuickSight を開きます。

image-20211231200646670.png

自分自身のメールアドレスを入力して、続行を押します。

image-20211231200810201.png

自己プロビジョニングが完了して、QuickSight の画面が開かれます。

image-20211231200856514.png

分析やデータセットは、初期状態の Sample のみ表示されている状態です。

image-20211231200957827.png

なお、この時ユーザー一覧を見ると、想定通り管理者(admin)で自己プロビジョニングされていることがわかります。

QucikSght のユーザー名は、AWS マネージメントコンソールの右上に表示されていた文字列をそのまま使っています。

image-20211231201416559.png

Authorユーザー

User 名の入力

image-20211231201713476.png

詳細な手順は Admin と同じです。AWS マネージメントコンソールにログインできたので、QuickSight を開きます。

image-20211231201822329.png

これにより、ユーザーが自動的に追加されています。作成者(Author) ロールで自動プロビジョニングされています。

image-20211231202002090.png

Readerユーザー

Reader のユーザーでログイン。

image-20211231202155497.png

マネージメントコンソールにログインできたので、QuickSight を開きます。

image-20211231202259457.png

Reader 専用の画面となっており、データセットなどが設定できないようになっています。

image-20211231202426011.png

なお、このときの QuickSight 側のユーザーに、閲覧者として自動プロビジョニングされています。

image-20211231202512552.png

まとめ

Azure AD と AWS IAM のフェデレーション環境で、QuickSight の自己プロビジョニングを設定できました。Azure AD でユーザーを作成するときに、適切な IAM Role を選択することで、選択した IAM Role に応じた Role(Admin or Author or Reader) で自己プロビジョニングができました。

大規模になってくると、Azure AD のような IdP を使ったユーザーの一元管理をすることで、運用負担が軽減できます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?