외부 키 스토어에서 KMS 키 생성 - AWS Key Management Service

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

외부 키 스토어에서 KMS 키 생성

외부 키 스토어를 생성하고 연결한 후에는 키 스토어에서 AWS KMS keys를 생성할 수 있습니다. 오리진 값이 External key store(외부 키 스토어)(EXTERNAL_KEY_STORE)인 대칭 암호화 KMS 키여야 합니다. 사용자 지정 키 스토어에 비대칭 KMS 키, HMAC KMS 키 또는 가져온 키 구성 요소가 있는 KMS 키를 생성할 수 없습니다. 또한 사용자 지정 키 스토어에서 대칭 암호화 KMS 키를 사용하여 비대칭 데이터 키 페어를 생성할 수 없습니다.

외부 키 스토어의 KMS 키는 AWS 외부에 있는 구성 요소에 의존하기 때문에 표준 KMS 키보다 지연 시간, 내구성 및 가용성이 낮을 수 있습니다. 외부 키 스토어에서 KMS 키를 생성하거나 사용하기 전에 외부 키 스토어 속성이 있는 키가 필요한지 확인합니다.

참고

일부 외부 키 관리자는 외부 키 스토어에 KMS 키를 생성하는 더 간단한 방법을 제공합니다. 자세한 내용은 외부 키 관리자 설명서를 참조하세요.

외부 키 스토어에서 KMS 키를 생성하려면 다음을 지정하세요.

  • 외부 키 스토어의 ID.

  • 외부 키 스토어(EXTERNAL_KEY_STORE)의 키 구성 요소 오리진.

  • 외부 키 스토어와 연결된 외부 키 관리자에 있는 기존 외부 키의 ID. 이 외부 키는 KMS 키의 키 구성 요소 역할을 합니다. KMS 키를 생성한 후에는 외부 키 ID를 변경할 수 없습니다.

    AWS KMS는 암호화 및 복호화 작업에 대한 요청에서 외부 키 스토어 프록시에 외부 키 ID를 제공합니다. AWS KMS는 외부 키 관리자 또는 해당 암호화 키에 직접 액세스할 수 없습니다.

외부 키 스토어의 KMS 키에는 외부 키 외에도 AWS KMS 키 구성 요소가 있습니다. KMS 키로 암호화된 모든 데이터는 먼저 키의 AWS KMS 키 구성 요소를 사용하여 AWS KMS에서 암호화된 다음 외부 키를 사용하여 외부 키 관리자에 의해 암호화됩니다. 이 이중 암호화 프로세스를 통해 외부 키 스토어에서 KMS 키로 보호되는 사이퍼텍스트가 항상 AWS KMS으로만 보호되는 사이퍼텍스트 이상으로 강력해집니다. 자세한 내용은 외부 키 스토어 작동 방식 단원을 참조하세요.

CreateKey 작업이 성공하면 새 KMS 키의 키 상태Enabled입니다. 외부 키 스토어에서 KMS 키를 볼 때 키 ID, 키 사양, 키 사용, 키 상태 및 생성 날짜와 같은 일반적인 속성을 볼 수 있습니다. 그러나 외부 키 스토어의 ID 및 연결 상태와 외부 키의 ID도 볼 수 있습니다.

외부 키 스토어에서 KMS 키를 생성하려는 시도가 실패할 때 오류 메시지를 사용하면 원인을 식별하는 데 도움이 됩니다. 외부 키 스토어가 연결되어 있지 않거나(CustomKeyStoreInvalidStateException), 외부 키 스토어 프록시가 지정된 외부 키 ID를 가진 외부 키를 찾을 수 없거나(XksKeyNotFoundException), 외부 키가 동일한 외부 키 스토어 XksKeyAlreadyInUseException의 KMS 키와 이미 연결되어 있음을 나타낼 수 있습니다.

.

외부 키 스토어에 KMS 키를 생성하는 작업의 AWS CloudTrail 로그 예제는 CreateKey 섹션을 참조하세요.

외부 키 스토어의 KMS 키 요구 사항

외부 키 스토어에서 KMS 키를 생성하려면 외부 키 스토어, KMS 키 및 KMS 키의 외부 암호화 키 구성 요소 역할을 하는 외부 키에 대해 다음 속성이 필요합니다.

외부 키 스토어 요구 사항

KMS 키 요구 사항

KMS 키를 생성한 후에는 이러한 속성을 변경할 수 없습니다.

  • 키 사양: SYMMETRIC_DEFAULT

  • 키 사용: ENCRYPT_DECRYPT

  • 키 구성 요소 오리진: EXTERNAL_KEY_STORE

  • 다중 리전: FALSE

외부 키 요구 사항

  • 256비트 AES 암호화 키(256개의 임의 비트). 외부 키의 KeySpecAES_256이어야 합니다.

  • 활성화되어 사용할 수 있습니다. 외부 키의 StatusENABLED여야 합니다.

  • 암호화 및 암호 복호화용으로 구성되었습니다. 외부 키의 KeyUsageENCRYPTDECRYPT가 포함되어야 합니다.

  • 이 KMS 키에만 사용됩니다. 외부 키 스토어의 각 KMS key는 서로 다른 외부 키와 연결되어야 합니다.

    또한 AWS KMS는 외부 키를 외부 키 스토어에만 사용할 것을 권장합니다. 이 제한으로 인해 키와 관련된 문제를 더 쉽게 식별하고 해결할 수 있습니다.

  • 외부 키 스토어에 대한 외부 키 스토어 프록시에서 액세스할 수 있습니다.

    외부 키 스토어 프록시가 지정된 외부 키 ID를 사용하여 키를 찾을 수 없는 경우 CreateKey 작업이 실패합니다.

  • AWS 서비스 사용으로 생성되는 예상 트래픽을 처리할 수 있습니다. AWS KMS는 초당 최대 1,800개의 요청을 처리할 수 있도록 외부 키를 준비할 것을 권장합니다.

외부 키 스토어에서 KMS 키 생성(콘솔)

외부 키 스토어에서 KMS 키를 생성하는 방법에는 두 가지가 있습니다.

  • 방법 1(권장): 외부 키 스토어를 선택한 다음 해당 외부 키 스토어에서 KMS 키를 생성합니다.

  • 방법 2: KMS 키를 생성한 다음 KMS 키가 외부 키 스토어에 있음을 표시합니다.

방법 1을 사용할 경우 키를 생성하기 전에 외부 키 스토어를 선택하면 AWS KMS가 필요한 모든 KMS 키 속성을 자동으로 선택하고 외부 키 스토어의 ID를 입력합니다. 이 방법을 사용하면 KMS 키를 생성할 때 발생할 수 있는 오류를 방지할 수 있습니다.

참고

별칭, 설명 또는 태그에 기밀 또는 민감한 정보를 포함하지 마십시오. 이러한 필드는 CloudTrail 로그 및 기타 출력에서 일반 텍스트로 표시될 수 있습니다.

방법 1(권장): 외부 키 스토어에서 시작

이 방법을 사용하려면 외부 키 스토어를 선택한 다음 KMS 키를 생성합니다. AWS KMS 콘솔이 자동으로 필요한 모든 속성을 선택하고 외부 키 스토어의 ID를 입력합니다. 이 방법을 사용하면 KMS 키를 생성할 때 발생할 수 있는 많은 오류를 방지할 수 있습니다.

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

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

  3. 탐색 창에서 Custom key stores(사용자 지정 키 스토어), External key stores(외부 키 스토어)를 선택합니다.

  4. 외부 키 스토어의 이름을 선택합니다.

  5. 오른쪽 상단에서 Create a KMS key in this key store(이 키 스토어에서 KMS 키 생성)을 선택합니다.

    외부 키 스토어가 연결되지 않은 경우 외부 키 스토어를 연결하라는 메시지가 나타납니다. 연결 시도가 실패할 경우 문제를 해결하고 외부 키 스토어를 연결해야 외부 키 스토어에서 새 KMS 키를 생성할 수 있습니다.

    외부 키 스토어가 연결된 경우 키 생성을 위한 Customer managed keys(고객 관리형 키) 페이지로 리디렉션됩니다. 필요한 Key configuration(키 구성) 값이 이미 선택되어 있습니다. 외부 키 스토어의 사용자 지정 키 스토어 ID도 입력되어 있지만 사용자가 이를 변경할 수 있습니다.

  6. 외부 키 관리자에서 외부 키의 키 ID를 입력합니다. 이 외부 키는 KMS 키와 함께 사용하기 위한 요구 사항을 충족해야 합니다. 키가 생성된 후에는 이 값을 변경할 수 없습니다.

    외부 키에 ID가 여러 개 있는 경우 외부 키 스토어 프록시가 외부 키를 식별하는 데 사용하는 키 ID를 입력합니다.

  7. 지정된 외부 키 스토어에서 KMS 키를 생성할지 확인합니다.

  8. 다음을 선택합니다.

    이 절차의 나머지 부분은 표준 KMS 키를 생성하는 것과 동일합니다.

  9. KMS 키의 별칭(필수)과 설명(선택 사항)을 입력합니다.

  10. (선택 사항). 태그 추가(Add Tags) 페이지에서 KMS 키를 식별 및 분류하는 태그를 추가합니다.

    AWS 리소스에 태그를 추가하면 AWS에서 사용 내역 및 비용을 태그별로 집계한 비용 할당 보고서를 생성합니다. KMS 키에 대한 액세스를 제어하는 데에도 태그를 사용할 수 있습니다. KMS 키 태그 지정에 대한 자세한 내용은 키 태그 지정AWS KMS의 ABAC 섹션을 참조하십시오.

  11. 다음을 선택합니다.

  12. 키 관리자(Key Administrators) 섹션에서 KMS 키를 관리할 수 있는 IAM 사용자 및 역할을 선택합니다. 자세한 내용은 키 관리자가 KMS 키를 관리하도록 허용을 참조하세요.

    참고

    IAM 정책은 다른 IAM 사용자 및 역할에 KMS 키 사용 권한을 제공할 수 있습니다.

    IAM 모범 사례는 장기 보안 인증 정보가 있는 IAM 사용자의 사용을 장려하지 않습니다. 가능할 경우, 임시 보안 인증 정보를 제공하는 IAM 역할을 사용하세요. 자세한 내용은 IAM 사용 설명서IAM의 보안 모범 사례를 참조하세요.

  13. (선택 사항) 이러한 키 관리자가 KMS 키를 삭제하지 못하도록 하려면 Allow key administrators to delete this key(키 관리자가 이 키를 삭제하도록 허용) 확인란의 선택을 취소합니다.

    KMS 키 삭제는 사이퍼텍스트를 복구할 수 없게 만들 수 있는 파괴적이고 되돌릴 수 없는 작업입니다. 외부 키 구성 요소가 있더라도 외부 키 스토어에서 대칭 KMS 키를 다시 생성할 수 없습니다. 그러나 KMS 키를 삭제해도 연결된 외부 키에는 영향이 없습니다. 외부 키 스토어에서 KMS 키를 삭제하는 방법에 대한 자세한 내용은 외부 키 스토어에서 KMS 키 삭제 예약 섹션을 참조하세요.

  14. 다음을 선택합니다.

  15. 이 계정 섹션에서 암호화 작업에 CMK를 사용할 수 있는 이 AWS 계정의 IAM 사용자 및 역할을 선택합니다. 자세한 내용은 키 사용자가 KMS 키를 사용하도록 허용을 참조하세요.

    참고

    IAM 정책은 다른 IAM 사용자 및 역할에 KMS 키 사용 권한을 제공할 수 있습니다.

    IAM 모범 사례는 장기 보안 인증 정보가 있는 IAM 사용자의 사용을 장려하지 않습니다. 가능할 경우, 임시 보안 인증 정보를 제공하는 IAM 역할을 사용하세요. 자세한 내용은 IAM 사용 설명서IAM의 보안 모범 사례를 참조하세요.

  16. (선택 사항) 다른 AWS 계정이 암호화 작업에서 이 KMS 키를 사용하도록 허용할 수 있습니다. 이렇게 하려면 페이지 하단의 기타(Other)AWS 계정 섹션에서 다른 AWS 계정 추가(Add another)를 선택하고 외부 계정의 AWS 계정 ID를 입력합니다. 외부 계정을 여러 개 추가하려면 이 단계를 반복합니다.

    참고

    다른 AWS 계정의 관리자는 사용자에 대해 IAM 정책을 생성하여 KMS 키에 대한 액세스도 허용해야 합니다. 자세한 설명은 다른 계정의 사용자가 KMS를 사용하도록 허용 섹션을 참조하세요.

  17. 다음을 선택하세요.

  18. 선택한 키 설정을 검토합니다. 여전히 돌아가서 모든 설정을 변경할 수 있습니다.

  19. 완료했으면 마침(Finish)을 선택하여 키를 생성합니다.

방법 2: 고객 관리형 키에서 시작

이 절차는 AWS KMS 키 구성 요소를 사용하여 대칭 암호화 키를 생성하는 절차와 동일합니다. 그러나 이 절차에서는 외부 키 스토어의 사용자 지정 키 스토어 ID와 외부 키의 키 ID를 지정합니다. 또한 외부 키 스토어의 KMS 키에 필요한 속성 값(예: 키 사양 및 키 사용)을 지정해야 합니다.

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

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

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

  4. 키 생성(Create key)을 선택합니다.

  5. 대칭(Symmetric)을 선택합니다.

  6. 키 사용(Key usage)에서 암호화 및 해독(Encrypt and decrypt) 옵션이 선택됩니다. 변경할 수 없습니다.

  7. 고급 옵션을 선택합니다.

  8. Key material origin(키 구성 요소 오리진)에서 External key store(외부 키 스토어)를 선택합니다.

  9. 지정된 외부 키 스토어에서 KMS 키를 생성할지 확인합니다.

  10. 다음을 선택합니다.

  11. 새 KMS 키에 대한 외부 키 스토어를 나타내는 행을 선택합니다.

    연결 해제된 외부 키 스토어는 선택할 수 없습니다. 연결 해제된 키 스토어를 연결하려면 키 스토어 이름을 선택한 다음 Key store actions(키 스토어 작업)에서 Connect(연결)를 선택합니다. 자세한 내용은 외부 키 스토어 연결(콘솔) 단원을 참조하세요.

  12. 외부 키 관리자에서 외부 키의 키 ID를 입력합니다. 이 외부 키는 KMS 키와 함께 사용하기 위한 요구 사항을 충족해야 합니다. 키가 생성된 후에는 이 값을 변경할 수 없습니다.

    외부 키에 ID가 여러 개 있는 경우 외부 키 스토어 프록시가 외부 키를 식별하는 데 사용하는 키 ID를 입력합니다.

  13. 다음을 선택합니다.

    이 절차의 나머지 부분은 표준 KMS 키를 생성하는 것과 동일합니다.

  14. KMS 키의 별칭과 설명을 입력합니다.

  15. (선택 사항). 태그 추가(Add Tags) 페이지에서 KMS 키를 식별 및 분류하는 태그를 추가합니다.

    AWS 리소스에 태그를 추가하면 AWS에서 사용 내역 및 비용을 태그별로 집계한 비용 할당 보고서를 생성합니다. KMS 키에 대한 액세스를 제어하는 데에도 태그를 사용할 수 있습니다. KMS 키 태그 지정에 대한 자세한 내용은 키 태그 지정AWS KMS의 ABAC 섹션을 참조하십시오.

  16. 다음을 선택합니다.

  17. 키 관리자(Key Administrators) 섹션에서 KMS 키를 관리할 수 있는 IAM 사용자 및 역할을 선택합니다. 자세한 내용은 키 관리자가 KMS 키를 관리하도록 허용을 참조하세요.

    참고

    IAM 정책은 다른 IAM 사용자 및 역할에 KMS 키 사용 권한을 제공할 수 있습니다.

  18. (선택 사항) 이러한 키 관리자가 KMS 키를 삭제하지 못하도록 하려면 Allow key administrators to delete this key(키 관리자가 이 키를 삭제하도록 허용) 확인란의 선택을 취소합니다.

    KMS 키 삭제는 사이퍼텍스트를 복구할 수 없게 만들 수 있는 파괴적이고 되돌릴 수 없는 작업입니다. 외부 키 구성 요소가 있더라도 외부 키 스토어에서 대칭 KMS 키를 다시 생성할 수 없습니다. 그러나 KMS 키를 삭제해도 연결된 외부 키에는 영향이 없습니다. 외부 키 스토어에서 KMS 키를 삭제하는 방법에 대한 자세한 내용은 외부 키 스토어에서 KMS 키 삭제 예약 섹션을 참조하세요.

  19. 다음을 선택합니다.

  20. 이 계정 섹션에서 암호화 작업에 CMK를 사용할 수 있는 이 AWS 계정의 IAM 사용자 및 역할을 선택합니다. 자세한 내용은 키 사용자가 KMS 키를 사용하도록 허용을 참조하세요.

    참고

    IAM 정책은 다른 IAM 사용자 및 역할에 KMS 키 사용 권한을 제공할 수 있습니다.

  21. (선택 사항) 다른 AWS 계정이 암호화 작업에서 이 KMS 키를 사용하도록 허용할 수 있습니다. 이렇게 하려면 페이지 하단의 기타(Other)AWS 계정 섹션에서 다른 AWS 계정 추가(Add another)를 선택하고 외부 계정의 AWS 계정 ID를 입력합니다. 외부 계정을 여러 개 추가하려면 이 단계를 반복합니다.

    참고

    다른 AWS 계정의 관리자는 사용자에 대해 IAM 정책을 생성하여 KMS 키에 대한 액세스도 허용해야 합니다. 자세한 설명은 다른 계정의 사용자가 KMS를 사용하도록 허용 섹션을 참조하세요.

  22. 다음을 선택하세요.

  23. 선택한 키 설정을 검토합니다. 여전히 돌아가서 모든 설정을 변경할 수 있습니다.

  24. 완료했으면 마침(Finish)을 선택하여 키를 생성합니다.

절차가 성공하면 화면에서 선택한 외부 키 스토어에 새 KMS 키가 표시됩니다. 새 KMS 키의 이름 또는 별칭을 선택하면 세부 정보 페이지의 Cryptographic configuration(암호화 구성) 탭에 KMS 키(External key store(외부 키 스토어))의 오리진, 사용자 지정 키 스토어의 이름, ID 및 유형, 외부 키의 ID, 키 사용 및 상태가 표시됩니다. 이 절차가 실패하면 실패 원인을 설명하는 오류 메시지가 나타납니다. 외부 키 스토어 문제 해결 섹션을 참조하세요.

작은 정보

사용자 지정 키 스토어에서 KMS 키를 손쉽게 식별하려면 Customer managed keys(고객 관리형 키) 페이지에서 Origin(오리진) 및 Custom key store ID(사용자 지정 키 스토어 ID) 열을 디스플레이에 추가합니다. 테이블 필드를 변경하려면 페이지의 오른쪽 상단에서 기어 아이콘을 선택합니다. 자세한 내용은 KMS 키 테이블 사용자 지정 단원을 참조하세요.

외부 키 스토어에서 KMS 키 생성(AWS KMS API)

외부 키 스토어에 새 KMS 키를 생성하려면 CreateKey작업을 사용하십시오. 다음 파라미터는 필수 파라미터입니다.

  • Origin 값은 EXTERNAL_KEY_STORE여야 합니다.

  • CustomKeyStoreId 파라미터는 외부 키 스토어를 식별합니다. 지정된 외부 키 스토어의 ConnectionStateCONNECTED여야 합니다. CustomKeyStoreIdConnectionState를 찾으려면 DescribeCustomKeyStores 작업을 사용합니다.

  • XksKeyId 파라미터는 외부 키를 식별합니다. 이 외부 키는 KMS 키와의 연결 요구 사항을 충족해야 합니다.

Policy 또는 Tags 파라미터 사용과 같이 CreateKey 작업의 선택적 파라미터를 사용할 수도 있습니다.

참고

Description 또는 Tags 필드에 기밀 또는 민감한 정보를 포함하지 마십시오. 이러한 필드는 CloudTrail 로그 및 기타 출력에 일반 텍스트로 표시될 수 있습니다.

이 섹션의 예제는 AWS Command Line Interface(AWS CLI)를 사용하지만, 지원되는 모든 프로그래밍 언어를 사용할 수 있습니다.

이 예제 명령은 CreateKey작업을 사용하여 외부 키 스토어에 KMS 키를 생성합니다. 응답에는 KMS 키의 속성, 외부 키 스토어의 ID, 외부 키의 ID, 사용량 및 상태가 포함됩니다. 이러한 필드에 대한 자세한 내용은 외부 키 스토어에서 KMS 키 보기 섹션을 참조하세요.

이 명령을 실행하기 앞서 예제에 나온 사용자 지정 키 스토어 ID를 유효한 ID로 대체합니다.

$ aws kms create-key --origin EXTERNAL_KEY_STORE --custom-key-store-id cks-1234567890abcdef0 --xks-key-id bb8562717f809024 { "KeyMetadata": { "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "CreationDate": "2022-12-02T07:48:55-07:00", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "CustomKeyStoreId": "cks-1234567890abcdef0", "Description": "", "Enabled": true, "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "MultiRegion": false, "Origin": "EXTERNAL_KEY_STORE", "XksKeyConfiguration": { "Id": "bb8562717f809024" } } }