背景
QuickSightで作成するAnalysis、Dashboardなどユーザによって作成したユーザでないと何も
できない。それらをCLIにて操作して変更を加えたらいろいろできることを試してみた。
以下Datasourceの権限追加した時の操作です。
DataSourceの確認とユーザの権限追加
- ユーザのリストを出して権限など確認する。
aws quicksight list-users --aws-account-id ACCOUNT_ID --namespace default --region us-east-1
結果:
{
"Status": 200,
"UserList": [
{
"Arn": "arn:aws:quicksight:us-east-1:ACCOUNT_ID:user/default/xxxxxxxxxxxxx",
"UserName": "xxxxxxxxxxxxx",
"Email": "xxxxxxxxxxxxx",
"Role": "ADMIN",
"Active": true,
"PrincipalId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
},
]
}
(ユーザ管理は us-east-1 でしているため)
- Datasourceのリストを表示する
aws quicksight list-data-sources --aws-account-id ACCOUNT_ID --region ap-northeast-1 --max-result 100
(--max-result は最大100まで指定できる。結果にnext-tokenが含まれると100件以上あるという意味ですので --next-token optionにnext-tokenの値を入れて再度実行する)
- Datasource のIDを持って詳細を確認する
aws quicksight describe-data-source --aws-account-id ACCOUNT_ID --data-source-id DATA_SOURCE_ID --region ap-northeast-1
- Datasource のPermissionを確認する
- aws quicksight describe-data-source-permissions --aws-account-id ACCOUNT_ID --data-source-id DATA_SOURCE_ID --region ap-northeast-1
結果:
{
"Status": 200,
"DataSourceArn": "arn:aws:quicksight:ap-northeast-1:ACCOUNT_ID:datasource/xxxxxxxxxx",
"DataSourceId": "DATA_SOURCE_ID",
"Permissions": [
{
"Principal": "arn:aws:quicksight:us-east-1:ACCOUNT_ID:user/default/xxxxxxxxxxxxxxxx",
"Actions": [
"quicksight:UpdateDataSourcePermissions",
"quicksight:DescribeDataSource",
"quicksight:DescribeDataSourcePermissions",
"quicksight:PassDataSource",
"quicksight:UpdateDataSource",
"quicksight:DeleteDataSource"
]
}
],
"RequestId": "437ca48a-5f92-4ac6-a784-81d635fea74b"
}
- 他にユーザに権限を追加する(Full 権限の例)
aws quicksight update-data-source-permissions --aws-account-id ACCOUNT_ID --data-source-id DATA_SOURCE_ID --region ap-northeast-1 --grant-permissions Principal=arn:aws:quicksight:us-east-1:ACCOUNT_ID:user/default/xxxxxxxxxxxxx,Actions=quicksight:UpdateDataSourcePermissions,quicksight:DescribeDataSource,quicksight:DescribeDataSourcePermissions,quicksight:PassDataSource,quicksight:UpdateDataSource,quicksight:DeleteDataSource
Principalの値はlist-usersコマンドで確認したユーザのArnを指定
最後に
今回ユーザとDatasourceを確認してDatasourceの権限変種した例ですが、同じくCLIで実行すればいろいろば変更は簡単でできることがわかった。