[アップデート] Amazon QuickSight のカスタム権限プロファイルで印刷や PDF エクスポートなど、これまで制御できなかった機能も制御可能になりました

[アップデート] Amazon QuickSight のカスタム権限プロファイルで印刷や PDF エクスポートなど、これまで制御できなかった機能も制御可能になりました

Clock Icon2025.07.03

いわさです。

Amazon QuickSight にはカスタムアクセス許可という QuickSight ユーザーの権限を管理する機能があります。
QuickSight はユーザーに管理者・作成者・閲覧者のどれかのロールを割り当てます。これによってそのユーザーが QuickSight 上で操作できる内容が変わります。
ただし、この3つのパターンだと運用上権限制御が足りていない場合があります。そういった場合にカスタムアクセス許可を割り当てることで追加の権限制御が可能になります。

例えば以下のアップデートは作成者に SPICE 容量を閲覧できないようにするカスタムアクセス許可を割り当てた記事です。

https://dev.classmethod.jp/articles/quicksight-hide-spicelabel-for-author/

カスタムアクセス許可と言っていますが、実態は通常のロール権限にプラスして追加でいくつかの操作を拒否設定する形になります。カスタムアクセス拒否です。

このカスタムアクセス許可機能ですが、拒否できる機能が決まっていまして上記記事のように定期的にアップデートされて追加されていっています。
これまで、ダッシュボード内容をローカルにダウンロード(CSV や PDF、印刷など)する機能が CSV エクスポートくらいしか制御できなかったのですが、最近のアップデートで PDF や印刷機能も制御できるようになりました。

この機能、アップデートアナウンスはまだ出ていないのですが AWS CLI なども新機能に対応済みです。(v1.41.0以上)

https://github.com/aws/aws-cli/commit/ca18831d43d10889dff01331a658f52c60e91c7f

ドキュメントの反映がまだで、QuickSight コンソールの挙動もちょっと怪しかったのですが、今朝確認してみたところ良い感じの動きになっておりドキュメントも反映されていました。

https://docs.aws.amazon.com/quicksight/latest/user/customizing-permissions-to-the-quicksight-console.html

私が調べた限りでは今回のアップデートでおそらく以下が追加されてます。

2ACAF27E-9D55-422E-8B2D-25E739CD8E91.png

こちらの機能を使って権限が制御される様子を観察してみたので紹介します。

オンデマンドエクスポートの制御

まず、通常はダッシュボード画面では次のように印刷や PDF エクスポート操作をすることが出来ます。

EA472D8E-42EA-4C30-869D-B45DD0598658.png

カスタムアクセス許可の作成と割り当ては AWS CLI でのみ操作が出来ます。作成済みのカスタムアクセス許可内容の編集のみコンソールからも可能です。
create-custom-permissionsコマンドで割り当てします。Capabilitiesで何の機能を制御するのか指定するのですが、以下は今回のアップデートで追加されたもののみ指定しています。

% cat hoge.json 
{
    "AwsAccountId": "123456789012",
    "CustomPermissionsName": "hoge0701permission",
    "Capabilities": {
        "PrintReports": "DENY",
        "ExportToPdf": "DENY",
        "ExportToPdfInScheduledReports": "DENY",
        "ExportToCsvInScheduledReports": "DENY",
        "ExportToExcelInScheduledReports": "DENY",
        "IncludeContentInScheduledReportsEmail": "DENY"
    }
}
% aws quicksight create-custom-permissions --cli-input-json file://hoge.json
{
    "Status": 201,
    "Arn": "arn:aws:quicksight:ap-northeast-1:123456789012:custompermissions/hoge0701permission",
    "RequestId": "1fbfb320-b90e-402f-aeec-5872590e584e"
}

作成されました。こちらをユーザーに割り当てます。(QuickSight ロールへの割り当ても可能)

% cat fuga.json 
{
    "UserName": "hoge-username",
    "AwsAccountId": "123456789012",
    "Namespace": "default",
    "CustomPermissionsName": "hoge0701permission"
}
% aws quicksight update-user-custom-permission --cli-input-json file://fuga.json  
{
    "Status": 200,
    "RequestId": "c87fbce8-32a9-4532-8b7c-9147a7302088"
}

QuickSight のユーザー管理機能に「アクセス許可を管理」という機能がありまして、こちらから作成済みのカスタムアクセス許可を確認できます。

998FC207-2E76-4278-A182-B842ACC259F9.png

44A56790-4E13-4190-97F7-5F6FC0419D19.png

そしてカスタムアクセス許可が割り当てされたユーザーで先程のダッシュボードにアクセスしてみると、エクスポートメニューから PDF エクスポートと印刷ができなくなっていることが確認できました。

93127F2C-88C9-4F86-8938-7FC84BB5604B.png

スケジュールの制御

QuickSight はユーザーがオンデマンドで PDF などをエクスポートすることが出来るのですが、スケジュール機能を有効化することで定期的に PDF などでエクスポートしてメール送信させることもできます。以下のあたりです。

82E35861-42E6-44E0-859A-0851B71752E2.png

こちらについても制御が出来るようになりました。まず、一部の操作のみ制限してみます。

A2E77670-0C23-4694-8EBC-D7BB44E206A9.png

この場合は制御対象の機能のみが非表示となりました。なるほど。

04A823CF-84D7-49EF-BF69-48E7A1DFA231.png

すべての操作を拒否設定してみるとどうなるでしょうか。

29478A89-BBAD-46BE-BC32-F0E5FF72C0C3.png

今度はスケジュール作成機能のアイコン自体がメニューバーに表示されなくなりました。

612B3852-7BC9-4E60-B9D3-2ED971FDA592.png

さいごに

本日は Amazon QuickSight のカスタム権限プロファイルで印刷や PDF エクスポートなど、これまで制御できなかった機能も制御可能になったので試してみました。

これまで QuickSight コンソール外にダッシュボード内容をダウンロードさせたくないという場合の制御が難しかったのですが、これで従来よりももう少し制御できるようになりました。
PDF エクスポート制御したかったという要望は何度か聞いたことがあったので、ぜひ使ってみてください。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.