AWS Backup을 사용하여 AWS Backup 복구 시점에서 Amazon Elastic Compute Cloud (Amazon 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."라는 인코딩된 오류 메시지가 표시됩니다.
해결 방법
이 오류는 다음 조건에서 가장 흔하게 발생합니다.
- 원래 Amazon EC2 인스턴스에는 인스턴스 프로파일이 연결되어 있습니다.
- 사용자는 **복원 역할(Restore role)**의 기본 역할(Default role) 및 **인스턴스 IAM 역할(Instance IAM role)**의 원래 IAM으로 복원 역할(Restore with Original IAM Role) 설정을 사용하여 AWS Backup 콘솔에서 인스턴스를 복원하려고 합니다.
이 문제를 해결하려면 해당 사용 사례에 따라 다음 옵션 중 하나를 사용하세요.
IAM 역할 없이 진행(Proceed with no IAM role) 옵션 사용
- AWS Backup 콘솔에서 인스턴스에 대한 복원 작업을 실행할 때 **인스턴스 IAM 역할(Instance IAM role)**에서 **IAM 역할 없이 진행(Proceed with no IAM role)**을 선택합니다. 이 옵션을 사용하면 인스턴스를 복원할 수 있으며 복원된 인스턴스에는 연결된 인스턴스 프로파일이 없습니다. 나중에 인스턴스 프로파일을 복원된 이 인스턴스에 연결 할 수 있습니다.
원래 IAM 역할로 복원(Restore with Original IAM role) 옵션 사용
복원 작업을 실행할 때 **복원 역할(Restore role)**에 추가 권한을 연결한 후 **인스턴스 IAM 역할(Instance IAM role)**에서 **원래 IAM 역할로 복원(Restore with Original IAM Role)**을 선택할 수 있습니다.
1. 복원에 사용한 역할을 알고 있으면 2단계로 건너뜁니다. 그렇지 않으면 AWS Command Line Interface(AWS CLI)를 사용하여 decode-authorization-message 명령을 실행해 인스턴스를 복원하는 데 사용한 역할을 찾습니다. Linux 기반 운영 체제를 사용하는 경우 이 명령을 jq 도구와 결합하여 최종 사용자에게 친화적인 출력을 얻을 수 있습니다.
# aws sts decode-authorization-message --encoded-message (encoded error message) --query DecodedMessage --output text | jq '.'
참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하세요.
그러면 다음과 유사한 출력이 표시됩니다.
{
"allowed": false,
…..
"context": {
"principal": {
"id": "AROAAAAAAAAAA:AWSBackup-AWSBackupDefaultServiceRole",
"arn": "arn:aws:sts::111122223333:assumed-role/AWSBackupDefaultServiceRole/AWSBackup-AWSBackupDefaultServiceRole"
},
"action": "iam:PassRole",
"resource": "arn:aws:iam::111122223333:role/AmazonSSMRoleForInstancesQuickSetup",
"conditions": {
"items": [
…..
}
예제 출력은 복원 역할이 AWSBackupDefaultServiceRole과 동일하다는 것을 보여줍니다. 복원 역할은 인스턴스를 복원하는 데 필요한 AmazonSSMRoleForInstancesQuickSetup 역할과 상호 작용할 수 있도록 iam:PassRole에 대한 권한이 있어야 합니다.
2. IAM 콘솔을 열고 다음 정책을 생성합니다.
참고: 111122223333을 AWS 계정 ID로 바꿉니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "iam:PassRole",
"Resource": "arn:aws:iam::111122223333:role/*",
"Effect": "Allow"
}
]
}
그런 다음 이 정책을 복원 역할에 연결합니다.
3. IAM 역할을 업데이트한 후 복원 작업을 다시 실행합니다.
관련 정보
액세스 제어
Amazon EC2 인스턴스 복원