Amazon QuickSight のカスタムアクセス制限の設定方法

Amazon QuickSight のカスタムアクセス制限の設定方法の解説です。
2023.03.27

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

データアナリティクス事業本部の武田です。 今日は、QuickSightのAUTHOR以上の権限を制限する「カスタムアクセス制限」について説明します。

AUTHORって何?

QuickSightには3種類の権限があり、種類によってライセンス料金が変わります。

  • READER:閲覧者→ダッシュボードを見るだけ
  • AUTHOR:作成者→ダッシュボードを作れる
  • ADMIN:管理者→ユーザーの管理もできる
  • 料金について詳しく知りたい方は、「Amazon QuickSight の料金」をご確認ください。

    カスタムアクセス制限とは?

    AUTHOR以上の権限を持ったユーザーであればダッシュボードを作れます。ダッシュボードを作ると一言で言っても、さまざまな機能を使います。デフォルトのAUTHOR権限でできることが幅広いため、細かく分けたい時に使えるのが「カスタムアクセス制限」になります。

    下記がカスタマイズ可能な内容です。

    アセット カスタマイズ可能な許可
    データソースとデータセット データソースの作成または更新、データセットの作成または更新、データセットの共有
    ダッシュボードと分析 異常検出の追加または実行、テーマの作成または更新、CSVへのエクスポート/Excelへのエクスポート、共有
    フォルダ 共有フォルダの作成、共有フォルダの名前変更
    レポート 作成、更新、E メールレポートのサブスクライブ

    例えば、Aさんはデータソースもデータセットも作っていいけれど、Bさんは分析を作るだけにしたい(データソースやデータセットは編集させたくない)という場合です。 AさんにはデフォルトのAUTHOR権限を登録し、Bさんには「データソースやデータセットの編集権限を制限した」カスタムアクセス制限を登録することで実現可能です。

    カスタムアクセス制限を設定できる条件

    設定するのに必要な条件は、下記3つです。

  • AWS Identity and Access Management (IAM) フェデレーティッドユーザーを使用すること
  • 他のユーザーのデフォルトのセキュリティコホートを超える許可を付与することはできません。たとえば、閲覧者アクセス権限を持つユーザーに、ダッシュボードの編集許可を付与することはできません。
  • 許可をカスタマイズするには、"quicksight:*CustomPermissions" を使用する許可を持つ QuickSight 管理者である必要があります。
  • 引用元:Amazon QuickSight コンソールへのアクセスのカスタマイズ

    解説すると

  • 制限対象のユーザーにはIAMユーザーが必要(メールアドレスだけで登録できるQuickSightユーザーではダメ)
  • ライセンス上の権限範囲を超える登録はできない
  • カスタムアクセス制限の設定をするには、ADMIN権限が必要(CustomPermissionsを持っている)
  • ということです。

    カスタムアクセス制限を設定してみる

    設定手順は下記の通りです。

      【事前準備】IAMユーザーを用意
      カスタムアクセス制限を登録
      ユーザーにカスタムアクセス制限を登録する

    先ほど紹介した、「データソースやデータセットの編集権限を制限した」カスタムアクセス制限を具体例として説明します。

    事前準備

    IAMユーザーを用意しておきます。すでに登録されている場合は、そのユーザー名とメールアドレスをメモしておいてください。

    画面でカスタムアクセス制限を登録する

    まずは、どんな制限をするのかを登録します。

    QuickSightの右上の人マーク→QuickSightの管理→ユーザーを管理→アクセス許可を管理から編集画面に進みます。

    登録する名前は半角です。この名前はグループ名だと思ってください。ここではデータセットを作成したり編集したりする権限を制限するチェックをいれて、名前は「restrict-datasets」としました。

    CLIで、カスタムアクセス制限をユーザーに登録する

    さきほど作ったカスタムアクセス制限へ、ユーザーを紐付けます。この作業はCLIでしかできません。私はCloudShellを使って登録しました。

    aws quicksight register-user --iam-arn arn:aws:iam::672842958462:user/takeda-quicksight-dev \
    --identity-type IAM \
    --user-role AUTHOR \
    --custom-permissions-name restrict-datasets \
    --email takeda.junko@classmethod.jp \
    --aws-account-id 672842958462 \
    --namespace default \

    引用元→コマンドプロンプトでカスタム権限プロファイルを割り当てまたは変更するには

    下記は実行結果です。

    この登録に成功すると、管理者権限でQuickSightのユーザー画面を見ると、アクセス許可の列に表示されます。

    カスタムアクセス制限を設定した結果

    通常のAUTHOR権限を持ったユーザーの場合

    カスタムアクセス制限をしたユーザーの場合

    データセットの作成・編集権限がないことが確認できました。

    ふりかえり

    カスタムアクセス制限で、Authorの権限を制限することができました。現在は、ユーザー単位にCLI登録するしかないのですが、今後、グループで登録できるようになったり、画面で登録できるようになったりするともっと便利になりそうです。これからのQuickSightに期待したいと思います。