AWS Backup에서 교차 계정 복사를 수행할 때 “Given key ID not accessible” 오류를 해결하려면 어떻게 해야 하나요?

3분 분량
0

AWS Backup에서 교차 계정 복사를 수행할 때 “Given key ID not accessible.”이라는 오류 메시지가 나타납니다.

간략한 설명

AWS Backup을 사용하여 한 AWS 계정에서 다른 AWS 계정으로 계정 간 복사를 수행할 때 다음 메시지와 유사한 오류가 발생합니다.

"주어진 키 ID에 액세스할 수 없습니다."

-또는-

"소스 스냅샷 KMS 키가 존재하지 않거나, 활성화되어 있지 않거나, 액세스할 수 있는 권한이 없습니다."

교차 계정 사본을 성공적으로 만들려면 소스 계정에서 대상 계정에 AWS Key Management Service(AWS KMS) 키 정책을 허용해야 합니다. 다양한 암호화 작업을 수행하려면 다음과 같은 AWS KMS 권한이 필요합니다.

  • DescribeKey
  • Encrypt
  • Decrypt
  • ReEncryptFrom
  • ReEncryptTo
  • GenerateDataKeyPair
  • GenerateDataKeyPairWithoutPlaintext
  • GenerateDataKeyWithoutPlaintext
  • CreateGrant
  • ListGrant
  • RevokeGrant

해결 방법

대상 계정 루트 사용자를 소스 계정 AWS KMS 키 정책에 포함해야 합니다. 그런 다음 대상 계정 루트 사용자가 필요한 AWS Identity and Access Management(IAM) 권한을 사용자 및 역할에 위임하세요.

풀 AWS Backup 관리를 지원하는 리소스의 경우, 소스 AWS KMS 키는 볼트의 암호화 키입니다. 소스 AWS KMS 키는 고객 관리형 키 또는 AWS 관리형 키일 수 있습니다. 소스 AWS KMS 키가 고객 관리형 키인 경우, 대상 계정을 포함하도록 키 정책을 수정해야 합니다.

전체 AWS Backup 관리를 지원하지 않는 리소스의 경우, 소스 AWS KMS 키는 원본 리소스의 암호화 키입니다. 소스 AWS KMS 키는 고객 관리형 키여야 하며 대상 계정을 포함하도록 키 정책을 수정해야 합니다.

참고: 소스 AWS KMS 키는 AWS 관리형 키일 수 없습니다. 이는AWS 관리형 키를 사용하면 키 정책을 수정할 수 없기 때문입니다. 또한 AWS 관리형 키는 대상 계정과 공유할 수 없습니다.

소스 AWS KMS 키 정책

한 계정에서 다른 계정으로 사본을 만들려면 소스 AWS KMS 키를 다음 권한을 포함하도록 수정합니다.

참고: SourceAccountIDDestinationAccountID를 소스 및 대상 계정 ID로 바꿉니다.

{  
    "Version": "2012-10-17",  
    "Id": "cab-kms-key",  
    "Statement": [{  
            "Sid": "Enable IAM User Permissions",  
            "Effect": "Allow",  
            "Principal": {  
                "AWS": "arn:aws:iam::SourceAccountID:root"  
            },  
            "Action": "kms:*",  
            "Resource": "*"  
        },  
        {  
            "Sid": "Allow use of the key",  
            "Effect": "Allow",  
            "Principal": {  
                "AWS": [  
                    "arn:aws:iam::SourceAccountID:root",  
                    "arn:aws:iam::DestinationAccountID:root"  
                ]  
            },  
            "Action": [  
                "kms:DescribeKey",  
                "kms:Encrypt",  
                "kms:Decrypt",  
                "kms:ReEncrypt*",  
                "kms:GenerateDataKey*"  
            ],  
            "Resource": "*"  
        },  
        {  
            "Sid": "Allow attachment of persistent resources",  
            "Effect": "Allow",  
            "Principal": {  
                "AWS": [  
                    "arn:aws:iam::SourceAccountID:root",  
                    "arn:aws:iam::DestinationAccountID:root"  
                ]  
            },  
            "Action": [  
                "kms:CreateGrant",  
                "kms:ListGrants",  
                "kms:RevokeGrant"  
            ],  
            "Resource": "*",  
            "Condition": {  
                "Bool": {  
                    "kms:GrantIsForAWSResource": "true"  
                }  
            }  
        }  
    ]  
}

팁: 앞의 정책에서 arn:aws:iam::DestinationAccountID:root을 사용하는 대신 ARN arn:aws:iam::DestinationAccountID:role/aws-service-role/backup.amazonaws.com/AWSServiceRoleForBackup을 사용하여 대상 계정에서 단일 역할에 대한 액세스를 제한할 수 있습니다. AWSServiceRoleforBackup은 대상 계정에 자동으로 생성되는 서비스 역할로, 소스 계정에서 대상 계정으로 백업을 가져오는 데 사용됩니다.

계정 간 사본에 대한 AWS Backup의 암호화에 대한 추가 고려 사항

전체 AWS Backup 관리를 사용할 수 있는 리소스 유형을 확인하려면 리소스별 기능 사용 가능성을 참조하세요.

리소스가 전체 AWS Backup 관리를 지원하는 경우, 고객 관리형 AWS KMS 키 또는 AWS 관리형 키를 사용하여 이러한 리소스를 암호화할 수 있습니다. 이 시나리오에서는 다음과 같은 암호화가 발생합니다.

  • 소스 백업은 소스 볼트 AWS KMS 키로 암호화됩니다.
  • 대상 사본은 대상 볼트 AWS KMS 키로 암호화됩니다.

전체 AWS Backup 관리를 지원하지 않는 리소스에서 교차 계정 사본을 만들려면 고객 관리형 AWS KMS 키로 리소스를 암호화하세요. 이 시나리오에서는 다음과 같은 암호화가 발생합니다.

  • 소스 백업은 원본 리소스 암호화 키로 암호화됩니다.
  • 대상 사본은 대상 볼트 AWS KMS 키로 암호화됩니다.

관련 정보

AWS Backup이란 무엇인가요?

리전 간/계정 간 배포 솔루션에서 코드의 보안 보장

AWS Backup의 백업 암호화

AWS 공식
AWS 공식업데이트됨 10달 전