기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
에 대한 키 관리 모범 사례 AWS KMS
AWS Key Management Service (AWS KMS)를 사용할 때는 몇 가지 기본적인 설계 결정을 내려야 합니다. 여기에는 키 관리 및 액세스를 위해 중앙 집중식 모델을 사용할지 아니면 분산식 모델을 사용할지 여부, 사용할 키 유형, 사용할 키 스토어 유형이 포함됩니다. 다음 섹션에서는 조직 및 사용 사례에 적합한 결정을 내리는 데 도움이 됩니다. 이 섹션에서는 데이터 및 키를 보호하기 위해 수행해야 하는 작업을 포함하여 KMS 키 비활성화 및 삭제에 대한 중요한 고려 사항으로 마무리합니다.
이 섹션은 다음 주제를 포함합니다:
중앙 집중식 또는 분산식 모델 선택
AWS 에서는 여러를 사용하고 해당 계정을에서 단일 조직으로 AWS 계정 관리할 것을 권장합니다AWS Organizations. 다중 계정 환경에서를 관리하는 데는 두 가지 광범위한 접근 방식이 AWS KMS keys 있습니다.
첫 번째 접근 방식은 각 계정에서 해당 키를 사용하는 키를 생성하는 분산 접근 방식입니다. KMS 키를 보호하는 리소스와 동일한 계정에 저장하는 경우 AWS 보안 주체 및 키에 대한 액세스 요구 사항을 이해하는 로컬 관리자에게 권한을 위임하는 것이 더 쉽습니다. 키 정책만 사용하여 키 사용을 승인하거나 AWS Identity and Access Management (IAM)에서 키 정책과 자격 증명 기반 정책을 결합할 수 있습니다.
두 번째 접근 방식은 KMS 키를 하나 또는 몇 개의 지정된에 유지하는 중앙 집중식 접근 방식입니다 AWS 계정. 다른 계정이 암호화 작업에만 키를 사용하도록 허용합니다. 중앙 집중식 계정에서 키, 수명 주기 및 권한을 관리합니다. 다른 AWS 계정 사용자가 키를 사용하도록 허용하지만 다른 권한은 허용하지 않습니다. 외부 계정은 키의 수명 주기 또는 액세스 권한에 대한 어떤 것도 관리할 수 없습니다. 이 중앙 집중식 모델은 위임된 관리자 또는 사용자의 의도하지 않은 키 삭제 또는 권한 에스컬레이션 위험을 최소화하는 데 도움이 될 수 있습니다.
선택하는 옵션은 여러 요인에 따라 달라집니다. 접근 방식을 선택할 때는 다음 사항을 고려하세요.
-
키 및 리소스 액세스를 프로비저닝하기 위한 자동 또는 수동 프로세스가 있습니까? 여기에는 배포 파이프라인 및 코드형 인프라(IaC) 템플릿과 같은 리소스가 포함됩니다. 이러한 도구는 여러에 리소스(예: KMS 키, 키 정책, IAM 역할 및 IAM 정책)를 배포하고 관리하는 데 도움이 될 수 있습니다 AWS 계정. 이러한 배포 도구가 없는 경우 키 관리에 대한 중앙 집중식 접근 방식이 비즈니스에 더 적합할 수 있습니다.
-
KMS 키를 사용하는 리소스 AWS 계정 가 포함된 모든에 대한 관리 제어 권한이 있습니까? 그렇다면 중앙 집중식 모델을 사용하면 관리를 간소화하고 키를 관리하기 AWS 계정 위해 전환할 필요가 없습니다. 그러나 키를 사용할 수 있는 IAM 역할 및 사용자 권한은 여전히 계정별로 관리해야 합니다.
-
자체 AWS 계정 및 리소스가 있는 고객 또는 파트너에게 KMS 키를 사용할 수 있는 액세스 권한을 제공해야 합니까? 이러한 키의 경우 중앙 집중식 접근 방식을 통해 고객과 파트너의 관리 부담을 줄일 수 있습니다.
-
중앙 집중식 또는 로컬 액세스 접근 방식을 통해 더 잘 해결되는 AWS 리소스에 액세스하기 위한 권한 부여 요구 사항이 있습니까? 예를 들어, 서로 다른 애플리케이션 또는 사업부가 자체 데이터의 보안을 관리하는 역할을 하는 경우 키 관리에 대한 분산형 접근 방식이 더 좋습니다.
-
에 대한 서비스 리소스 할당량을 초과하고 있습니까 AWS KMS? 이러한 할당량은 당 설정되므로 AWS 계정분산 모델은 계정 간에 로드를 분산하여 서비스 할당량을 효과적으로 곱합니다.
참고
키 관리 모델은 요청 할당량을 고려할 때 관련이 없습니다. 이러한 할당량은 키를 소유하거나 관리하는 계정이 아니라 키에 대해 요청하는 계정 보안 주체에 적용되기 때문입니다.
일반적으로 중앙 집중식 KMS 키 모델의 필요성을 명확히 설명할 수 없는 한 분산형 접근 방식으로 시작하는 것이 좋습니다.
고객 관리형 키, AWS 관리형 키 또는 AWS 소유 키 선택
자체 암호화 애플리케이션에서 사용하기 위해 생성하고 관리하는 KMS 키를 고객 관리형 키라고 합니다.는 고객 관리형 키를 사용하여 서비스가 사용자를 대신하여 저장하는 데이터를 암호화할 AWS 서비스 수 있습니다. 수명 주기와 키 사용을 완전히 제어하려면 고객 관리형 키를 사용하는 것이 좋습니다. 계정에 고객 관리형 키를 보유하는 데는 월별 비용이 발생합니다. 또한 키 사용 또는 관리 요청에는 사용 비용이 발생합니다. 자세한 내용은 AWS KMS
요금
AWS 서비스 에서 데이터를 암호화하지만 키 관리의 오버헤드나 비용을 원하지 않는 경우 AWS 관리형 키를 사용할 수 있습니다. 이러한 유형의 키는 계정에 존재하지만 특정 상황에서만 사용할 수 있습니다. 운영 중인의 컨텍스트에서만 사용할 수 있으며 키 AWS 서비스 가 포함된 계정 내의 보안 주체만 사용할 수 있습니다. 이러한 키의 수명 주기 또는 권한은 관리할 수 없습니다. 일부는 AWS 관리형 키를 AWS 서비스 사용합니다. AWS 관리형 키 별칭의 형식은 입니다aws/<service code>
. 예를 들어 키는 aws/ebs
키와 동일한 계정의 Amazon Elastic Block Store(Amazon EBS) 볼륨을 암호화하는 데만 사용할 수 있으며 해당 계정의 IAM 보안 주체만 사용할 수 있습니다. AWS 관리형 키는 해당 계정의 사용자와 해당 계정의 리소스에 대해서만 사용할 수 있습니다. AWS 관리형 키로 암호화된 리소스는 다른 계정과 공유할 수 없습니다. 사용 사례에 제한이 있는 경우 대신 고객 관리형 키를 사용하는 것이 좋습니다. 해당 키의 사용을 다른 계정과 공유할 수 있습니다. 계정에 AWS 관리형 키가 있는 경우 요금이 부과되지 않지만 키에 AWS 서비스 할당된에서이 키 유형을 사용하는 경우 요금이 부과됩니다.
AWS 관리형 키는 2021 AWS 서비스 년부터 새에 대해 더 이상 생성되지 않는 레거시 키 유형입니다. 대신 새 키(및 레거시 키) AWS 서비스 는 AWS 소유 키를 사용하여 기본적으로 데이터를 암호화합니다. AWS 소유 키는가 여러에서 사용하기 위해 AWS 서비스 소유하고 관리하는 KMS 키 모음입니다 AWS 계정. 이러한 키는에 없지만 AWS 계정는 키를 사용하여 계정의 리소스를 보호할 AWS 서비스 수 있습니다.
세분화된 제어가 가장 중요한 경우 고객 관리형 키를 사용하고 편의성이 가장 중요한 경우 AWS 소유 키를 사용하는 것이 좋습니다.
다음 표에서는 각 키 유형 간의 키 정책, 로깅, 관리 및 요금 차이를 설명합니다. 키 유형에 대한 자세한 내용은 AWS KMS 개념을 참조하세요.
고려 사항 | 고객 관리형 키 | AWS 관리형 키 | AWS 소유 키 |
---|---|---|---|
키 정책 | 고객이 독점적으로 제어 | 서비스에서 제어, 고객이 볼 수 있음 | 데이터를 암호화하는 AWS 서비스 에서만 독점적으로 제어되고 볼 수 있음 |
로깅 | AWS CloudTrail 고객 추적 또는 이벤트 데이터 스토어 | CloudTrail 고객 추적 또는 이벤트 데이터 저장소 | 고객이 볼 수 없음 |
수명 주기 관리 | 고객이 교체, 삭제 및 관리 AWS 리전 | AWS 서비스 는 교체(연간), 삭제 및 리전을 관리합니다. | AWS 서비스 는 교체(연간), 삭제 및 리전을 관리합니다. |
요금 | 키 존재에 대한 월별 요금(시간당 비례 할당), 호출자에게 API 사용 요금이 청구됩니다. | 키 존재에 대한 요금 없음, 호출자에게 API 사용에 대한 요금 부과 | 고객에게 부과되는 요금 없음 |
AWS KMS 키 스토어 선택
키 스토어는 암호화 키 구성 요소를 저장하고 사용하기 위한 안전한 위치입니다. 키 스토어의 업계 모범 사례는 보안 수준 3의 NIST Federal Information Processing Standards(FIPS) 140 암호화 모듈 검증 프로그램에 따라 검증된 하드웨어 보안 모듈(HSM)
AWS KMS 는를 사용하여 암호화 키를 생성하고 관리할 때 키 구성 요소를 보호하는 AWS KMS 데 도움이 되는 여러 키 스토어 유형을 지원합니다. 에서 제공하는 모든 키 스토어 옵션은 보안 수준 3의 FIPS 140에 따라 지속적으로 검증 AWS KMS 됩니다. 연 AWS 산자를 포함한 모든 사용자가 권한 없이 일반 텍스트 키에 액세스하거나 사용하지 못하도록 설계되었습니다. 사용 가능한 키 스토어 유형에 대한 자세한 내용은 AWS KMS 설명서의 키 스토어를 참조하세요.
AWS KMS 표준 키 스토어는 대부분의 워크로드에 가장 적합합니다. 다른 유형의 키 스토어를 선택해야 하는 경우 규제 또는 기타 요구 사항(예: 내부)에서 이러한 선택을 요구하는지 신중하게 고려하고 비용과 이점을 신중하게 고려하세요.
KMS 키 삭제 및 비활성화
KMS 키를 삭제하면 상당한 영향을 미칠 수 있습니다. 더 이상 사용하지 않을 KMS 키를 삭제하기 전에 키 상태를 비활성화됨으로 설정하는 것이 적절한지 고려합니다. 키가 비활성화된 동안에는 암호화 작업에 사용할 수 없습니다. 여전히에 있으며 필요한 경우 나중에 다시 활성화 AWS할 수 있습니다. 비활성화된 키에는 계속 스토리지 요금이 발생합니다. 키가 데이터 또는 데이터 키를 보호하지 않는다고 확신할 때까지 키를 삭제하는 대신 비활성화하는 것이 좋습니다.
중요
키 삭제는 신중하게 계획해야 합니다. 해당 키가 삭제된 경우 데이터를 복호화할 수 없습니다. AWS 는 삭제된 키를 삭제한 후 복구할 방법이 없습니다. 의 다른 중요한 작업과 마찬가지로 AWS삭제를 위해 키를 예약하고 키 삭제를 위해 다중 인증(MFA)을 요구할 수 있는 사용자를 제한하는 정책을 적용해야 합니다.
우발적인 키 삭제를 방지하기 위해는 DeleteKey
호출 실행 후 7일의 기본 최소 대기 기간을 AWS KMS 적용한 후 키를 삭제합니다. 대기 기간을 최대 30일로 설정할 수 있습니다. 대기 기간 동안 키는 여전히 삭제 보류 중 상태로 AWS KMS 에 저장됩니다. 암호화 또는 복호화 작업에 사용할 수 없습니다. 암호화 또는 복호화를 위해 삭제 보류 중 상태인 키를 사용하려는 모든 시도는에 기록됩니다 AWS CloudTrail. CloudTrail 로그에서 이러한 이벤트에 대한 Amazon CloudWatch 경보를 설정할 수 있습니다. 이러한 이벤트에 대한 경보를 수신하는 경우 필요한 경우 삭제 프로세스를 취소하도록 선택할 수 있습니다. 대기 기간이 만료될 때까지 삭제 보류 상태에서 키를 복구하고 비활성화됨 또는 활성화됨 상태로 복원할 수 있습니다.
다중 리전 키를 삭제하려면 원본 복사 전에 복제본을 삭제해야 합니다. 자세한 내용은 다중 리전 키 삭제를 참조하세요.
가져온 키 구성 요소가 있는 키를 사용하는 경우 가져온 키 구성 요소를 즉시 삭제할 수 있습니다. 이는 여러 가지 방법으로 KMS 키를 삭제하는 것과 다릅니다. DeleteImportedKeyMaterial
작업을 수행하면가 키 구성 요소를 AWS KMS 삭제하고 키 상태가 가져오기 보류 중으로 변경됩니다. 키 구성 요소를 삭제하면 키를 즉시 사용할 수 없습니다. 대기 기간은 없습니다. 키 사용을 다시 활성화하려면 동일한 키 구성 요소를 다시 가져와야 합니다. KMS 키 삭제 대기 기간은 가져온 키 구성 요소가 있는 KMS 키에도 적용됩니다.
데이터 키가 KMS 키로 보호되고에서 적극적으로 사용 중인 경우 연결된 KMS 키가 비활성화되거나 가져온 키 구성 요소가 삭제되더라도 데이터 키는 즉시 영향을 AWS 서비스받지 않습니다. 예를 들어 가져온 구성 요소가 있는 키를 사용하여 SSE-KMS로 객체를 암호화했다고 가정해 보겠습니다. Amazon Simple Storage Service(Amazon S3) 버킷에 객체를 업로드하는 중입니다. 버킷에 객체를 업로드하기 전에 구성 요소를 키로 가져옵니다. 객체가 업로드되면 해당 키에서 가져온 키 구성 요소를 삭제합니다. 객체는 암호화된 상태로 버킷에 남아 있지만 삭제된 키 구성 요소가 키로 다시 가져오기 전까지는 아무도 객체에 액세스할 수 없습니다. 이 흐름에는 키에서 키 구성 요소를 가져오고 삭제하기 위한 정확한 자동화가 필요하지만, 환경 내에서 추가 수준의 제어를 제공할 수 있습니다.
AWS 는 KMS 키의 예약된 삭제를 모니터링하고 수정(필요한 경우)하는 데 도움이 되는 규범적 지침을 제공합니다. 자세한 내용은 AWS KMS 키의 예약된 삭제 모니터링 및 수정을 참조하세요.