4단계: 키 구성 요소 가져오기 - AWS Key Management Service

4단계: 키 구성 요소 가져오기

키 구성 요소를 암호화한 후 AWS KMS key와 함께 사용할 키 구성 요소를 가져올 수 있습니다. 키 구성 요소를 가져오려면 3단계: 키 구성 요소 암호화에서 암호화한 키 구성 요소와 2단계: 래핑 퍼블릭 키 및 가져오기 토큰 다운로드에서 다운로드한 가져오기 토큰을 업로드합니다. 퍼블릭 키와 가져오기 토큰을 다운로드했을 때 지정한 KMS 키로 키 구성 요소를 가져와야 합니다. 키 구성 요소를 성공적으로 가져오면 KMS 키의 키 상태Enabled 상태로 변경되고 암호화 작업에 KMS 키를 사용할 수 있습니다.

키 구성 요소를 가져올 때 키 구성 요소에 대해 선택적으로 만료 시간을 설정할 수 있습니다. 키 구성 요소가 만료되면, AWS KMS가 키 구성 요소를 삭제하고 KMS 키를 사용할 수 없게 됩니다. 키 구성 요소를 가져온 후에는 현재 가져오기에 대한 만료 날짜를 설정, 변경 또는 취소할 수 없습니다. 이러한 값을 변경하려면 동일한 키 구성 요소를 다시 가져와야 합니다.

오리진이 EXTERNAL인 모든 KMS 키의 경우, 처음 가져온 키 구성 요소가 현재 키 구성 요소가 되며 해당 키와 영구적으로 연결됩니다. 오리진이 EXTERNAL인 단일 리전 대칭 암호화 키는 온디맨드 교체를 지원합니다. 온디맨드 교체를 지원하는 가져온 키에는 여러 키 구성 요소를 연결할 수 있습니다. ImportKeyMaterial 작업을 사용할 때 importType 파라미터를 NEW_KEY_MATERIAL로 설정해야 새 키 구성 요소를 KMS 키와 연결할 수 있습니다. 이 키 구성 요소는 RotateKeyOnDemand 작업을 수행하기 전까지 해당 키에 영구적으로 연결되지 않습니다. 그때까지 이 키 구성 요소는 PENDING_ROTATION 상태로 유지됩니다. 선택적 ImportType 파라미터의 기본값은 EXISTING_KEY_MATERIAL입니다. ImportType 파라미터를 생략하거나 EXISTING_KEY_MATERIAL로 지정하는 경우, KMS 키와 이전에 연결된 키 구성 요소를 가져와야 합니다.

오리진이 EXTERNAL인 비대칭, HMAC 또는 다중 리전 KMS 키에는 하나의 키 구성 요소만 있을 수 있습니다. AWS KMS는 ImportType 파라미터가 포함된 ImportKeyMaterial API 요청을 거부합니다.

KMS 키에 영구적으로 연결된 모든 키 구성 요소를 가져오면 KMS 키를 암호화 작업에 사용할 수 있습니다. 이 키 구성 요소 중 하나라도 삭제되거나 만료되도록 허용되면 KMS 키 상태는 PendingImport로 변경되며, 해당 키는 암호화 작업에 사용할 수 없습니다.

키 구성 요소를 가져오려면 AWS KMS 콘솔 또는 ImportKeyMaterial API를 사용할 수 있습니다. AWS SDK, AWS Command Line Interface 또는 AWS Tools for PowerShell을 사용하거나 직접HTTP 요청을 수행해 API를 사용할 수 있습니다.

키 구성 요소를 가져오면 ImportKeyMaterial 작업을 기록하기 위해 ImportKeyMaterial 항목이 AWS CloudTrail 로그에 추가됩니다. CloudTrail 항목은 AWS KMS 콘솔을 사용하든 AWS KMS API를 사용하든 동일합니다.

만료 시간 설정(선택 사항)

KMS 키에 대한 키 구성 요소를 가져올 때 가져오기 날짜로부터 최대 365일까지 키 구성 요소에 대한 선택적 만료 날짜 및 시간을 설정할 수 있습니다. 가져온 키 구성 요소가 만료되면 AWS KMS가 이를 삭제합니다. 이 작업은 KMS 키의 키 상태PendingImport로 변경하여 암호화 작업에 사용되지 않도록 합니다. KMS 키를 사용하려면 원본 키 구성 요소의 사본을 다시 가져와야 합니다.

가져온 키 구성 요소가 자주 만료되도록 하면 규정 요구 사항을 충족하는 데 도움이 될 수 있지만 KMS 키로 암호화된 데이터에 추가적인 위험이 발생합니다. 원래 키 구성 요소의 사본을 다시 가져올 때까지 키 구성 요소가 만료된 KMS 키는 사용할 수 없으며 KMS 키로 암호화된 모든 데이터에 액세스할 수 없습니다. 원래 키 구성 요소의 사본 손실을 포함하여 어떤 이유로든 키 구성 요소를 다시 가져오지 못하면 KMS 키를 영구적으로 사용할 수 없으며 KMS 키로 암호화된 데이터를 복구할 수 없습니다.

이러한 위험을 완화하려면 가져온 키 재료의 사본에 액세스할 수 있는지 확인하고, 키 재료가 만료되어 AWS 워크로드를 중단하기 전에 해당 키 재료를 삭제하고 다시 가져오도록 시스템을 설계합니다. 만료되기 전에 키 구성 요소를 다시 가져올 수 있는 충분한 시간을 제공하는 가져온 키 구성 요소의 만료 경보를 설정하는 것이 좋습니다. 또한 CloudTrail 로그를 사용하여 키 재료를 가져오고 다시 가져오는 작업과 가져온 키 재료를 삭제하는 작업, 만료된 키 재료를 삭제하는 AWS KMS 작업을 감사할 수 있습니다.

AWS KMS는 삭제된 키 구성 요소를 복원하거나 복구하거나 재생성할 수 없습니다. 만료 시간을 설정하는 대신 주기적으로 가져온 키 구성 요소를 프로그래밍 방식으로 삭제하고 다시 가져올 수 있지만 원래 키 구성 요소의 사본을 유지하기 위한 요구 사항은 동일합니다.

키 구성 요소를 가져올 때 가져온 키 구성 요소의 만료 여부와 시기를 결정합니다. 그러나 키 구성 요소를 다시 가져오면 만료 기능을 켜거나 끌 수 있으며 새로운 만료 시간을 설정할 수도 있습니다. ImportKeyMaterialExpirationModel 파라미터를 사용하여 만료를 켰다가(KEY_MATERIAL_EXPIRES) 끄고(KEY_MATERIAL_DOES_NOT_EXPIRE) ValidTo 파라미터를 사용하여 만료 시간을 설정합니다. 최대 시간은 가져오기 데이터로부터 365일입니다. 최소값은 없지만 시간은 미래여야 합니다.

키 구성 요소 설명 설정

오리진이 EXTERNAL인 단일 리전 대칭 암호화 키에는 다중 키 구성 요소가 연결될 수 있습니다. 이러한 키에 키 구성 요소를 가져올 때 선택적으로 키 구성 요소 설명을 지정할 수 있습니다. 이 설명은 해당 키 구성 요소가 AWS KMS 외부에서 지속적으로 유지되는 위치를 추적하는 데 사용할 수 있습니다.

키 구성 요소 다시 가져오기

가져온 키 구성 요소가 있는 KMS 키를 관리하는 경우, 키 구성 요소를 다시 가져와야 할 수도 있습니다. 만료되거나 삭제된 키 구성 요소를 바꾸거나 키 구성 요소의 만료 모델 또는 만료 날짜를 변경하기 위해 키 구성 요소를 다시 가져올 수 있습니다.

보안 요구 사항을 충족하는 일정에 따라 언제든지 키 구성 요소를 다시 가져올 수 있습니다. 키 구성 요소가 만료 시간에 도달하거나 근접할 때까지 기다릴 필요가 없습니다.

키 구성 요소를 다시 가져오는 절차는 처음 키 구성 요소를 가져오는 절차와 동일하지만, 다음과 같은 예외가 있습니다.

  • 새 KMS 키를 만드는 대신 기존 KMS 키를 사용합니다. 가져오기 절차의 1단계를 건너뛸 수 있습니다.

  • 키 구성 요소를 다시 가져올 때 만료 모델 및 만료 날짜를 변경할 수 있습니다.

키 구성 요소를 KMS 키로 가져올 때마다 해당 KMS 키의 가져오기 토큰과 새 래핑 키를 다운로드하여 사용해야 합니다. 래핑 절차는 키 구성 요소의 내용에 영향을 주지 않으므로 다른 래핑 퍼블릭 키와 다른 래핑 알고리즘을 사용하여 동일한 키 구성 요소를 가져올 수 있습니다.

새 키 구성 요소 가져오기

가져온 키 구성 요소를 사용하는 대칭 암호화 KMS 키에 대해 온디맨드 교체를 수행하려면 먼저 해당 KMS 키와 이전에 연결되지 않은 새 키 구성 요소를 가져와야 합니다. 이 작업을 수행하려면 ImportKeyMaterial 작업에서 ImportType 파라미터를 NEW_KEY_MATERIAL로 설정해 사용하세요. 이 방식으로 가져온 키 구성 요소는 RotateKeyOnDemand 작업을 수행하거나 AWS Management 콘솔에서 키를 교체하기 전까지 PENDING_ROTATION 상태로 유지됩니다. KMS 키는 언제나 PENDING_ROTATION 상태의 키 구성 요소를 최대 하나만 가질 수 있습니다.

키 구성 요소 가져오기(콘솔)

AWS Management 콘솔을 사용해 키 구성 요소를 가져올 수 있습니다.

  1. 래핑된 키 구성 요소 업로드 페이지에 있는 경우 단계 8으로 건너뛰세요.

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

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

  4. 탐색 창에서 고객 관리형 키를 선택합니다.

  5. 퍼블릭 키와 가져오기 토큰을 다운로드한 KMS 키의 키 ID 또는 별칭을 선택합니다.

  6. 암호화 구성(Cryptographic configuration) 탭을 선택하고 해당 값을 봅니다. 탭은 일반 구성 섹션 아래의 KMS 키에 대한 세부 정보 페이지에 있습니다.

    키 구성 요소는 오리진외부(키 구성 요소 가져오기)인 KMS 키로만 가져올 수 있습니다. 가져온 키 구성 요소가 있는 KMS 키를 생성하는 방법은 AWS KMS 키에 대한 키 구성 요소 가져오기 단원을 참조하십시오.

  7. 비대칭, HMAC 및 다중 리전 키의 경우 키 구성 요소 탭을 선택한 다음 키 구성 요소 가져오기를 선택하세요. 단일 리전 대칭 암호화 키의 경우 키 구성 요소 및 교체 탭을 선택하세요. 그런 다음 초기 키 구성 요소 가져오기 또는 새 키 구성 요소 가져오기 또는 키 구성 요소 다시 가져오기 중 하나를 선택하세요. 키 구성 요소 테이블의 Actions 메뉴에서 키 구성 요소 다시 가져오기 옵션을 사용할 수 있습니다.

    키 구성 요소를 다운로드하고, 토큰을 가져오고, 키 구성 요소를 암호화한 경우 다음을 선택합니다.

  8. 암호화된 키 구성 요소 및 가져오기 토큰 섹션에서 다음을 수행하세요.

    1. 래핑된 키 구성 요소에서 파일 선택을 선택합니다. 그런 다음, 래핑(암호화)된 키 구성 요소가 포함된 파일을 업로드합니다.

    2. 가져오기 토큰에서 파일 선택을 선택합니다. 다운로드한 가져오기 토큰이 포함된 파일을 업로드합니다.

  9. Expiration option(만료 옵션) 섹션에서 키 구성 요소의 만료 여부를 결정합니다. 만료 날짜와 시간을 설정하려면 Key material expires(키 구성 요소 만료)를 선택하고 캘린더를 사용해 날짜와 시간을 선택합니다. 현재 날짜 및 시간으로부터 최대 365일까지 날짜를 지정할 수 있습니다.

  10. 대칭 암호화 키의 경우, 가져오는 키 구성 요소에 대한 설명을 선택적으로 지정할 수 있습니다.

  11. 키 구성 요소 가져오기를 선택합니다.

키 구성 요소 가져오기(AWS KMS API)

키 구성 요소를 가져오려면 ImportKeyMaterial작업을 사용합니다. 다음의 예제는 AWS CLI을(를) 사용하지만 지원되는 모든 프로그래밍 언어를 사용할 수 있습니다.

이 예제 사용

  1. 1234abcd-12ab-34cd-56ef-1234567890ab을(를) 퍼블릭 키와 가져오기 토큰을 다운로드할 때 지정한 KMS 키의 키 ID로 바꿉니다. KMS 키를 식별하려면, 이 KMS 키의 키 ID 또는 키 ARN을 사용합니다. 이 작업에는 별칭 이름이나 별칭 ARN을 사용할 수 없습니다.

  2. EncryptedKeyMaterial.bin을 암호화된 키 구성 요소가 포함된 파일 이름으로 바꿉니다.

  3. ImportToken.bin을 가져오기 토큰이 포함된 파일 이름으로 바꿉니다.

  4. 가져온 키 구성 요소가 만료되도록 하려면 expiration-model 파라미터 값을 기본값, KEY_MATERIAL_EXPIRES로 설정하거나 expiration-model 파라미터를 생략합니다. 그런 다음 valid-to 파라미터 값을 만료할 날짜와 시간으로 바꿉니다. 날짜 및 시간은 요청 시점으로부터 최대 365일이 될 수 있습니다.

    $ aws kms import-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_EXPIRES \ --valid-to 2023-06-17T12:00:00-08:00

    가져온 키 구성 요소가 만료되지 않도록 하려면 명령에서 expiration-model 파라미터의 값을 KEY_MATERIAL_DOES_NOT_EXPIRE로 설정하고 valid-to 파라미터를 생략합니다.

    $ aws kms import-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_DOES_NOT_EXPIRE
  5. KMS 키와 이전에 연결되지 않은 새 키 구성 요소를 가져오려면 ImportType 파라미터를 NEW_KEY_MATERIAL로 설정하세요. 이 옵션은 단일 리전 대칭 암호화 KMS 키에서만 사용할 수 있습니다. 이러한 키의 경우 선택적 KeyMaterialDescription 파라미터를 사용하여 다음 명령줄 예제에서 가져온 키 구성 요소에 대한 설명을 설정할 수도 있습니다.

    $ aws kms import-key-material --key-id 1234abcd-12ab-34cd-56ef-1234567890ab \ --encrypted-key-material fileb://EncryptedKeyMaterial.bin \ --import-token fileb://ImportToken.bin \ --expiration-model KEY_MATERIAL_EXPIRES \ --valid-to 2023-06-17T12:00:00-08:00 \ --import-type NEW_KEY_MATERIAL \ --key-material-description "Q2 2025 Rotation"
작은 정보

명령이 실패하면 KMSInvalidStateException 또는 NotFoundException이 표시될 수 있습니다. 요청을 재시도할 수 있습니다.