반응형
AWS Elastic Container Registry(ECR)를 생성할 때 KMS Managed(AWS 관리형 키)와 Customer Managed(사용자 관리형 키) 옵션이 있습니다.
이 두 가지는 AWS Key Management Service(KMS)를 활용한 암호화 방식이지만, 관리 주체와 사용 방식이 다릅니다.
✅ KMS 암호화 옵션 비교
암호화 방식설명키 관리 주체보안 통제비용
KMS Managed (AWS 관리형 키) | AWS에서 자동 생성 및 관리하는 KMS 키 사용 | AWS | 제한적 (AWS에서 자동 관리) | 추가 비용 없음 |
Customer Managed (사용자 관리형 KMS 키) | 사용자가 직접 생성 및 관리하는 KMS 키 사용 | 사용자 | 세부적인 제어 가능 (키 정책, IAM 권한 관리) | KMS 사용량에 따라 비용 발생 |
🔹 1. KMS Managed (AWS 관리형 키)
📌 특징
- AWS에서 자동으로 생성한 KMS 키(AWS-managed key)를 사용하여 암호화
- 사용자가 키를 직접 관리할 필요 없음
- IAM 정책만으로 암호화된 데이터를 제어 가능
- 추가 비용 없음 (기본 제공)
📌 사용 예시
ECR을 생성할 때 기본적으로 KMS Managed 키가 사용됩니다.
aws ecr create-repository \
--repository-name my-repo \
--encryption-configuration encryptionType=KMS
✅ AWS 관리형 KMS 키가 자동으로 적용됨
- 별도의 KMS 키를 지정할 필요 없음.
📌 적합한 경우
- 간단한 보안 관리가 필요할 때 (AWS가 모든 것을 자동으로 처리)
- 추가적인 비용 없이 기본적인 암호화만 필요할 때
- 기업 보안 규정에서 별도 키 관리가 필요하지 않을 때
🔹 2. Customer Managed (사용자 지정 KMS 키)
📌 특징
- 사용자가 직접 생성한 KMS 키(Customer-managed key)를 사용하여 암호화
- 세부적인 키 관리 및 액세스 제어 가능 (IAM 정책, 키 정책 설정 가능)
- 삭제 보호 및 키 교체 가능
- AWS KMS 비용이 발생 ($1/월 + 요청당 $0.03)
📌 사용 예시
1️⃣ 사용자 지정 KMS 키 생성
aws kms create-key --description "ECR Custom Encryption Key"
출력 예제:
{
"KeyMetadata": {
"KeyId": "abcd1234-5678-efgh-9012-ijklmnopqrst",
"Arn": "arn:aws:kms:ap-northeast-2:123456789012:key/abcd1234-5678-efgh-9012-ijklmnopqrst"
}
}
2️⃣ 해당 KMS 키를 사용하여 ECR 생성
aws ecr create-repository \
--repository-name my-secure-repo \
--encryption-configuration encryptionType=KMS,kmsKey="arn:aws:kms:ap-northeast-2:123456789012:key/abcd1234-5678-efgh-9012-ijklmnopqrst"
✅ 사용자 지정 KMS 키가 적용된 ECR이 생성됨.
📌 적합한 경우
- 보안 및 규제 준수 필요 (예: 금융, 의료, 정부 기관)
- 특정 AWS 계정, 서비스, 사용자만 접근하도록 키 정책을 세분화할 경우
- KMS 키를 직접 로테이션(교체)하고 관리해야 하는 경우
🚀 결론: 언제 KMS Managed vs Customer Managed를 선택해야 할까?
상황추천 암호화 방식
빠른 배포 & 기본 보안 | KMS Managed |
기업 보안 정책 준수 필요 (예: 금융, 정부기관) | Customer Managed |
세부적인 키 액세스 제어 필요 | Customer Managed |
비용 절감이 중요한 경우 | KMS Managed |
✅ 일반적인 경우 → KMS Managed 사용 (추가 비용 없음)
✅ 보안이 중요한 경우 → Customer Managed 사용 (세부 관리 가능)
📌 추천: 기업 환경에서 보안이 중요한 경우
🔹 Customer Managed Key를 사용하면 IAM 정책 + KMS 키 정책을 조합하여 세부적인 보안 통제 가능
🔹 규제 준수(Compliance)가 중요한 환경에서는 Customer Managed Key 필수 (예: PCI-DSS, HIPAA)
🔹 AWS KMS 비용 고려 필요 ($1/월 + 요청당 $0.03)
👉 기업 보안 요구 사항이 없다면 KMS Managed 사용이 더 간편하고 비용도 절감할 수 있음 🚀
반응형