Amazon Redshift クラスタをリストアするときのIAM権限について注意が必要

投稿者: | 2018/04/09

小ネタです。
Redshift クラスタをリストアしたい要望があったので、専用のIAMロールと権限を付与したのですが、Permission Deniedになってしまったので、原因調査と解決までしたので記事にしました。

やりたかったこと

以下のコマンドでリストアするつもりでした。

IAMロールには redshift:RestoreFromClusterSnapshot のみを付与して実行したところ、

An error occurred (UnauthorizedOperation) when calling the RestoreFromClusterSnapshot operation: Access Denied. Please ensure that your IAM Permissions allow this operation.

とエラーになってしまいました。
IAM Permissions だったので、IAMロールを付与するのに iam:PassRole が必要なことに気づいて追加して再実行すると今度は

An error occurred (UnauthorizedOperation) when calling the RestoreFromClusterSnapshot operation: Access Denied. Please ensure that your IAM Permissions allow this operation.

となってしまいました。
RestoreFromClusterSnapshot を許可しとるやないか!

散々調べたり検証した結果、以下のような権限で動作することが判明しました。

必要だったIAM権限

ハマったポイント
1. IAMロールを付与するので iam:PassRole が必要(上記の通り)
2. VPC内にRedshiftクラスタをリストアするので、 VPCやSubnet、AZなどの権限も必要
3. RedshiftクラスタのParameterGroupなどを変更するので redshift:ModifyCluster が必要

まとめ

Redshiftクラスタをリストアしようとしたときには権限に注意が必要でした。ドキュメントを探しても見つからなかったので同じところでハマっている人がいれば参考になれば幸いです。てか、ドキュメントに書いとけよとですよね・・・

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください