QuickSightで各テナントのユーザーにAUTHOR権限を付与した場合、各ユーザーはデータソース/データセットを作成・更新する権限が付与されます。しかし、ISV/SaaSでアプリケーションを提供する場合、埋め込みコンソール機能を提供するとしても、データソースやデータセットについては事業者側が提供するもののみを使用させたいという統制のニーズがあります。
カスタムアクセス許可機能ではこのようなニーズにもとづき、ADMIN/AUTHORのような強い権限をもつユーザーに対して機能制限を付与します。
テナントNS1のAUTHOR権限をもつQSDemoUser1
は埋め込みコンソールを使用する場合、新規のデータセット作成ができてしまいます。
ユーザーを管理
を選択してから、[アクセス許可を管理]をクリックします。DataExplorer
を作成します。カスタムアクセス許可
を設定しています。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`は新規のデータセットを作成することができなくなっていることが確認できます。