[アップデート] Amazon Quick 管理設定のサービスロールが API で切り替えれるようになりました

[アップデート] Amazon Quick 管理設定のサービスロールが API で切り替えれるようになりました

これは嬉しい...のか...?
2026.11.09

いわさです。

AWS CLI の更新履歴に、Amazon QuickSight(現在の Amazon Quick)の API 追加がありました。
なんだこれは。

Amazon QuickSight adds APIs to view account service role settings and switch to or replace a customer-managed IAM role.

https://github.com/aws/aws-cli/commit/3876551e34dc63cf1e671c8409d3762e2e0ff111

気になったので使ってみました。

やってみた

今回のアップデートですが、describe-resource-permissionsとupdate-resource-permissionsの 2 つが新規 API として追加されています。何が取得できるのでしょうね。
リージョンは us-east-1 で指定しました。

$ aws quicksight describe-resource-permissions --aws-account-id <AWS アカウント ID> --region us-east-1 --output json
{
    "Status": 200,
    "RoleType": "CUSTOMER_MANAGED",
    "CustomerManagedRoleArn": "arn:aws:iam::<AWS アカウント ID>:role/hoge-quicksight-service-role"
}

hoge-quicksight-service-roleか、あーなるほど!
これはですね... Amazon Quick から S3 や Athena、Secrets Manager などサービスとして様々な AWS サービスにアクセスするのですが、その時に使われるサービスロールみたいなやつです。
管理画面の以下から設定が出来ます。

07A7A80E-1643-4F0A-A958-521EA05459FC.png

これです!!

21B8B411-38FE-42DC-9913-C1E325EEFA73.png

私は普段から Amazon Quick ではカスタムロールを使うので、このカスタマーマネージドロールが既に設定されている状態で、先ほどの API でこのロールが取得できました。
なお、私の Amazon Quick 環境はホームリージョンが東京ですが、どうやらこの API はバージニア北部のエンドポイントじゃないと呼べないみたいです。グローバル系なのかな。
同じコマンドを東京(ap-northeast-1)で実行すると、次のように拒否されました。

$ aws quicksight describe-resource-permissions --aws-account-id <AWS アカウント ID> --region ap-northeast-1 --output json
aws: [ERROR]: An error occurred (AccessDeniedException) when calling the DescribeResourcePermissions operation: This operation is not accessible to AwsAccount <AWS アカウント ID>

AWS API のドキュメントにはホームリージョンで使うように書いてあるのですが...なんか挙動と違いますね。

Call this operation in the Amazon Web Services Region where your Amazon Quick Sight account is registered (the home Region).

さて、ということはもうひとつの API でこの設定値を変更できるってことみたいですね。やってみますか。
カスタムロールを設定済みだったので、これをデフォルトである Amazon Quick マネージドロールに戻してみます。

$ aws quicksight update-resource-permissions --aws-account-id <AWS アカウント ID> --region us-east-1 --role-type QUICKSIGHT_MANAGED --customer-managed-role-arn arn:aws:iam::<AWS アカウント ID>:role/hoge-quicksight-service-role --output json
aws: [ERROR]: An error occurred (InvalidParameterValueException) when calling the UpdateResourcePermissions operation: UpdateResourcePermissions does not support switching to a QuickSight-managed role.

does not support switching to a QuickSight-managed roleと出てますね。Quick マネージドロールへの切り替えはサポートされていない。
AWS CLI 2.39.5 の help にも、同じ内容の記述がありました。

You can't use this operation to switch back to a role managed by Amazon Quick Sight.

ただ、Quick 管理コンソールから手動で Quick マネージドロールに戻すことは出来ます。謎です。

9ACDACC3-2740-4E77-B978-6753486E576D.png

では、今度は Quick マネージドロールからカスタムロールに切り替えてみましょうか。

$ aws quicksight update-resource-permissions --aws-account-id <AWS アカウント ID> --region us-east-1 --role-type CUSTOMER_MANAGED --customer-managed-role-arn arn:aws:iam::<AWS アカウント ID>:role/hoge-quicksight-service-role --output json
{
    "Status": 200,
    "RoleType": "CUSTOMER_MANAGED",
    "CustomerManagedRoleArn": "arn:aws:iam::<AWS アカウント ID>:role/hoge-quicksight-service-role"
}

お、今度は成功しました。
コンソールを見ていると切り替わってます。

85B3802D-7985-46CC-A11A-E8013B9D5DCD.png

これは...何が嬉しいのかわからないですね。
Amazon Quick 環境のカスタム初期設定スクリプトみたいなのを作って運用したい場合は使えるとかだろうか。あまり多くは無さそうです。
describe-resource-permissionsは使えるかもしれないですね。権限周りのトラブルシューティングを行う際に、AI とかが今どんなサービスロールを使っているのか把握しやすくなりそうです。

さいごに

本日は Amazon Quick 管理設定のサービスロールが API で切り替えれるようになったので使ってみました。

使い所があまりイメージできなかったですが、ここも API 操作できるようになったんだなぁという感じですかね。

この記事をシェアする

AWSのお困り事はクラスメソッドへ

関連記事