카테고리 없음

🔍 AWS ECR 암호화 옵션: KMS Managed vs Customer Managed

idea9329 2025. 3. 18. 16:17
반응형

 

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 사용이 더 간편하고 비용도 절감할 수 있음 🚀

반응형