AWS KMS (AWS Key Management Service) 에서 키 구성 요소 가져오기 - AWS Key Management Service

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

AWS KMS (AWS Key Management Service) 에서 키 구성 요소 가져오기

생성할 수 있는고객 마스터 키(CMK) 당신이 제공하는 주요 재료.

CMK는 마스터 키의 논리적 표현입니다. 여기에는 다음이 포함됩니다.키 구성 요소암호화 및 암호화를 해제하는 데 사용되는키 식별자및 기타 메타데이터를 생성합니다. 때CMK를 생성합니다에서는 기본적으로 AWS KMS 가 해당 CMK의 키 구성 요소를 생성합니다. 그러나 키 구성 요소 없이 CMK를 생성한 다음 자신의 키 구성 요소를 해당 CMK로 가져올 수 있습니다. 이 CMK는 종종 “자체 키 사용"(BYOK)이라고 합니다.

참고

AWS KMS는 AWS KMS 외부에서 AWS KMS 암호문의 암호 해독을 지원하지 않습니다. 암호문이 가져온 키 자료로 CMK로 암호화되었더라도 마찬가지입니다. AWS KMS 는 이 작업에 필요한 암호문 형식을 게시하지 않으며 형식은 통지 없이 변경될 수 있습니다.

가져온 키 구성 요소는 AWS KMS 키 스토어의 대칭 CMK에 대해서만 지원됩니다. 비대칭 CMK 또는 사용자 지정 키 스토어의 CMK에는 지원되지 않습니다.

가져온 키 구성 요소를 사용하는 경우, AWS KMS 가 키 구성 요소의 사본을 사용하도록 허용하는 동시에 키 구성에 대한 책임은 유지해야 합니다. 이렇게 하기로 선택하는 경우는 다음과 같습니다.

  • 요구 사항에 부합하는 엔트로피 소스를 사용하여 키 구성 요소를 생성했음을 입증하기 위해.

  • AWS 서비스에서 자체 인프라의 주요 자료를 사용하고 AWS KMS를 사용하여 AWS 내에서 해당 주요 자료의 수명 주기를 관리합니다.

  • AWS 의 키 구성 요소에 만료 시간을 설정하고수동으로 삭제뿐만 아니라 나중에 다시 사용 가능하도록 설정하기 위해. 반면 키 삭제를 예약하려면 7 - 30일의 대기 기간이 필요하며, 이 기간이 지나면 삭제한 CMK를 복구할 수 없습니다.

  • 키 구성 요소의 전체 수명 주기 동안 내구성 강화와 재해 복구를 목적으로 키 구성 요소의 원본을 소유하고 AWS 외부에 보관하기 위해.

가져온 키 구성 요소를 이용하는 CMK와 AWS KMS 에서 생성한 키 구성 요소를 이용하는 CMK 사이의 중요한 차이에 대한 정보는 단원을 참조하십시오.가져온 키 구성 요소 정보를 선택합니다.

가져오는 키 구성 요소는 256비트 대칭 암호화 키여야 합니다.

가져온 키 구성 요소 정보

키 구성 요소를 AWS KMS 로 가져오기로 결정하기 전에, 가져온 키 구성 요소의 다음과 같은 특성을 이해해야 합니다.

키 재질을 생성합니다.

보안 요구 사항에 부합하는 임의 소스를 이용해 256비트의 키 구성 요소를 생성해야 합니다.

키 재질을 변경할 수 없습니다.

CMK로 키 구성 요소를 가져오면, CMK는 키 구성 요소와 영구적으로 연결됩니다. 동일한 키 구성 요소를 가져오되, 다른 키 구성 요소를 CMK로 가져올 수는 없습니다. 또한 가져온 키 구성 요소를 사용하여 CMK에 대한 자동 키 교체를 활성화할 수 없습니다. 하지만 가져온 키 구성 요소로 CMK를 수동 교체할 수 있습니다.

다른 CMK로 암호를 해독할 수 없습니다.

KMS CMK 하에서 데이터를 암호화하면 암호화 텍스트를 다른 CMK로 해독할 수 없습니다. 동일한 키 구성 요소를 CMK로 가져올 때도 마찬가지입니다.

휴대성 또는 에스크로 기능 없음

AWS KMS 에서 생성하는 암호문은 이식성이 없습니다. AWS KMS는 AWS KMS 외부에서 AWS KMS 암호문의 암호 해독을 지원하지 않습니다. 암호문이 가져온 키 자료로 CMK로 암호화되었더라도 마찬가지입니다. AWS KMS 는 이 작업에 필요한 암호문 형식을 게시하지 않으며 형식은 통지 없이 변경될 수 있습니다.

또한 AWS 도구를 사용할 수 없습니다.AWS SDK 암호화 참조또는Amazon S3 클라이언트 측 암호화를 사용하여 AWS KMS 암호문을 해독할 수 있습니다.

따라서 키 자료에 조건부 액세스 권한이 있는 승인된 타사가 AWS KMS 외부의 특정 암호문을 해독할 수 있는 키 에스크로 준비를 지원하기 위해 가져온 키 자료와 함께 키를 사용할 수 없습니다. 키 에스크로를 지원하려면AWS SDK 암호화 참조를 사용하여 AWS KMS 와 독립적인 키로 메시지를 암호화할 수 있습니다.

가용성과 내구성에 대한 책임은 고객에게 있습니다.

고객은 키 구성 요소 가용성과 내구성에 대한 모든 책임을 부담해야 합니다. AWS KMS 는 가져온 키 구성 요소를 고가용성을 유지하도록 설계되었습니다. 그러나 이 서비스는 가져온 키 구성 요소의 내구성을 자동 생성된 키 구성 요소와 동일한 수준으로 유지하지는 않습니다. 이 차이는 다음과 같은 경우에 의미가 있습니다.

  • 가져온 키 구성 요소에 만료 시간을 설정하면 AWS KMS 가 키 구성 요소를 만료한 후 삭제합니다. AWS KMS 는 CMK나 그 메타데이터를 삭제하지 않습니다. AWS KMS 에서 생성한 키 구성 요소에 만료 시간을 설정할 수 없습니다.

  • 가져온 키 구성 요소를 수동으로 삭제로 설정하면 AWS KMS 가 키 구성 요소를 삭제하지만 CMK나 그 메타데이터를 삭제하지 않습니다. 대조적으로,키 삭제를 예약하려면7~30일의 대기 기간이 필요하며, 이 기간이 지나면 AWS KMS 가 키 구성 요소 및 CMK의 모든 메타데이터를 삭제합니다.

  • 드물지만 서비스에 영향을 미칠 리전 전반에 걸친 장애 (완전한 정전 등) 가 발생하는 경우, AWS KMS 는 가져온 키 구성 요소를 자동으로 복원할 수 없습니다. 하지만 AWS KMS CMK와 그 메타데이터를 복원할 수 있습니다.

이런 이벤트가 발생한 뒤에 키 구성 요소를 복원하려면 제어 시스템 안에 키 구성 요소의 사본이 있어야 합니다. 그래야만 CMK로 다시 가져올 수 있습니다.

키 자료 가져오기 권한

가져온 주요 자료로 CMK를 만들고 관리하려면 사용자에게 이 프로세스의 작업에 대한 권한이 필요합니다. 당신은 제공 할 수 있습니다kms:GetParametersForImport,kms:ImportKeyMaterial, 및kms:DeleteImportedKeyMaterial권한 CMK를 생성할 때. 이kms:ImportKeyMaterial권한은 키 관리자의 기본 권한에 포함되지 않으므로 수동으로 추가해야 합니다.

키 구성 요소를 가져와서 CMK를 생성하려면 보안 주체에 다음 권한이 있어야 합니다.

  • KMS:만들기 키(IAM 정책)

    • 이 권한을 가져온 키 구성 요소가 포함된 CMK로 제한하려면kms:KeyOrigin정책 조건 값을EXTERNAL를 선택합니다.

      { "Version": "2012-10-17", "Statement": { "Sid": "IAM policy to create CMKs with no key material" "Effect": "Allow", "Resource": "*", "Principal": { "AWS": "arn:aws:iam::111122223333:role/KMSAdminRole" }, "Action": "kms:CreateKey", "Condition": { "StringEquals": { "kms:KeyOrigin": "EXTERNAL" } } }
  • KMS:가져오기 매개 변수(키 정책 또는 IAM 정책)

  • KMS:가져오기 키 재질(키 정책 또는 IAM 정책)

가져온 키 재질을 다시 가져오려면 보안 주체가KMS:가져오기 매개 변수KMS:가져오기 키 재질권한을 생성합니다.

가져온 키 자료를 삭제하려면 보안 주체가KMS:삭제가져온 키 재질권한을 부여합니다.

키 구성 요소를 가져오는 방법

다음 개요에서는 AWS KMS 로 키 구성 요소를 가져오는 방법을 설명합니다. 프로세스의 각 단계에 대한 자세한 정보는 해당 주제를 참조하십시오.

  1. 키 구성 요소 없이 대칭 CMK 생성— 키 구성 요소 가져오기를 시작하려면 먼저 대칭 CMK를 생성합니다.오리진확장하는 데EXTERNAL를 선택합니다. 이는 키 구성 요소가 AWS KMS 외부에서 생성되었다는 뜻으로, 이는 AWS KMS가 CMK에 필요한 키 구성 요소를 생성할 수 없습니다. 이후 단계에 이 CMK로 고유한 키 구성 요소를 가져오게 됩니다.

  2. 퍼블릭 키 및 가져오기 토큰 다운로드— 1단계를 완료한 후 퍼블릭 키와 가져오기 토큰을 다운로드합니다. 이러한 항목은 AWS KMS 로 키 구성 요소를 가져오는 과정을 보호합니다.

  3. 키 구성 요소 암호화— 2단계에 다운로드한 퍼블릭 키를 사용하여 고유한 시스템에 생성한 키 구성 요소를 암호화합니다.

  4. 키 구성 요소 가져오기— 3단계에 생성한 암호화된 키 구성 요소 및 2단계에 다운로드한 가져오기 토큰을 업로드합니다.

AWS KMS 다음과 같은 경우 AWS CloudTrail 로그에 항목을 기록합니다.CMK를 생성합니다,퍼블릭 키 및 가져오기 토큰을 다운로드하려면, 및키 구성 요소 가져오기를 선택합니다. 또한 AWS KMS 는 가져온 키 자료를 삭제하거나 AWS KMS 를 사용하는 경우에도 항목을 기록합니다.만료된 키 구성 요소를 삭제합니다를 선택합니다.

키 구성 요소를 다시 가져오는 방법

가져온 키 구성 요소로 CMK를 관리하는 경우, 키 구성 요소가 만료되었거나 실수로 삭제 또는 분실하여 키 구성 요소를 다시 가져와야 할 수도 있습니다.

처음에 CMK로 가져왔던 것과 동일한 키 구성 요소를 다시 가져와야 합니다. 다른 키 구성 요소는 CMK로 가져올 수 없습니다. 또한 AWS KMS 에서는 키 구성 요소 없이 생성된 CMK의 키 구성 요소를 생성할 수 없습니다.

키 구성 요소를 다시 가져오려면 처음 키 구성 요소를 가져올 때와 동일한 절차를 사용하되, 다음 예외를 적용합니다.

  • 새 CMK를 만들지 않고 기존 CMK를 사용합니다. 가져오기 절차의 1단계를 건너뛸 수 있습니다.

  • CMK에 키 구성 요소가 있으면 키 구성 요소를 다시 가져오기 전에 기존 키 구성 요소를 삭제해야 합니다.

키 구성 요소를 CMK로 가져올 때마다 해당 CMK의 가져오기 토큰과 새 래핑 키를 다운로드하여 사용해야 합니다. 래핑 절차는 키 구성 요소의 내용에 영향을 주지 않으므로 동일한 키 구성 요소를 다양한 래핑 키(서로 다른 가져오기 토큰)로 가져올 수 있습니다.

가져온 키 구성 요소로 CMK를 보는 방법

키 구성 요소 없이 CMK를 만드는 경우, CMK의 Origin 속성 값이 EXTERNAL이 되고 이 값은 변경할 수 없습니다. 가져온 키 구성 요소를 사용하도록 설계된 키는 AWS KMS 에서 제공하는 키 구성 요소를 사용하도록 변환할 수 없습니다.

AWS KMS 콘솔에서 또는 AWS KMS API를 사용하여 가져온 키 구성 요소가 필요한 CMK를 식별할 수 있습니다. 콘솔 또는 API를 사용하여 키 자료의 만료 여부와 시기 등의 속성을 볼 수도 있습니다.

키 구성 요소를 가져와서 CMK를 식별하려면 (콘솔)

  1. https://console.aws.amazon.com/kms에서 AWS KMS 콘솔을 엽니다.

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

  3. 다음 방법 중 하나를 사용하여 CMK의 Origin 속성을 봅니다.

    • CMK 테이블에 오리진 열을 추가하려면 오른쪽 상단 모서리에서 설정 아이콘을 선택합니다. Origin(오리진)을 확인한 다음 확인을 선택합니다. Origin(오리진) 열에서 오리진 속성 값이 EXTERNAL인 CMK를 쉽게 식별할 수 있습니다.

    • 특정 CMK의 Origin 속성 값을 찾으려면 해당 CMK의 키 ID 또는 별칭을 선택합니다. 그런 다음암호화 구성 요소 지정탭을 클릭합니다. 탭은 아래쪽에 있습니다.일반 구성섹션을 참조하십시오.

  4. 키 구성 요소에 대한 세부 정보를 보려면키 구성 요소탭을 클릭합니다. 이 탭은 키 구성 요소를 가져와서 CMK에 대해서만 세부 정보 페이지에 나타납니다.

가져온 키 구성 요소 (AWS KMS API) 로 CMK를 식별하려면

DescribeKey 작업을 사용합니다. 응답에는 응답이 포함됩니다.Origin속성, 만료 모델 및 만료 날짜를 다음 예제와 같이 지정합니다.

$ aws kms describe-key --key-id 1234abcd-12ab-34cd-56ef-1234567890ab { "KeyMetadata": { "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Origin": "EXTERNAL", "ExpirationModel": "KEY_MATERIAL_EXPIRES" "ValidTo": 1568894400.0, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": 1568289600.0, "Enabled": false, "Description": "", "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }