AWS Backupを使用してEC2インスタンスをリストアする際のエラー
AWS Backupを使用してEC2インスタンスをリストアする際に、次のようなエラーが発生することがあります。
You are not authorized to perform this operation. Please consult the
permissions associated with your AWS Backup role(s), and refer to the
AWS Backup documentation for more details. xxxxxxxxxxxxxxxxxx~
この記事では、このエラーの原因と解決方法について説明します。
原因
バックアップの復元時にAWS Backupが使用するIAMロールに必要な権限が不足しているため、このエラーが発生します。
AWS Backupの復元時に選択できるIAMロール
バックアップを復元する際、以下のオプションから選択できます。
- IAM ロールなしで続行:復元されたインスタンスにIAMロールが自動でアタッチされません。そのため、復元後に手動でIAMロールをアタッチする必要があります。
- 元の IAM ロールで復元:バックアップ元のインスタンスに紐付けられていたIAMロールが、自動的に復元されたインスタンスにアタッチされます。
権限不足エラーの詳細
AWS BackupからEC2をリストアする際、「元の IAM ロールで復元」を選択した場合、AWS Backupが使用するIAMロールにiam:PassRole
権限が必要です。この権限がない場合、上記のエラーが発生します。
iam:PassRole とは
iam:PassRoleは、AWSリソースにIAMロールをアタッチするための権限です。これにより、ユーザーやサービスなどのアイデンティティが、別のアイデンティティにロールを渡し、そのロールの権限で操作を実行できます。AWSサービスはデフォルトでこの権限を持っていないため、iam:PassRole
エラーが発生しやすいです。
例えば、以下のユースケースではiam:PassRole
権限の付与が必要となります。
一方、ユーザーは通常多くのデフォルト権限を持っているため、iam:PassRole
エラーはまれです。しかし、最小権限の原則を厳守する際には、ユーザーにも明示的にiam:PassRole
権限を付与しないと、リソースにロールをアタッチする操作ができなくなります。
例えば、IAMユーザーがEC2インスタンスを作成する際、CloudWatchを利用できるIAMロールをEC2に関連付ける。
iam:PassRole
を利用する際の注意点
-
iam:PassRole
は強力な権限であるため、誤った設定によりセキュリティリスクが生じる可能性があります。 - 最小限の権限付与を心掛け、必要な操作だけを許可することが重要です。
解決方法
AWS Backupが使用するIAMロールにiam:PassRole
権限を追加することで、このエラーは解消されます。バックアップ元のEC2インスタンスに関連付けられたIAMロールに対してのみiam:PassRole
を許可することで、最小権限の原則を守りつつ安全なリストアを行うことができます。
ポリシー例
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::account-id:role/specific-role", # バックアップ元EC2インスタンスのIAMロールのARN
"Effect": "Allow"
}
]
}
結論
AWS Backupを利用してEC2インスタンスのリストア時に発生するiam:PassRole
権限不足エラーの原因と解決方法について説明しました。最小権限の原則を守りながら、安全なリストアプロセスを確保しましょう。