사용자 지정 키 스토어 생성 - AWS Key Management Service

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

사용자 지정 키 스토어 생성

계정에서 사용자 지정 키 스토어를 하나 또는 여러 개 생성할 수 있습니다. 각 사용자 지정 키 스토어는 동일한 AWS 리전에 있는 AWS CloudHSM 클러스터 하나와 연결됩니다. 사용자 지정 키 스토어를 생성하기 전에 사전 조건을 수집해야 합니다. 사용자 지정 키 스토어를 사용할 수 있으려면 먼저 AWS CloudHSM 클러스터에 이를 연결해야 합니다.

작은 정보

사용자 지정 키 스토어를 당장 연결할 필요는 없습니다. 사용 준비가 될 때까지 연결 해제 상태로 남겨둘 수 있습니다. 하지만 적절하게 구성이 되었는지 확인하기 위해 이를 연결하고, 연결 상태를 확인한 다음, 연결을 해제하고 싶을 수 있습니다.

사전 조건 수집

각각의 AWS KMS 사용자 지정 키 스토어는 AWS CloudHSM 클러스터를 기반으로 합니다. 사용자 지정 키 스토어를 생성하려면 다른 키 스토어에 아직 연결되어 있지 않은 활성 AWS CloudHSM 클러스터를 지정해야 합니다. 또한 AWS KMS가 사용자를 대신해 키를 생성하고 관리하는 데 사용할 수 있는 클러스터의 HSM에서 전용 CU(Crypto User)를 생성해야 합니다.

사용자 지정 키 스토어를 생성하기 전에 다음을 수행합니다.

AWS CloudHSM 클러스터 선택

모든 사용자 지정 키 스토어가 단 하나의 AWS CloudHSM 클러스터에 연결됩니다. 여러분이 고객 마스터 키 (CMK)를 사용해 AWS KMS 생성 CMK ID 및 Amazon 리소스 이름(ARN)과 같은 메타데이터 AWS KMS. 그런 다음, 연결 클러스터의 HSM에서 키 구성 요소를 생성합니다. 새 AWS CloudHSM 클러스터를 생성하거나 기존 클러스터를 사용할 수 있습니다. AWS KMS에서 클러스터에 대한 독점적인 액세스가 필요하지 않습니다.

선택한 AWS CloudHSM 클러스터가 사용자 지정 키 스토어에 영구적으로 연결됩니다. 사용자 지정 키 스토어를 생성한 후에 연결 클러스터의 클러스터 ID를 변경할 수 있지만, 지정한 클러스터는 원래 클러스터와 백업 기록을 공유해야 합니다. 관련이 없는 클러스터를 사용하려면 사용자 지정 키 스토어를 새로 생성해야 합니다.

선택한 AWS CloudHSM 클러스터는 다음 특성을 가지고 있어야 합니다.

  • 클러스터는 활성 상태여야 합니다.

    클러스터를 생성해서 이를 초기화하고 플랫폼에 대한 AWS CloudHSM 클라이언트 소프트에어를 설치한 다음, 클러스터를 활성화해야 합니다. 자세한 지침은 시작하기 섹션 AWS CloudHSM User Guide.

  • 클러스터가 AWS KMS 사용자 지정 키 스토어와 동일한 계정 및 리전에 있어야 합니다. 한 리전에 있는 사용자 지정 키 스토어를 다른 리전의 클러스터와 연결할 수 없습니다. 다중 리전에서 키 인프라를 생성하려면 각 리전에서 키 스토어와 클러스터를 생성해야 합니다.

  • 클러스터가 계정의 다른 사용자 지정 키 스토어에 연결될 수 없습니다. 각각의 사용자 지정 키 스토어는 서로 다른 AWS CloudHSM 클러스터에 연결되어야 합니다. 사용자 지정 키 스토어에 이미 연결되어 있는 클러스터나 연결 클러스터와 백업 기록을 공유하는 클러스터를 지정할 수 없습니다. 백업 기록을 공유하는 클러스터들은 동일한 클러스터 인증서를 가지고 있습니다. 클러스터의 클러스터 인증서를 보려면 AWS CloudHSM 콘솔 또는 DescribeClusters 작업을 사용합니다.

  • 클러스터는 개인 서브넷 에서 최소 2개의 가용성 영역 지역 내. AWS CloudHSM은 모든 가용 영역에서 지원되는 것은 아니기 때문에 해당 리전의 모든 가용 영역에서 프라이빗 서브넷을 생성하는 것이 좋습니다. 기존 클러스터에 대한 서브넷을 재구성할 수는 없지만, 클러스터 구성에서 서브넷을 서로 달리하여 백업으로부터 클러스터를 생성할 수 있습니다.

    중요

    사용자 지정 키 스토어를 만든 후에는 해당 AWS CloudHSM 클러스터에 대해 구성된 프라이빗 서브넷을 삭제하지 마십시오. AWS KMS가 클러스터 구성에서 서브넷을 모두 찾을 수 없는 경우, 사용자 지정 키 스토어에 연결하려는 시도가 SUBNET_NOT_FOUND 연결 오류 상태로 실패합니다. 자세한 내용은 연결 오류를 수정하는 방법 단원을 참조하십시오.

  • The 클러스터의 보안 그룹 (cloudhsm-클러스터-<cluster-id>-sg)에는 포트 2223-2225 에서 TCP 트래픽을 허용하는 인바운드 규칙 및 아웃바운드 규칙이 포함되어야 합니다. 인바운드 규칙의 소스와 아웃바운드 규칙의 대상이 보안 그룹 ID와 일치해야 합니다. 이들 규칙은 클러스터를 생성할 때 기본적으로 설정됩니다. 삭제하거나 변경하지 마십시오.

  • 클러스터는 서로 다른 가용 영역에 활성 HSM을 최소 2개 포함하고 있어야 합니다. HSM의 수를 확인하려면 AWS CloudHSM 콘솔 또는 DescribeClusters 작업을 사용합니다. 필요한 경우 HSM을 추가할 수 있습니다.

트러스트 앵커 인증서 찾기

사용자 지정 키 스토어를 생성할 때 AWS CloudHSM 클러스터의 트러스트 앵커 인증서를 AWS KMS로 업로드해야 합니다. AWS KMS은 사용자 지정 키 스토어를 클러스터에 연결하기 위해 트러스트 앵커 인증서를 필요로 합니다.

모든 활성 AWS CloudHSM 클러스터는 트러스트 앵커 인증서를 갖습니다. 클러스터를 초기화할 때 이러한 인증서를 생성해서 customerCA.crt 파일에 저장하고 클러스터를 연결하는 호스트에 이를 복사합니다.

AWS KMS에 대한 kmsuser CU(Crypto User) 생성

사용자 지정 키 스토어를 관리하기 위해 AWS KMS는 선택한 클러스터의 kmsuser CU(Crypto User) 계정에 로그인합니다. 사용자 지정 키 스토어를 생성하기 전에 먼저 kmsuser CU를 생성해야 합니다. 사용자 지정 키 스토어를 생성할 때 사용자는 AWS KMS에 kmsuser의 암호를 제공합니다. AWS KMS는 연결 AWS CloudHSM 클러스터에 사용자 지정 키 스토어를 연결할 때마다 kmsuser 암호를 교체합니다.

중요

kmsuser CU를 생성할 때 2FA 옵션을 지정해서는 안 됩니다. 그렇게 하면 AWS KMS가 로그인을 할 수 없고 사용자 지정 키 스토어가 이 AWS CloudHSM 클러스터에 연결될 수 없습니다. 일단 2FA를 지정하면 실행 취소를 할 수 없습니다. 대신에 CU를 삭제한 다음 다시 생성해야 합니다.

kmsuser CU를 생성하려면 다음 절차를 사용하십시오.

  1. 에 설명된 대로 cloudhsm_mgmt_util 시작 cloudhsm_mgmt_util 실행 준비 섹션 AWS CloudHSM User Guide.

  2. 사용 생성사용자 cloudhsm_mgmt_util 명령을 사용하여 이름을 지정합니다. kmsuser. 암호는 7-32자 영숫자로 구성되어야 합니다. 대소문자가 구분되며 어떤 특수 문자도 포함해서는 안 됩니다.

    예를 들어 다음 예제 명령은 암호가 kmsPswdkmsuser CU를 생성합니다.

    aws-cloudhsm> createUser CU kmsuser kmsPswd

사용자 지정 키 스토어 생성(콘솔)

AWS Management 콘솔에서 사용자 지정 키 스토어를 생성할 때 워크플로우 과정에서 사전 조건을 추가 및 생성할 수 있습니다. 그러나 이들을 미리 수집하면 프로세스가 더 빨라집니다.

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

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

  3. 탐색 창에서 사용자 지정 키 스토어를 선택합니다.

  4. Create key store(키 스토어 생성)을 선택합니다.

  5. 기억하기 쉬운 사용자 지정 키 스토어 이름을 입력합니다. 이름은 계정에서 고유해야 합니다.

  6. 사용자 지정 키 스토어의 AWS CloudHSM 클러스터를 선택합니다. 그렇지 않고 AWS CloudHSM 클러스터를 새로 선택하려면 Create an AWS CloudHSM cluster(AWS CloudHSM 클러스터 생성) 링크를 선택합니다.

    사용자 지정 키 스토어를 연결하려면 클러스터가 요구 사항을 충족해야 합니다. 메뉴에는 사용자 지정 키 스토어에 아직 연결되지 않은 계정 및 리전의 사용자 지정 키 스토어가 표시됩니다.

  7. 파일 업로드를 선택한 다음, 선택한 AWS CloudHSM 클러스터의 트러스트 앵커 인증서를 업로드합니다. 클러스터를 초기화했을 때 생성한 customerCA.crt 파일입니다.

  8. 선택한 클러스터에서 생성한 kmsuser CU(Crypto User)의 암호를 입력합니다.

  9. 생성을 선택합니다.

절차가 성공하면 계정 및 리전의 사용자 지정 키 스토어 목록에 새로운 사용자 지정 키 스토어가 나타납니다. 절차가 실패하면 오류 메시지가 나타나서 문제를 설명하고 이를 수정할 수 있는 방법에 대한 도움말을 제공합니다. 도움이 더 필요한 경우 사용자 지정 키 스토어 문제 해결 단원을 참조하십시오.

다음: 새 사용자 지정 키 저장소가 자동으로 연결되지 않습니다. 만들기 전에 고객 마스터 키 (CMKs) 사용자 지정 키 스토어에서 사용자 지정 키 스토어 연결 관련 AWS CloudHSM 클러스터.

사용자 지정 키 스토어 생성(API)

CreateCustomKeyStore 작업은 계정 및 리전의 AWS CloudHSM 클러스터에 연결되는 새로운 사용자 지정 키 스토어를 생성합니다. 이 예제들은 AWS Command Line Interface(AWS CLI)를 사용하지만, 사용자는 어떤 지원되는 프로그래밍 언어라도 사용할 수 있습니다.

CreateCustomKeyStore 작업에서는 다음과 같은 파라미터 값이 필요합니다.

  • CustomKeyStoreName – 계정에서 고유한 기억하기 쉬운 사용자 지정 키 스토어의 이름입니다.

  • CloudHsmClusterId – 사용자 지정 키 스토어를 연결하기 위해 요구 사항을 충족하는 클러스터의 클러스터 ID입니다.

  • KeyStorePassword – 지정된 클러스터의 kmsuser CU 계정 암호입니다.

  • TrustAnchorCertificate – 클러스터를 초기화할 때 생성한 customerCA.crt 파일의 콘텐츠입니다.

다음 예제는 가상의 클러스터 ID를 사용합니다. 명령을 실행하기 전에 유효한 클러스터 ID로 이를 바꿉니다.

$ aws kms create-custom-key-store --custom-key-store-name ExampleKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate <certificate-goes-here>

AWS CLI를 사용 중인 경우에는 콘텐츠 대신에 트러스트 앵커 인증서 파일을 지정할 수 있습니다. 다음 예제에서 customerCA.crt 파일은 루트 디렉터리에 있습니다.

$ aws kms create-custom-key-store --custom-key-store-name ExampleKeyStore \ --cloud-hsm-cluster-id cluster-1a23b4cdefg \ --key-store-password kmsPswd \ --trust-anchor-certificate file://customerCA.crt

작업이 성공하면 CreateCustomKeyStore가 사용자 지정 키 스토어 ID를 반환합니다(다음 예제 응답 참조).

{ "CustomKeyStoreId": cks-1234567890abcdef0 }

작업이 실패할 경우 예외로 표시된 오류를 정정하고 다시 시도해 보십시오. 추가적인 도움말은 사용자 지정 키 스토어 문제 해결 단원을 참조하십시오.

다음으로 사용자 지정 키 스토어를 사용하려면 AWS CloudHSM 클러스터에 연결합니다.