고객 마스터 키 교체 - AWS Key Management Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

고객 마스터 키 교체

암호화 모범 사례에 따르면 암호화 키를 광범위하게 사용하지 않는 것이 좋습니다. 새 암호화 키 자료를 만들려면AWS Key Management Service(AWS KMS) 고객 마스터 키 (CMK) 를 생성하려면 새 CMK를 생성한 다음 애플리케이션 또는 별칭을 변경하여 새 CMK를 사용할 수 있습니다. 또는 기존 고객 관리형 CMK에 대해 자동 키 교체를 활성화할 수 있습니다.

활성화하는 경우자동 키 교체고객 관리형 CMK에 대한AWS KMS는 매년 CMK에 대한 새 키 구성 요소를 생성합니다.AWS KMS는 CMK의 기존 키 구성 요소를 영구히 저장하므로 이 구성 요소를 사용하여 암호화된 데이터를 해독할 수 있습니다.AWS KMS는 회전된 키 재질을 삭제하지 않습니다.CMK를 삭제합니다..

키 회전은 CMK의키 구성 요소암호화 작업에 사용되는 암호화 구성 요소인 암호화 구성 요소를 보여 줍니다. CMK는 키 구성 요소가 변경되는지 여부 또는 변경 횟수와 상관없이 동일한 논리적 리소스입니다. 다음 이미지와 같이, CMK의 속성은 변경되지 않습니다.

자동 키 교체에는 다음과 같은 이점이 있습니다.

  • CMK의 속성을 포함하여키 ID,키 ARN, 리전, 정책 및 권한에 대한 변경 사항은 변경되지 않습니다.

  • CMK의 키 ID 또는 키 ARN 참조하는 애플리케이션 또는 별칭을 변경할 필요가 없습니다.

  • 키 교체를 활성화한 후 AWS KMS는 매년 자동으로 CMK를 교체합니다. 업데이트를 기억하거나 예약할 필요가 없습니다.

그러나 자동 키 순환은 CMK가 보호하는 데이터에는 영향을 주지 않습니다. CMK에서 생성한 데이터 키를 교체하거나 CMK에서 보호하는 데이터를 다시 암호화하지 않으며, 손상된 데이터 키의 영향을 완화하지 않습니다.

새 CMK를 생성하여 원본 CMK 대신 사용하기로 결정할 수 있습니다. 이렇게 하면 기존 CMK에서 키 구성 요소를 교체하는 것과 동일한 효과가 있으므로, 이 방법은 일반적으로 키를 수동으로 교체하는 것으로 간주됩니다. 수동 교체는 키 교체 일정을 제어하려는 경우에 좋은 선택입니다. 또한 비대칭 CMK, 사용자 지정 키 스토어의 CMK, 가져온 키 구성 요소가 있는 CMK를 포함하여 자동 키 교체가 적합하지 않은 CMK를 교체하는 방법을 제공합니다.

키 교체 및 요금

고객 관리형 CMK를 교체하면 추가 월별 요금이 발생할 수 있습니다. 자세한 내용은 AWS Key Management Service 요금을 참조하십시오. 키 구성 요소 및 회전에 대한 자세한 내용은 단원을 참조하십시오.AWS Key Management Service암호화 세부 정보.

자동 키 교체의 작동 방식

AWS KMS의 키 교체는 투명하고 사용하기 쉽게 설계된 암호화 모범 사례입니다. AWS KMS는 고객 관리형 CMK에 대해서만 자동 키 교체(선택 사항)를 지원합니다.

  • 키 구성 요소 관리형 AWS KMS키 교체가 비활성화된 경우에도 CMK에 대한 모든 키 구성 요소를 보존합니다. 키 구성 요소는 CMK가 삭제되는 경우에만 삭제됩니다. CMK를 사용하여 암호화하면AWS KMS는 현재 키 구성 요소를 사용합니다. CMK를 사용하여 해독하면AWS KMS는 암호화에 사용된 키 자료를 사용합니다.

  • 키 교체 활성화 및 비활성화. 자동 키 교체는 기본적으로 비활성화됩니다.고객 관리형 CMK. 키 교체를 활성화(또는 다시 활성화)하면 AWS KMS는 활성화 날짜에서 365일 후에 CMK를 자동으로 교체하고 이후 365일마다 교체합니다.

  • 비활성 CMK. CMK가 비활성인 동안에는 AWS KMS에서 CMK를 교체하지 않습니다. 하지만 키 교체 상태는 변경되지 않으며 CMK가 비활성인 동안에는 해당 상태를 변경할 수 없습니다. CMK가 다시 활성화되면 키 구성 요소가 365일을 초과한 경우AWS KMS는 CMK를 즉시 교체하고 이후 365일마다 교체합니다. 만약 키 구성 요소가 365일 미만인 경우AWS KMS는 원래 키 순환 예약을 재개합니다.

  • CMK 삭제 보류 중. CMK가 삭제 보류 중인 동안에는 AWS KMS에서 CMK를 교체하지 않습니다. 키 교체 상태는 false로 설정되며 삭제가 보류 중인 동안에는 해당 상태를 변경할 수 없습니다. 삭제가 취소되면 이전의 키 교체 상태가 복원됩니다. 만약 키 구성 요소가 365일을 초과한 경우AWS KMS는 CMK를 즉시 교체하고 이후 365일마다 교체합니다. 만약 키 구성 요소가 365일 미만인 경우AWS KMS는 원래 키 순환 예약을 재개합니다.

  • AWS 관리형 CMK. AWS 관리형 CMK에 대한 키 교체는 사용자가 관리할 수 없습니다. AWS KMS는 AWS 관리형 CMK를 3년(1095일)마다 자동으로 교체합니다.

  • AWS 소유 CMK. 에 대한 키 교체를 관리할 수 없습니다.AWS소유 CMK. 이키 교체에 대한 전략AWS소유 CMK에 의해 결정되는AWS서비스를 사용하여 CMK를 만들고 관리합니다. 자세한 내용은 단원을 참조하십시오.저장 데이터 암호화항목에 대한 사용 설명서 또는 개발자 안내서의 내용을 참조하십시오.

  • AWS 서비스. 자동 키 회전을 사용하도록 설정할 수 있습니다.고객 관리형 CMK에서 서버 측 암호화에 사용하는AWS서비스. 연간 교체는 투명하며 호환됩니다.AWS서비스.

  • 다중 리전 CMK. 자동 키 교체를 활성화 및 비활성화할 수 있습니다.다중 리전 키. 기본 키에만 속성을 설정합니다. 일시AWS KMS키를 동기화하는 경우 기본 키에서 복제 키로 속성 설정을 복사합니다. 기본 키의 키 재질이 회전하면AWS KMS는 해당 키 자료를 모든 복제 키에 자동으로 복사합니다. 자세한 내용은 단원을 참조하십시오다중 영역 키 회전

  • 키 교체 모니터링. 일시AWS KMS의 키 재질을 자동으로 회전합니다.AWS관리형 CMK또는고객 관리형 CMK, 그것은CMK Rotation이벤트를 트리거합니다.Amazon CloudWatch Events키 교체에AWS CloudTrail로그를 트리거합니다. 이러한 레코드를 사용하여 CMK가 교체되었는지 확인할 수 있습니다.

  • 지원되지 않는 CMK 유형입니다. 다음 유형의 CMK에서는 자동 키 교체가 지원되지 않지만 이러한 CMK를 수동으로 교체할 수 있습니다.

자동 키 교체를 활성화하고 비활성화하는 방법

AWS KMS 콘솔 또는 AWS KMS API를 사용하여 자동 키 교체를 활성화 및 비활성화할 수 있으며 고객 관리형 CMK의 교체 상태를 볼 수 있습니다.

자동 키 교체를 활성화하면 AWS KMS는 활성화 날짜에서 365일 후에 CMK를 교체하고 이후 365일마다 교체합니다.

키 교체 활성화 및 비활성화 (콘솔)

  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/kms에서 AWS Key Management Service(AWS KMS) 콘솔을 엽니다.

  2. AWS 리전을 변경하려면 페이지의 오른쪽 상단에 있는 리전 선택기를 사용합니다.

  3. 탐색 창에서 고객 관리형 키(Customer managed keys)를 선택합니다. (의 교체를 활성화하거나 비활성화할 수 없습니다.AWS관리형 키를 사용합니다. 3년마다 자동으로 교체됩니다.)

  4. CMK의 별칭 또는 키 ID를 선택합니다.

  5. Key rotation(키 회전) 탭을 선택합니다.

    Key rotation(키 회전) 탭은 AWS KMS가 생성한 키 구성 요소가 있는 대칭 CMK의 세부 정보 페이지에만 나타납니다(Origin(오리진)AWS_KMS). 비대칭 CMK, 가져온 키 구성 요소가 있는 CMK 또는 사용자 지정 키 스토어의 CMK는 자동으로 교체할 수 없습니다. 그러나 이들을 수동으로 회전할수 있습니다.

  6. Automatically rotate this CMK every year(매년 이 CMK를 자동 교체) 확인란을 선택하거나 선택 취소합니다.

    참고

    CMK가 비활성이거나 삭제 보류 중인 경우 Automatically rotate this CMK every year(매년 이 CMK를 자동 교체) 확인란이 선택 취소되며 이 설정을 변경할 수 없습니다. CMK를 활성화하거나 삭제를 취소하면 키 교체 상태가 복원됩니다. 자세한 내용은 자동 키 교체의 작동 방식키 상태 CMK에 미치는 영향 단원을 참조하십시오.

  7. Save를 선택합니다.

키 교체 활성화 및 비활성화 (AWS KMSAPI)

AWS Key Management Service(AWS KMS) API를 사용하여 자동 키 교체를 활성화 및 비활성화하고 고객 관리형 CMK의 현재 교체 상태를 볼 수 있습니다. 이 예제들은 AWS Command Line Interface(AWS CLI)를 사용하지만, 사용자는 어떤 지원되는 프로그래밍 언어라도 사용할 수 있습니다.

EnableKeyRotation 작업은 지정된 CMK에 대한 자동 키 교체를 활성화합니다. DisableKeyRotation 작업은 이를 비활성화합니다. 이러한 작업에서 CMK를 식별하려면 해당 키 ID 또는 키 ARN을 사용합니다. 기본적으로 고객 관리형 CMK에 대한 키 교체는 비활성화됩니다.

다음 예제에서는 지정된 대칭 CMK에 대해 키 교체를 활성하고 GetKeyRotationStatus 작업을 사용하여 결과를 확인합니다. 그런 다음 키 교체를 비활성화하고 다시 GetKeyRotationStatus를 사용하여 변경 사항을 확인합니다.

$ aws kms enable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": true } $ aws kms disable-key-rotation --key-id 1234abcd-12ab-34cd-56ef-1234567890ab $ aws kms get-key-rotation-status --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyRotationEnabled": false }

수동으로 키 교체

자동 키 교체를 활성화하지 않고 새 CMK를 생성하여 현재 CMK 대신 사용하려고 할 수 있습니다. 새 CMK에 현재 CMK와 다른 키 구성 요소가 있는 경우 새 CMK를 사용하면 기존 CMK에서 키 구성 요소를 변경하는 것과 동일한 효과가 있습니다. 한 CMK를 다른 CMK로 교체하는 프로세스를 수동 키 교체라고 합니다.

교체 빈도를 제어할 수 있도록 수동으로 키를 교체하려고 할 수 있습니다. 또한 이 방법은 비대칭 CMK, 사용자 지정 키 스토어의 CMK, 가져온 키 구성 요소가 있는 CMK 같이 자동 키 교체를 사용할 수 없는 CMK에게는 좋은 해결 방법입니다.

참고

새 CMK 사용을 시작할 때는 AWS KMS에서 원본 CMK를 사용하여 암호화한 데이터를 해독할 수 있도록 원본 CMK를 활성화된 상태로 유지해야 합니다.

새 CMK는 현재 CMK와 다른 리소스이므로 키 ID 및 키 ARN 이 다릅니다. CMK를 변경할 때는 애플리케이션에서 키 ID 또는 키 ARN 에 대한 참조를 업데이트해야 합니다. 별칭를 사용하면 이 프로세스를 더 쉽게 수행할 수 있습니다. 별칭을 사용하여 애플리케이션에서 CMK를 참조합니다. 그런 다음 애플리케이션에 사용되는 CMK를 변경하려고 할 때 별칭의 대상 CMK를 변경합니다. 자세한 내용은 단원을 참조하십시오응용 프로그램에서 별칭 사용

별칭의 대상 CMK를 업데이트하려면UpdateAlias에서 작업을 트리거합니다.AWS KMSAPI. 예를 들어, 이 명령은 새 CMK를 가리키도록 TestKey 별칭을 업데이트합니다. 이 작업은 출력을 반환하지 않기 때문에 예제에서는ListAliases작업을 통해 별칭이 다른 CMK와 현재 연결되어 있음을 보여 주고LastUpdatedDate필드가 업데이트됩니다.

$ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1521097200.123, "LastUpdatedDate": 1521097200.123 }, ] } $ aws kms update-alias --alias-name alias/TestKey --target-key-id 0987dcba-09fe-87dc-65ba-ab0987654321 $ aws kms list-aliases { "Aliases": [ { "AliasArn": "arn:aws:kms:us-west-2:111122223333:alias/TestKey", "AliasName": "alias/TestKey", "TargetKeyId": "0987dcba-09fe-87dc-65ba-ab0987654321", "CreationDate": 1521097200.123, "LastUpdatedDate": 1604958290.722 }, ] }