[アップデート] Amazon QuickSight でカスタムアクセス許可を使ってアカウントの SPICE 容量を作成者に非公開に出来るようになりました

2024.05.09

いわさです。

Amazon QuickSight ではデータセットに SPICE を使う場合、その容量を管理する必要があります。
SPICE の使用量の応じて料金が発生したり、あるいは上限があったりします。

SPICE は QuickSight アカウントで共通のキャパシティを持っており、QuickSight の管理者ユーザーは、管理メニューから確認したり、追加の容量を購入したりすることが出来ます。

この SPICE 容量ですが、作成者 (AUTHOR) ロールの場合は管理者メニューにアクセス出来ないので、そちらからは確認や管理が出来ません。

ただし、SPICE 自動購入オプションが OFF の場合、データセット作成画面では作成者ロールでも SPICE の使用量を確認することが出来ます。

どのユーザーに作成者ロールを割り当てるからは様々ではありますが、マルチテナント的な使い方を想定した使い方だとアカウント横断の SPICE の使用状況を作成者に公開したくない場合があります。

データセット作成画面の SPICE 情報を非表示に出来るようになった

これが、先日のアップデートで制御出来るようになりました。
作成者にデータセット作成を許可しつつ、SPICE 容量ラベルだけを非表示にすることが出来ます。
試してみます!

カスタムアクセス許可で制御できる

非表示にする方法ですが、アカウント共通の設定で ON/OFF 出来るわけではなく、カスタムアクセス許可を使います。
QuickSight には基本ロールとして管理者・作成者・閲覧者というものが用意されているのですが、さらにカスタムアクセス許可を作成して適用することで、ユーザーごとあるいはロールごとにもう少し細かい制御が出来るようになります。

では早速カスタムアクセス許可を作成してみましょう。
カスタムアクセス許可を操作するには QuickSight 管理者ロール、あるいは IAM 権限が必要です。
管理メニューの場合は次から作成することが出来ます。

カスタムアクセス許可を作成しようとすると、追加でどのアクションを制限するか選択することが出来ます。
アップデートで新たに次のアクション「Viewing account SPICE capacity」が選択出来るようになりました。

この制限アクションを有効化したカスタムアクセス許可を作成します。
カスタムアクセス許可をユーザーへ適用するには API を使用する必要があります。
これはちょっと面倒ですね。GUI でも出来るようになってほしいですね。

今回は CloudShell から AWS CLI のupdate-userコマンドを使いました。

[cloudshell-user@ip-10-132-78-251 ~]$ cat hoge.json
{
    "UserName": "hoge0504author",
    "AwsAccountId": "123456789012",
    "Namespace": "default",
    "Email": "iwasa.takahito+hoge0504@example.com",
    "Role": "AUTHOR",
    "CustomPermissionsName": "hoge0504custompermission"
}
[cloudshell-user@ip-10-132-78-251 ~]$ aws quicksight update-user --cli-input-json file://hoge.json
{
    "Status": 200,
    "User": {
        "Arn": "arn:aws:quicksight:ap-northeast-1:123456789012:user/default/hoge0504author",
        "UserName": "hoge0504author",
        "Email": "iwasa.takahito+hoge0504@example.com",
        "Role": "AUTHOR",
        "IdentityType": "QUICKSIGHT",
        "Active": true,
        "PrincipalId": "user/d-95671d86a5/db622958-a9c6-4902-abb4-9419082c646d",
        "CustomPermissionsName": "hoge0504custompermission"
    },
    "RequestId": "3db8d70f-42ac-4ff7-8ec6-85f66987fdd4"
}

適用出来たらユーザー管理画面を確認してみましょう。
アクセス許可が適用されていることが確認出来ますね。

対象のユーザーで QuickSight 画面にサインインし、データセット作成画面を確認してみましょう。

おお、SPICE 容量のラベルが非表示になっています。良いですね。

さいごに

本日は Amazon QuickSight でカスタムアクセス許可を使ってアカウントの SPICE 容量を作成者に非公開に出来るようになったので紹介しました。

カスタムアクセス許可なので API 経由というのがちょっと面倒ではありますが、非表示にするユーザーやロールを絞った使い方も出来るので柔軟性は高いですね。

SPICE 容量ラベル非表示にしたかったという方は是非使ってみてください。