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

사용자 지정 키 스토어에서 KMS 키 생성

사용자 지정 키 스토어를 생성한 후에는 키 스토어에서 AWS KMS keys를 생성할 수 있습니다. AWS KMS가 생성하는 키 구성 요소가 있는 대칭 KMS 키여야 합니다. 가져온 키 구성 요소비대칭 KMS 키 또는 KMS 키를 생성할 수 없으며 사용자 지정 키 스토어에서 대칭 KMS 키를 사용하여 비대칭 데이터 키 페어를 생성할 수 없습니다.

AWS KMS에서 KMS 키를 사용하고 관리하는 것과 동일한 방식으로 사용자 지정 키 스토어에서 KMS 키를 사용하고 관리합니다. 예를 들어 다음 중 하나를 수행할 수 있습니다.

  • 암호화 작업에 KMS 키를 사용합니다.

  • KMS 키에 IAM 및 키 정책을 설정합니다.

  • 별칭 만들기는 KMS 키와 연결됩니다.

  • KMS 키에 태그를 연결합니다.

  • KMS 키를 사용하거나 사용하지 않도록 설정합니다.

  • KMS 키의 삭제를 예약합니다.

사용자 지정 키 스토어에서 KMS 키를 생성하려면 사용자 지정 키 스토어가 연결 AWS CloudHSM 클러스터에 연결되어 있어야 하고, 클러스터에서 서로 다른 가용 영역에 최소 두 개의 활성 HSM이 포함되어 있어야 합니다. 연결 상태 및 HSM 수를 찾으려면 AWS Management Console에서 사용자 지정 키 스토어 페이지를 봅니다. API 작업을 사용할 때 DescribeCustomKeyStores 작업을 사용해 해당되는 사용자 지정 키 스토어가 연결되어 있는지 확인합니다. AWS CloudHSM DescribeClusters 작업을 사용해 클러스터 및 가용 영역에서 활성 HSM의 수를 확인합니다.

사용자 지정 키 스토어에서 KMS 키를 생성할 때 AWS KMS가 AWS KMS에 KMS 키를 생성합니다. 하지만 연결 AWS CloudHSM 클러스터에서 KMS 키용 키 구성 요소를 생성합니다. 특히, AWS KMS는 생성한 kmsuser CU로 클러스터에 로그인합니다. 그런 다음, 클러스터에서 지속적이고 추출 불가능한 256비트 고급 암호화 표준(AES) 대칭 키를 생성합니다. AWS KMS는 클러스터에서만 표시되는 키 라벨 속성의 값을 KMS 키의 Amazon 리소스 이름(ARN)으로 설정합니다.

명령이 성공하면 새 KMS 키의 키 상태Enabled가 되고 오리진은 AWS_CLOUDHSM이 됩니다. 생성 이후에 KMS 키의 출처를 변경할 수 없습니다. 콘솔에서 또는 DescribeKey 작업을 사용하여 사용자 지정 키 스토어에서 KMS 키를 볼 때는 키 ID, 키 상태, 생성 날짜 같은 일반적인 속성들을 확인할 수 있습니다. 하지만 사용자 지정 키 스토어 ID와 AWS CloudHSM 클러스터 ID(선택 사항)을 확인할 수도 있습니다. 자세한 내용은 사용자 지정 키 스토어에서 KMS 키 보기 단원을 참조하세요.

사용자 지정 키 스토어에서 KMS 키를 생성하려는 시도가 실패할 때 오류 메시지를 사용하면 원인을 판단하는 데 도움이 됩니다. 사용자 지정 키 스토어가 연결되어 있지 않거나(CustomKeyStoreInvalidStateException) 연결 AWS CloudHSM 클러스터에 이 작업에 필요한 두 개의 활성 HSM이 포함되어 있지 않다는(CloudHsmClusterInvalidConfigurationException) 의미일 수 있습니다. 도움말은 사용자 지정 키 스토어 문제 해결 단원을 참조하십시오.

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

다음 절차를 이용해 사용자 지정 키 스토어에서 AWS KMS key를 생성합니다.

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

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

  3. 탐색 창에서 고객 관리형 키(Customer managed keys)를 선택합니다.

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

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

    사용자 지정 키 스토어에서 비대칭 KMS 키는 생성할 수 없습니다.

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

  7. 키 구성 요소 출처(Key material origin)에서 사용자 지정 키 스토어(CloudHSM)(Custom key store(CloudHSM))를 선택합니다.

  8. 다음(Next)을 선택합니다.

  9. 새 KMS 키에 대한 사용자 지정 키 스토어를 선택합니다. 사용자 지정 키 스토어를 새로 생성하려면 Create custom key store(사용자 지정 키 스토어 생성)를 선택합니다.

    선택한 사용자 지정 키 스토어의 상태는 CONNECTED(연결 상태)여야 합니다. 연결 AWS CloudHSM 클러스터는 활성 상태여야 하고 서로 다른 가용 영역에 최소 2개의 활성 HSM을 포함하고 있어야 합니다.

    사용자 지정 키 스토어를 연결하는 방법에 대한 도움말은 사용자 지정 키 스토어 연결 및 연결 해제 단원을 참조하십시오. HSM 추가에 대한 도움말은 AWS CloudHSM 사용 설명서HSM 추가를 참조하십시오.

  10. 다음(Next)을 선택합니다.

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

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

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

  13. 다음(Next)을 선택합니다.

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

    참고

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

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

  16. 다음(Next)을 선택합니다.

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

    참고

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

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

    참고

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

  19. 다음(Next)을 선택합니다.

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

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

절차가 성공하면 화면에서 선택한 사용자 지정 키 스토어에 새 KMS 키가 표시됩니다. 새 KMS 키의 이름 또는 별칭을 선택하면 세부 정보 페이지에 KMS 키의 출처(CloudHSM), 사용자 지정 키 스토어의 이름 및 ID, AWS CloudHSM 클러스터의 ID가 표시됩니다. 이 절차가 실패하면 실패 원인을 설명하는 오류 메시지가 나타납니다.

작은 정보

사용자 지정 키 스토어에서 KMS 키를 손쉽게 식별하려면 고객 관리형 키(Customer managed keys) 페이지에서 사용자 지정 키 스토어 ID(Custom key store ID) 열을 화면에 추가합니다. 오른쪽 상단의 기어 아이콘을 클릭하고 Custom key store ID(사용자 지정 키 스토어 ID)를 선택합니다.

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

사용자 지정 키 스토어에서 AWS KMS key (KMS 키)를 새로 생성하려면 CreateKey 작업을 사용합니다. CustomKeyStoreId 파라미터를 사용하여 사용자 지정 키 스토어를 식별하고 OriginAWS_CLOUDHSM 값을 지정합니다.

Policy 파라미터를 사용해 키 정책을 지정할 수도 있습니다. 언제든 키 정책(PutKeyPolicy)을 변경하고 설명태그 등의 선택적 요소를 추가할 수 있습니다.

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

다음 예제는 사용자 지정 키 스토어가 연결된 AWS CloudHSM 클러스터에 연결되어 있는지 확인하기 위해 DescribeCustomKeyStores 작업을 호출하는 것으로 시작합니다. 기본적으로 이 작업은 계정 및 리전에서 모든 사용자 지정 키 스토어를 반환합니다. 특정한 사용자 지정 키 스토어만 설명하려면 CustomKeyStoreId 또는 CustomKeyStoreName 파라미터를 사용합니다(둘 모두를 사용해서는 안 됨).

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

$ aws kms describe-custom-key-stores --custom-key-store-id cks-1234567890abcdef0 { "CustomKeyStores": [ "CustomKeyStoreId": "cks-1234567890abcdef0", "CustomKeyStoreName": "ExampleKeyStore", "CloudHsmClusterId": "cluster-1a23b4cdefg", "TrustAnchorCertificate": "<certificate string appears here>", "CreationDate": "1.499288695918E9", "ConnectionState": "CONNECTED" ], }

다음 예제 명령은 DescribeClusters 작업을 사용해 ExampleKeyStore(cluster-1a23b4cdefg) 에 연결된 AWS CloudHSM 클러스터가 최소 두 개의 활성 HSM을 가지고 있는지 확인합니다. 클러스터의 HSM 수가 2개 미만이면 CreateKey 작업이 실패합니다.

$ aws cloudhsmv2 describe-clusters { "Clusters": [ { "SubnetMapping": { ... }, "CreateTimestamp": 1507133412.351, "ClusterId": "cluster-1a23b4cdefg", "SecurityGroup": "sg-865af2fb", "HsmType": "hsm1.medium", "VpcId": "vpc-1a2b3c4d", "BackupPolicy": "DEFAULT", "Certificates": { "ClusterCertificate": "-----BEGIN CERTIFICATE-----\...\n-----END CERTIFICATE-----\n" }, "Hsms": [ { "AvailabilityZone": "us-west-2a", "EniIp": "10.0.1.11", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-a6b10bd1", "HsmId": "hsm-abcdefghijk", "State": "ACTIVE" }, { "AvailabilityZone": "us-west-2b", "EniIp": "10.0.0.2", "ClusterId": "cluster-1a23b4cdefg", "EniId": "eni-ea8647e1", "StateMessage": "HSM created.", "SubnetId": "subnet-b6b10bd2", "HsmId": "hsm-zyxwvutsrqp", "State": "ACTIVE" }, ], "State": "ACTIVE" } ] }

이 예제 명령은 CreateKey 작업을 사용해 KMS 키의 사용자 지정 키 스토어를 생성합니다. 사용자 지정 키 스토어에서 KMS 키를 생성하려면 사용자 지정 키 스토어 이름의 ID를 제공하고 AWS_CLOUDHSMOrigin 값을 지정해야 합니다.

응답에는 사용자 지정 키 스토어 및 AWS CloudHSM 클러스터의 ID가 포함되어 있습니다.

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

$ aws kms create-key --origin AWS_CLOUDHSM --custom-key-store-id cks-1234567890abcdef0 { "KeyMetadata": { "AWSAccountId": "111122223333", "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "CreationDate": 1.499288695918E9, "Description": "Example key", "Enabled": true, "MultiRegion": false, "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "KeyManager": "CUSTOMER", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_CLOUDHSM" "CloudHsmClusterId": "cluster-1a23b4cdefg", "CustomKeyStoreId": "cks-1234567890abcdef0" "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }