[アップデート] Amazon QuickSight のカスタムアクセス許可を「アカウントプロファイル」として全ユーザーに適用できるようになりました
いわさです。
Amazon QuickSight にはカスタムアクセス許可という機能があります。
これは、QuickSight の管理者が、QuickSight の組み込みのロール(READER、AUTHOR、ADMIN)に加えて、独自のアクセス許可セットを定義できる機能です。
これまではカスタムアクセス許可はユーザーあるいは組み込みのロールに対して個別適用が必要だったのですが、先日のアップデートで「アカウントプロファイル」として全ユーザーに適用できるようになりました。
また、カスタムアクセス許可の適用には AWS CLI など API 経由での適用が必要だったのですが、アカウントプロファイルに関しては管理コンソールからの適用も可能です。
ちょっと使ってみたので紹介します。
設定方法
まず適当なカスタムアクセス許可を一つ作成しました。分析機能を非表示にさせる設定です。
カスタムアクセス許可の一覧画面のアクションメニューを開くと「アカウントプロファイルとして設定」というメニューが追加されています。
こちらから設定出来ます。
アカウントプロファイルとして設定したカスタムアクセス許可は「アカウント」というラベルが付与されていることが確認できます。
アカウント内で設定できるのは1件までのようで、別のカスタムアクセス許可をアカウントプロファイルとして設定しようとすると、上書きされる形です。
アカウントプロファイルの設定後、任意のユーザーでホーム画面を確認してみると、分析機能にアクセスできなくなっていることが確認できました。
また、ユーザー一覧画面から対象ユーザーに適用中のアクセス許可を確認することが出来るのですが、アカウントプロファイルとして設定したカスタムアクセス許可が表示されていました。
ユーザー、ロールに適用したカスタムアクセス許可が優先される
注意というか、混乱しないために知っておくべき点があります。
従来から設定できたユーザーベース、ロールベースのカスタムアクセス許可機能と今回のアカウントプロファイルですが、前者のユーザーベース・ロールベースに設定したカスタムアクセス許可が優先されます。
検証したところ、IAM ポリシーのように AND になりわけではなく、個別に設定されたユーザー・ロールの場合はアカウントプロファイルが無視される形になります。
試してみましょう。
ユーザーベースのカスタムアクセス許可も適用してみる
先程のアカウントプロファイルとして分析機能を無効化してありますが、次のようにダッシュボード機能のみ無効化するカスタムアクセス許可を新規作成します。
これを AWS CLI から特定のユーザーに適用しましょう。
% cat hoge.json
{
"UserName": "hogeuser",
"AwsAccountId": "123456789012",
"Namespace": "default",
"CustomPermissionsName": "hoge0928user"
}
% aws quicksight update-user-custom-permission --cli-input-json file://hoge.json --profile hoge
{
"Status": 200,
"RequestId": "50e98674-d72b-4420-bc29-640611b598f5"
}
ユーザーに適用されたアクセス許可をユーザー一覧から確認してみると、上記で適用したユーザー個別に設定したカスタムアクセス許可が設定されていますね。
ホームのメニューを確認してみるとダッシュボードが表示されなくなりましたが、アカウントプロファイルで設定した分析は表示されるようになりました。
どちらのカスタムアクセス許可も適用されて、ダッシュボードと分析の両方が無効化されるのではなく、カスタムアクセス許可はここでは無視され分析機能が表示されるような感じです。
つまりアカウントプロファイルはアカウントのガードレールとして機能するわけではなく上書きが可能です。注意しましょう。
ロールの場合はユーザー一覧に表示されないのでわかりにくい
さらに厄介というか混乱しやすいかもしれないのですが、ロールベースでカスタムアクセス許可を設定した場合、ユーザー一覧にはどのカスタムアクセス許可が割り当てられているか表示されません。
先程はユーザー一覧を見ることでどのカスタムアクセス許可が優先で設定されているかを確認することが出来ました。
まず、アカウントプロファイルが設定されていない状態でロール ADMIN に対して個別のカスタムアクセス許可を設定してみます。
% cat fuga.json
{
"CustomPermissionsName": "hoge0928user",
"Role": "ADMIN",
"AwsAccountId": "123456789012",
"Namespace": "default"
}
% aws quicksight update-role-custom-permission --cli-input-json file://fuga.json --profile hoge
{
"RequestId": "d69567d2-e3d3-483b-a294-2e5400816c9e",
"Status": 200
}
本日時点の挙動では次のようにユーザー一覧上は何も設定されていないように見えます。
そして、ここでアカウントプロファイルを適用してみると、次のようにアカウントプロファイルのカスタムアクセス許可が適用されているように見えますね。分析を無効化しているものです。
しかし、メニューを確認してみると、アカウントプロファイルの設定は無視され、ロールに設定されたカスタムアクセス許可(ダッシュボードを無効化)が適用されて分析機能が使えるようになっています。
一見するとアカウントプロファイルが設定されるはずなのに...と混乱しそうなので、ロールベースのカスタムアクセス許可が設定されているかも確認するようにしましょう。
解除方法
アカウントプロファイルで設定したカスタムアクセス許可は、一覧のアクションメニューから割り当ての解除が可能です。
さいごに
本日は Amazon QuickSight のカスタムアクセス許可を「アカウントプロファイル」として全ユーザーに適用できるようになったので使ってみました。
Amazon QuickSight を運用しようとすると地味に役立つこのカスタムアクセス許可ですが、従来は設定するのに個別のユーザーごとの設定が必要だったり、ロールベースでも API 経由必須だったりと少し難易度が高いものだったのですが、アカウントプロファイル機能によってコンソールから設定しやすくなったのでとても良いですね。
ユーザーベース・ロールベースと重複した時にどうなるのかを理解し使いこなすことが必要そうです。