[EC2] KMS로 암호화된 인스턴스를 다른 계정으로 복사

Print

현상

A 계정에 AWS KMS(Key Management Service)로 암호화 되어 있는 EC2와 RDS가 운영되고 있습니다. 이 자원들을 B 계정에 옮기려면 어떻게 해야 하나요?

설명

AWS 관리 키로 암호화된 EC2 및 RDS 인스턴스를 다른 계정으로 이전하는 방법은 기본적으로, A 계정에서 이전하려는 서버의 AMI를 생성하여 다른 계정으로 공유하여 보내고, B 계정에서 해당 AMI를 사용하여 서버를 시작하는 것입니다.

하지만, 암호화된 AMI를 다른 AWS 계정과 공유하는 것은 AMI가 CMK(Customer Managed Key)로 암호화되어 있는 경우에 가능합니다. 자세한 내용은 참조 링크로 첨부된 문서[1]를 참조 부탁드립니다. (다시 말해, AWS 관리 키로 암호화된 경우에는 공유가 불가합니다.)

해결방법

암호화된 스냅샷에서 직접 KMS 키를 CMK로 변경하는 것은 불가합니다. 그러나 스냅샷을 복사하고, 새 스냅샷 복제본을 생성하면서 CMK를 연결하는 것은 가능합니다.

기존 AMI에서 이 작업을 수행하려면 다음 단계를 수행하십시오.
(단계 설명은 의미 혼동을 방지하기 위하여, 영어 원문을 그대로 인용하겠습니다.)

Step 1: Create Customer Managed CMK [2]

  • On the AWS Console, Navigate to Key Management Service (KMS)

  • Select Customer managed keys and then select create key

  • Choose Symmetric and Under Advanced options select "KMS". Click Next. You can add an alias of your choice and proceed further.

  • Choose the IAM users and roles who can administer this key through the KMS API.

  • Select the IAM users and roles that can use the CMK in cryptographic operations.

  • Review the policy and click Finish.

Step 2: Create the snapshot and Copy the snapshot or copy if any existing snapshot, you may specify the Customer Managed Key created in step 1 to encrypt snapshot [3]. Then, you may create an image (AMI) encrypted with the CMK from that snapshot.

Step 3: Modify the CMK policy to allow access to cross account user [4].

Step 4: Add Cross Account to access the snapshot from step 6 -9 [5].

Step 5: Allow users in other accounts to gain access to CMK [6].

Additionally, please refer this blog [7] attached under references to share encrypted AMIs across accounts to launch encrypted EC2 instances.

참조 :
[1] Use encryption with EBS-backed AMIs -
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html 
[2] Creating CMK’s –
https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html 
[3]Copy EBS snapshot –
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-copy-snapshot.html#ebs-snapshot-copy 
[4] Modifying CMK policy-
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html 
[5] Modifying snapshot permissions –
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modifying-snapshot-permissions.html#share-encrypted-snapshot 
[6] Modifying accounts to gain CMK access - https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html 
[7] How to share encrypted AMI’s across accounts –
https://aws.amazon.com/blogs/security/how-to-share-encrypted-amis-across-accounts-to-launch-encrypted-ec2-instances/ 

이 답변이 유용합니까? 아니오

Send feedback
도움이 되어드리지 못해 죄송합니다. 아티클 개선을 위해 의견을 제공해 주시기 바랍니다.