계정 A에 있는 Storage Encryped RDS의 스냅샷을 계정 B에 Restore 필요
- AWS RDS 사용하는 암호화(aws/rds) 키는 변경할 수 없음
- default KMS Key로 생성된 RDS의 스냅샷은 다른 계정으로 share 불가
작업방식요약
1. 계정A 에서 Manual Snapshot 생성 (Default AWS Managed Key 사용)
2. CMK 생성(계정 B에서 사용할 수 있도록 권한 부여)
3. 1에서 생성된 Snapshot을 Copy Using CMK
4. 3에서 Copy 된 Snapshot을 계정 B에 공유
5. 계정B의 사용자 IAM Policy에 CMK 사용 권한 추가
6. 2번 CMK를 사용하여 4에서 shared 된 Snapshot을 copy
7. Restore 수행
1. [Account A] Manual Snapshot
Storage Encrypted 된 RDS 의 스냅샷 세부 정보 확인 시 아래와 같은 KMS Key 확인 가능
KMS key ID arn:aws:kms:ap-northeast-2:계정넘버:key/89e3250c-b6c9-4c34-993b-76ddac12eb5b
|
2. [Account A] Create CMK
{ "Version": "2012-10-17", "Id": "key-consolepolicy-3", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::계정A:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::계정A:user/사용자명" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::계정B:user/사용자명", "arn:aws:iam::계정A:user/사용자명" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::계정B:user/사용자명", "arn:aws:iam::계정A:user/사용자명" ] }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] } |
3. [Account A] Snapshot Copy Using CMK (36b645f7-6cc6-468a-8a83-11cb6700ef9b)
4. [Account A] 계정 B의 ID 추가
5. [Account B] Grant IAM Policy (계정B)
계정B의 rds 작업 user 계정에 Policy 추가
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowUseOfKeyInAccount계정A-ID", "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "arn:aws:kms:ap-northeast-2:계정A-:key/36b645f7-6cc6-468a-8a83-11cb6700ef9b" } ] } |
6. [Account B] 3번 과정과 동일하게 B에서 수행
7. [Account B] Restore
- cmk로 copy된 snapshot restore 시 계정 B의 default key로 나오지면 restore 후 계정 A의 cmk로 암호화 된 것 확인 가능
Routing Policy on AWS (0) | 2021.10.18 |
---|---|
Kinesis Data Firehose (0) | 2021.10.18 |
AWS API Gateway (0) | 2021.10.17 |
Storage - S3 (0) | 2021.10.16 |
Real Time Data Load Test - Kinesis Firehose (0) | 2019.08.29 |
댓글 영역