사용자 지정 키 스토어 문제 해결 - AWS Key Management Service

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

사용자 지정 키 스토어 문제 해결

사용자 지정 키 스토어는 가용성 및 복원력을 갖추도록 설계되었습니다. 하지만 사용자 지정 키 스토어가 계속 작동하도록 몇 가지 오류 조건을 복구해야 할 수도 있습니다.

사용 불가능한 픽스 CMKs

The 주요 상태 of 고객 마스터 키 (CMKs)는 일반적으로 Enabled. 마찬가지로 CMKs의 주요 상태는 CMKs 사용자 지정 키 스토어에서 삭제하거나 삭제하도록 예약합니다. 하지만 다른 CMKs, CMKs 맞춤형 키 스토어에서 주요 상태 of Unavailable.

의 주요 상태 Unavailable 이는 CMK 맞춤형 키 스토어에서 해제된 AWS CloudHSM 클러스터 다시 연결하려고 시도합니다. a CMK 을(를) 볼 수 없습니다. CMK을(를) 사용할 수 없습니다. 암호화 작업.

의 주요 상태를 찾으려면 CMK, 고객 관리 키 페이지, 보기 상태 필드 CMK. 또는 DescribeKey 작업을 사용해 응답의 KeyState 요소를 확인합니다. 자세한 내용은 키 보기 단원을 참조하십시오.

The CMKs 연결되지 않은 사용자 지정 키 스토어에서 주요 상태 Unavailable 또는 PendingDeletion. CMKs 사용자 지정 키 저장소에서 삭제할 예정인 Pending Deletion 사용자 지정 키 스토어가 연결되지 않은 경우에도 키 상태가 AWS CloudHSM 클러스터. 따라서 사용자 지정 키 스토어를 재연결하지 않고도 예약된 키 삭제를 취소할 수 있습니다.

사용할 수 없는 문제를 해결하려면 CMK, 사용자 지정 키 스토어를 다시 연결합니다.. 사용자 지정 키 저장소가 다시 연결되면 CMKs 사용자 지정 키 스토어는 다음과 같은 이전 상태로 자동 복원됩니다. Enabled 또는 Disabled. CMKs 보류 중인 삭제가 PendingDeletion 상태. 그러나 문제가 지속되지만 사용 불가 설정 및 비활성화 CMK 은(는) 키 상태를 변경하지 않습니다. 이러한 활성화 또는 비활성화 작업은 키가 사용 가능한 상태가 될 때만 효과가 있습니다.

연결 실패에 대한 도움말은 연결 오류를 수정하는 방법 단원을 참조하십시오.

실패 해결 방법 CMK

생성 및 사용에 대한 문제 CMKs 사용자 지정 키 저장소의 문제로 인해 사용자 지정 키 저장소에서 AWS CloudHSM 클러스터, CMK, 또는 키 재료.

사용자 지정 키 저장소가 AWS CloudHSM 클러스터, 주요 상태 CMKs 사용자 지정 키 스토어에서 Unavailable. 생성 요청 모두 CMKs 연결되지 않은 사용자 지정 키 스토어에서 CustomKeyStoreInvalidStateException 예외. 데이터 키를 암호화, 해독 또는 생성하라는 모든 요청은 KMSInvalidStateException 예외 메시지를 반환합니다. 이 문제를 수정하려면 사용자 지정 키 스토어를 재연결합니다.

그러나 사용자 지정 키 스토어를 사용하려는 시도 CMK for 암호화 작업 주요 상태가 Enabled 사용자 지정 키 저장소의 연결 상태는 Connected. 이는 다음 조건 중 하나로 인해 발생할 수 있습니다.

  • 이 브랜드의 주요 재질은 CMK 이(가) 관련 목록에서 삭제되었을 수 있습니다. AWS CloudHSM 클러스터. 조사하려면 키 핸들 찾기 중요한 요소가 CMK 필요한 경우, 핵심 재료 복구.

  • 사용자 지정 키 스토어에 연결된 AWS CloudHSM 클러스터에서 모든 HSM이 삭제되었습니다. 사용 방법 CMK 암호화 작업의 사용자 지정 키 저장소에서 AWS CloudHSM 클러스터는 하나 이상의 활성 HSM을 포함해야 합니다. AWS CloudHSM 클러스터에서 HSM의 수와 상태를 확인하려면 AWS CloudHSM 콘솔을 사용하거나 DescribeClusters 작업을 사용합니다. 클러스터에 HSM을 추가하려면 AWS CloudHSM 콘솔 또는 CreateHsm 작업을 사용합니다.

  • 사용자 지정 키 스토어에 연결된 AWS CloudHSM 클러스터가 삭제되었습니다. 이 문제를 수정하려면 원래 클러스터와 관련된 백업에서 클러스터를 생성합니다(예: 원래 클러스터의 백업이나 원래 클러스터를 생성하는 데 사용된 백업). 그런 다음, 사용자 지정 키 스토어 설정에서 클러스터 ID를 편집합니다. 지침은 삭제된 키 자료를 복구하는 방법 CMK을 참조하십시오.

연결 오류를 수정하는 방법

시도하는 경우 사용자 지정 키 스토어 연결 to its AWS CloudHSM 클러스터를 사용하지만 작업이 실패합니다. 사용자 지정 키 저장소의 연결 상태가 FAILED. 사용자 정의 키 저장소의 상태를 확인하려면 상태 사용자 정의 키 저장소의 열 AWS Management 콘솔 또는 ConnectionState 요소 설명서류저장소 응답.

또는, 일부 연결 시도가 쉽게 감지되는 클러스터 구성 오류로 인해 빠르게 실패합니다. 이 경우 상태 또는 ConnectionState 여전히 DISCONNECTED. 오류 메시지가 나타나거나 예외 시도가 실패한 이유를 설명합니다. 예외 설명과 클러스터 요구 사항을 검토하고, 문제를 해결하고, 필요한 경우 사용자 지정 키 스토어를 업데이트한 후 다시 연결을 시도하십시오.

연결 상태가 FAILED인 경우 DescribeCustomKeyStores 작업을 실행하고 응답에서 ConnectionErrorCode 요소를 확인하십시오.

참고

사용자 지정 키 스토어의 연결 상태가 FAILED이면 재연결을 시도하기에 앞서 사용자 지정 키 스토어의 연결을 해제해야 합니다. 연결 상태가 FAILED이면 사용자 지정 키 스토어를 연결할 수 없습니다.

유효하지 않은 kmsuser 자격 증명을 수정하는 방법

사용자 지정 키 스토어를 연결하면 AWS KMS가 연결 AWS CloudHSM 클러스터에 kmsuser CU(Crypto User)로 로그인합니다. 사용자 지정 키 스토어의 연결이 해제되어 있는 한, 로그인 상태를 유지합니다. DescribeCustomKeyStores 응답에서는 ConnectionState의 값이 FAILED, ConnectionErrorCode 값이 INVALID_CREDENTIALS로 표시됩니다(아래 예제 참조).

사용자 지정 키 스토어의 연결을 해제하고 kmsuser 암호를 변경한 경우, AWS KMS는 kmsuser CU 계정의 자격 증명으로 AWS CloudHSM 클러스터에 로그인할 수 없습니다. 따라서 사용자 지정 키 스토어를 연결하려는 모든 시도가 실패합니다. 다음 예와 같이 DescribeCustomKeyStores 응답은 ConnectionState 값을 FAILED로 표시하고 ConnectionErrorCode 값을 INVALID_CREDENTIALS로 표시합니다.

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

또한 올바르지 않은 암호로 클러스터에 로그인하려는 시도가 5번 실패하면 AWS CloudHSM이 사용자 계정을 잠급니다. 클러스터에 로그인하려면 계정 암호를 변경해야 합니다.

kmsuser CU로 클러스터에 로그인하려고 할 때 AWS KMS가 잠금 응답을 수신하면 사용자 지정 키 스토어를 연결하라는 요청이 실패합니다. DescribeCustomKeyStores 응답에서 ConnectionState의 값은 FAILED, ConnectionErrorCode의 값은 USER_LOCKED_OUT입니다(아래 예제 참조).

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

이러한 조건 중 하나를 복구하려면 다음 절차를 따르십시오.

  1. 사용자 지정 키 스토어의 연결을 해제합니다.

  2. DescribeCustomKeyStores 작업을 실행하고 응답에서 ConnectionErrorCode 요소의 값을 확인합니다.

    • ConnectionErrorCode 값이 INVALID_CREDENTIALS인 경우에는 kmsuser 계정의 현재 암호를 확인합니다. 필요한 경우, cloudhsm_mgmt_util에서 changePswd 명령을 사용하여 알려진 값으로 암호를 설정합니다.

    • ConnectionErrorCode 값이 USER_LOCKED_OUT인 경우, cloudhsm_mgmt_util의 changePswd 명령을 사용하여 kmsuser 암호를 변경해야 합니다.

  3. 클러스터의 현재 kmsuser 암호에 일치하도록 kmsuser 암호 설정을 편집합니다. 이 작업은 AWS KMS에 클러스터에 로그인하기 위해 사용하는 암호를 알려줍니다. 클러스터의 kmsuser 암호는 변경되지 않습니다.

  4. 사용자 지정 키 스토어를 연결합니다.

불필요한 키 구성 요소를 삭제하는 방법

일정 삭제 후 CMK 사용자 지정 키 스토어에서 관련 키 자료를 관련 클러스터에서 수동으로 삭제해야 할 수 있습니다.

여러분이 CMK 맞춤형 키 스토어에서 AWS KMS 생성 CMK 메타데이터 AWS KMS 관련된 핵심 자료를 AWS CloudHSM 클러스터. 일정 삭제 시 CMK 사용자정의 키 스토어에서, 대기 기간 후 AWS KMS 삭제 CMK 메타데이터. 그런 다음 AWS KMS는 해당되는 키 구성 요소를 클러스터에서 삭제하기 위해 최선의 노력을 다합니다. AWS KMS는 클러스터 백업에서 키 구성 요소를 삭제하려는 시도를 하지 않습니다.

AWS KMS가 키 구성 요소를 삭제할 수 없으면(예: 사용자 지정 키 스토어의 연결이 해제되어 있을 때) AWS KMS는 AWS CloudTrail 로그에 항목을 작성합니다. 항목에는 다음이 포함됩니다. CMK ID, AWS CloudHSM 클러스터 ID 및 키 재료 키 핸들.

연결 AWS CloudHSM 클러스터에서 키 구성 요소를 삭제하려면 다음과 같은 절차를 사용하십시오. 이 예제에서는 AWS CLI 및 AWS CloudHSM 명령줄 도구를 사용하고 있지만, CLI 대신 AWS Management 콘솔을 사용할 수 있습니다.

  1. 아직 연결이 해제되지 않은 경우에는 사용자 지정 키 스토어의 연결을 해제한 다음, key_mgmt_util에 로그인합니다(연결 해제 및 로그인 방법 설명 참조).

  2. key_mgmt_util의 deleteKey 명령을 사용하여 클러스터의 HSM에서 키를 삭제합니다.

    예를 들어 이 명령은 클러스터의 HSM에서 키 262162를 삭제합니다. 키 핸들은 CloudTrail 로그 항목에 나열됩니다.

    Command: deleteKey -k 262162 Cfm3DeleteKey returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
  3. key_mgmt_util에서 로그아웃되고 사용자 지정 키 스토어를 다시 연결합니다(로그아웃 및 재연결 방법 설명 참조).

삭제된 키 자료를 복구하는 방법 CMK

A에 대한 핵심 자료가 고객 마스터 키 삭제됩니다. CMK 사용 불가 및 암호화를 위해 암호화된 모든 ciphertext CMK 은(는) 해독할 수 없습니다. 이는 CMK 사용자 지정 키 저장소에서 삭제된 AWS CloudHSM 클러스터. 하지만 키 구성 요소를 복구하는 것이 가능할 수 있습니다.

여러분이 고객 마스터 키 (CMK)에서 AWS KMS 관련 로그에 로그인 AWS CloudHSM 클러스터를 만들고 CMK. 또한 자신만 알고 있는 값으로 암호를 변경하고 사용자 지정 키 스토어가 연결되어 있는 한 로그인 상태를 유지합니다. 키 소유자이자 키를 생성한 CU만 키를 삭제할 수 있기 때문에 HSM에서 실수로 키가 삭제될 일이 없습니다.

하지만 CMK 클러스터의 hsm에서 삭제됩니다. CMK 주요 상태는 결국 UNAVAILABLE. 사용하려는 경우 CMK 암호화 작업을 위해 작업이 kmsinvalidstateexception 예외. 가장 중요한 것은, CMK 은(는) 해독할 수 없습니다.

특정 상황에서 키 구성 요소가 포함된 백업에서 클러스터를 생성하여 삭제된 키 구성 요소를 복구할 수 있습니다. 이 전략은 삭제 전 키가 존재한 동안 최소 하나의 백업이 생성되었을 때만 효과가 있습니다.

다음 프로세스를 이용해 키 구성 요소를 복구합니다.

  1. 키 구성 요소가 포함된 클러스터 백업을 찾습니다. 백업에는 클러스터와 암호화된 데이터를 지원하는 데 필요한 모든 사용자와 키도 포함되어 있어야 합니다.

    DescribeBackups 작업을 사용해 클러스터의 백업을 나열합니다. 그런 다음, 백업을 선택하는 데 도움이 되는 백업 타임스탬프를 사용합니다. 사용자 지정 키 스토어에 연결된 클러스터로 출력을 제한하려면 Filters 파라미터를 사용합니다(아래 예제 참조).

    $ aws cloudhsmv2 describe-backups --filters clusterIds=<cluster ID> { "Backups": [ { "ClusterId": "cluster-1a23b4cdefg", "BackupId": "backup-9g87f6edcba", "CreateTimestamp": 1536667238.328, "BackupState": "READY" }, ... ] }
  2. 선택한 백업에서 클러스터를 생성합니다. 백업에 삭제된 키와 기타 사용자 및 클러스터에서 필요한 키가 포함되어 있는지 확인합니다.

  3. 속성을 편집할 수 있도록 사용자 지정 키 스토어의 연결을 해제합니다.

  4. 사용자 지정 키 스토어의 클러스터 ID를 편집합니다. 백업에서 생성한 클러스터의 클러스터 ID를 입력합니다. 클러스터가 원래 클러스터와 백업 기록을 공유하기 때문에 새 클러스터 ID는 유효해야 합니다.

  5. 사용자 지정 키 스토어를 다시 연결합니다.

kmsuser로 로그인하는 방법

사용자 지정 키 스토어에서 AWS CloudHSM 클러스터의 키 구성 요소를 생성 및 관리하기 위해 AWS KMS는 kmsuser CU(Crypto User) 계정을 사용합니다. 클러스터에서 kmsuser CU 계정을 생성하고 사용자 지정 키 스토어를 생성할 때 AWS KMS에 암호를 제공합니다.

일반적으로 AWS KMS는 kmsuser 계정을 관리합니다. 하지만 일부 작업에서는 사용자 지정 키 스토어의 연결을 해제하고, kmsuser CU로 클러스터에 로그인하고, cloudhsm_mgmt_util 및 key_mgmt_util 명령줄 도구를 사용해야 합니다.

참고

사용자 지정 키 스토어의 연결이 해제된 상태에서는 사용자 지정 키 스토어에서 고객 마스터 키(CMK)를 생성하거나, 암호화 작업을 위해 기존 CMK를 사용하려는 모든 시도가 실패합니다. 이 작업은 사용자가 기밀 데이터를 저장하거나 액세스하지 못하도록 차단합니다.

이 주제에서는 사용자 지정 키 스토어의 연결을 해제하고 kmsuser로 로그인을 하고, AWS CloudHSM 명령줄 도구를 실행하고, 사용자 지정 키 스토어를 로그아웃한 후 다시 연결하는 방법을 설명합니다.

연결 해제 및 로그인 방법

연결 클러스터에 kmsuser CU로 로그인해야 할 때마다 다음 절차를 따릅니다.

  1. 아직 연결이 해제되지 않은 경우에는 사용자 지정 키 스토어의 연결을 해제합니다. AWS Management 콘솔 또는 AWS KMS API를 사용할 수 있습니다.

    사용자 지정 키가 연결된 경우 AWS KMS 은(는) kmsuser. 이렇게 하면 로그인하지 못하게 됩니다. kmsuser 또는 kmsuser 비밀번호.

    예를 들어 이 명령은 DisconnectCustomKeyStore를 사용해 예제 키 스토어의 연결을 해제합니다. 예제에 나온 사용자 지정 키 스토어 ID를 유효한 ID로 바꿉니다.

    $ aws kms disconnect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
  2. cloudhsm_mgmt_util을 시작합니다. 에 설명된 절차를 사용합니다. cloudhsm_mgmt_util 실행 준비 섹션 AWS CloudHSM User Guide.

  3. AWS CloudHSM 클러스터의 cloudhsm_mgmt_util에 CO(Crypto Officer)로 로그인합니다.

    예를 들어 이 명령은 admin이라는 CO로 로그인합니다. 예제에 나온 CO 사용자 이름 및 암호를 유효한 이름과 암호로 바꿉니다.

    aws-cloudhsm>loginHSM CO admin <password> loginHSM success on server 0(10.0.2.9) loginHSM success on server 1(10.0.3.11) loginHSM success on server 2(10.0.1.12)
  4. 사용 창체병 명령을 사용하여 kmsuser 계정을 만드십시오. (AWS KMS 사용자 지정 키 저장소를 연결할 때 암호를 회전합니다.) 암호는 7-32자 영숫자로 구성되어야 합니다. 대소문자가 구분되며 어떤 특수 문자도 포함해서는 안 됩니다.

    예를 들어 이 명령은 kmsuser 암호를 tempPassword로 변경합니다.

    aws-cloudhsm>changePswd CU kmsuser tempPassword *************************CAUTION******************************** This is a CRITICAL operation, should be done on all nodes in the cluster. Cav server does NOT synchronize these changes with the nodes on which this operation is not executed or failed, please ensure this operation is executed on all nodes in the cluster. **************************************************************** Do you want to continue(y/n)?y Changing password for kmsuser(CU) on 3 nodes
  5. 설정한 암호를 사용해 kmsuser로 key_mgmt_util 또는 cloudhsm_mgmt_util에 로그인합니다. 자세한 지침은 cloudhsm_mgmt_util 시작하기key_mgmt_util 시작하기를 참조하십시오. 사용하는 도구는 작업마다 다릅니다.

    예를 들어 이 명령은 key_mgmt_util에 로그인합니다.

    Command: loginHSM -u CU -s kmsuser -p tempPassword Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

로그아웃 및 재연결 방법

  1. 작업을 수행한 다음, 명령줄 도구를 로그아웃합니다. 로그아웃을 하지 않으면 사용자 지정 키 스토어를 재시도하려는 연결이 실패합니다.

    Command: logoutHSM Cfm3LogoutHSM returned: 0x00 : HSM Return: SUCCESS Cluster Error Status Node id 0 and err state 0x00000000 : HSM Return: SUCCESS Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
  2. 사용자 지정 키 스토어에 대한 kmsuser 암호 설정을 편집합니다.

    AWS KMS에 클러스터의 kmsuser의 현재 암호를 알려줍니다. 이 단계를 생략하면 AWS KMS가 kmsuser로 클러스터에 로그인할 수 없으며, 사용자 지정 키 스토어를 재연결하려는 모든 시도가 실패합니다. UpdateCustomKeyStore 작업의 AWS Management 콘솔 또는 KeyStorePassword 파라미터를 사용할 수 있습니다.

    예를 들어, 이 명령은 AWS KMS 현재 암호가 tempPassword. 예제 암호를 실제 암호로 교체합니다.

    $ aws kms update-custom-key-store --custom-key-store-id cks-1234567890abcdef0 --key-store-password tempPassword
  3. 사용자 지정 키 스토어를 AWS KMS에 다시 연결합니다. 예제에 나온 사용자 지정 키 스토어 ID를 유효한 ID로 바꿉니다. 연결 프로세스 동안 AWS KMS는 kmsuser 암호를 자신만 알고 있는 값으로 변경합니다.

    ConnectCustomKeyStore 작업이 신속하게 값을 반환하지만, 연결 프로세스의 소요 시간이 연장될 수 있습니다. 하지만 이러한 초기 응답은 연결 프로세스가 성공했음을 의미하지는 않습니다.

    $ aws kms connect-custom-key-store --custom-key-store-id cks-1234567890abcdef0
  4. DescribeCustomKeyStores 작업을 사용해 사용자 지정 키 스토어가 연결되어 있는지 확인합니다. 예제에 나온 사용자 지정 키 스토어 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" ], }