カスタムアクセス許可

カスタムアクセス許可とは

QuickSightで各テナントのユーザーにAUTHOR権限を付与した場合、各ユーザーはデータソース/データセットを作成・更新する権限が付与されます。しかし、ISV/SaaSでアプリケーションを提供する場合、埋め込みコンソール機能を提供するとしても、データソースやデータセットについては事業者側が提供するもののみを使用させたいという統制のニーズがあります。

カスタムアクセス許可機能ではこのようなニーズにもとづき、ADMIN/AUTHORのような強い権限をもつユーザーに対して機能制限を付与します。

セットアップ前の状態

テナントNS1のAUTHOR権限をもつQSDemoUser1は埋め込みコンソールを使用する場合、新規のデータセット作成ができてしまいます。 Alt text

カスタムアクセス許可の作成

  • AWSマネージメントコンソールからQuickSightを開き、右上のユーザ名から[QuickSightの管理]をクリックします。
  • 左メニューユーザーを管理を選択してから、[アクセス許可を管理]をクリックします。
  • 以下の例を参考に、カスタムアクセス許可 DataExplorerを作成します。

Alt text

カスタムアクセス許可の適用

  • 以下のコマンドを実行します。ここでは、ユーザーの情報をアップデートする際にカスタムアクセス許可を設定しています。
aws quicksight update-user --user-name QSDemoUser1 --aws-account-id $AWSACCOUNTID --namespace NS1 --role AUTHOR --email QSDemoUser1@QShandson.com --custom-permissions-name DataExplorer 
aws quicksight update-user --user-name QSDemoUser3 --aws-account-id $AWSACCOUNTID --namespace NS2 --role AUTHOR --email QSDemoUser3@QShandson.com --custom-permissions-name DataExplorer 

実行結果

以下の結果が出れば成功です。

aws quicksight update-user --user-name QSDemoUser1 --aws-account-id $AWSACCOUNTID --namespace NS1 --role AUTHOR --email QSDemoUser1@QShandson.com --custom-permissions-name DataExplorer 
{
    "Status": 200,
    "User": {
        "Arn": "arn:aws:quicksight:us-east-1:$AWSACCOUNTID:user/NS1/QSDemoUser1",
        "UserName": "QSDemoUser1",
        "Email": "QSDemoUser1@QShandson.com",
        "Role": "AUTHOR",
        "Active": false,
        "PrincipalId": "user/d-906761fc33/c5a59252-5f0c-4306-80c5-26fa7f9fb5fc",
        "CustomPermissionsName": "DataExplorer"
    },
    "RequestId": "c52163c0-e7eb-436c-888e-9033d7542ec1"
}
aws quicksight update-user --user-name QSDemoUser3 --aws-account-id $AWSACCOUNTID --namespace NS2 --role AUTHOR --email QSDemoUser3@QShandson.com --custom-permissions-name DataExplorer 
{
    "Status": 200,
    "User": {
        "Arn": "arn:aws:quicksight:us-east-1:$AWSACCOUNTID:user/NS2/QSDemoUser3",
        "UserName": "QSDemoUser3",
        "Email": "QSDemoUser3@QShandson.com",
        "Role": "AUTHOR",
        "Active": false,
        "PrincipalId": "user/d-906761fc34/2c2f59f2-7b44-4f63-87eb-77286ff93767",
        "CustomPermissionsName": "DataExplorer"
    },
    "RequestId": "80651fb8-bcef-458b-ba9f-9d8cdeb6b32d"
}

セットアップ後の状態

「3.テナントでの埋め込み動作確認」で生成した埋め込みコンソールURL(テナント:NS1/AUTHOR権限)をOpenします。(URLが無効になっている場合は再生成してください)

QSDemoUser1`は新規のデータセットを作成することができなくなっていることが確認できます。

Alt text