AWS CloudHSM 키의 KMS 키 찾기 - AWS Key Management Service

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

AWS CloudHSM 키의 KMS 키 찾기

클러스터에서 kmsuser가 소유한 키의 키 참조 또는 ID를 알고 있는 경우에는 해당 값을 사용하여 AWS CloudHSM 키 저장소에서 연결된 KMS 키를 식별할 수 있습니다.

AWS KMS는 AWS CloudHSM 클러스터에서 KMS 키용 키 구성 요소를 생성할 때 키 라벨에 KMS 키의 Amazon 리소스 이름(ARN)을 기록합니다. 레이블 값을 변경하지 않은 한 CloudHSM CLI의 key list 명령을 사용하여 AWS CloudHSM 키와 연결된 KMS 키를 식별할 수 있습니다.

Notes

다음 절차에서는 AWS CloudHSM Client SDK 5 명령줄 도구인 CloudHSM CLI를 사용합니다. CloudHSM CLI에서 key-handlekey-reference로 대체합니다.

2025년 1월 1일에 AWS CloudHSM는 클라이언트 SDK 3 명령줄 도구인 CloudHSM 관리 유틸리티(CMU) 및 키 관리 유틸리티(KMU)에 대한 지원을 종료합니다. Client SDK 3 명령줄 도구와 Client SDK 5 명령줄 도구의 차이점에 대한 자세한 내용은 AWS CloudHSM 사용 설명서클라이언트 SDK 3 CMU 및 KMU에서 클라이언트 SDK 5 CloudHSM CLI로 마이그레이션을 참조하세요.

이러한 절차를 실행하려면 kmsuser CU로 로그인할 수 있도록 AWS CloudHSM 키 저장소를 임시로 연결 해제해야 합니다.

참고

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

키 참조와 연결된 KMS 키 식별

다음 절차에서는 key-reference 속성 필터와 함께 CloudHSM CLI에서 key list 명령을 사용하여 키 저장소의 특정 KMS 키의 키 구성 요소 역할을 하는 AWS CloudHSM 키를 클러스터에서 찾는 방법을 보여줍니다.

  1. 아직 연결 해제되지 않은 경우에는 AWS CloudHSM 키 저장소를 연결 해제한 다음, kmsuser로 로그인합니다(연결 해제 및 로그인 방법 설명 참조).

  2. CloudHSM CLI의 key list 명령을 사용하여 key-reference 속성을 기준으로 필터링합니다. 일치하는 키에 대한 모든 속성과 키 정보를 포함하도록 verbose 인수를 지정합니다. verbose 인수를 지정하지 않으면 key list 작업은 일치하는 키의 키 참조 및 레이블 속성만 반환합니다.

    이 명령을 실행하기 전에 예제 키 key-reference를 계정의 유효한 값으로 바꿉니다.

    aws-cloudhsm > key list --filter attr.key-reference="0x0000000000120034" --verbose { "error_code": 0, "data": { "matched_keys": [ { "key-reference": "0x0000000000120034", "key-info": { "key-owners": [ { "username": "kmsuser", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "id": "0xbacking-key-id", "check-value": "0x29bbd1", "class": "my_test_key", "encrypt": true, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": false, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": false, "trusted": false, "unwrap": true, "verify": false, "wrap": true, "wrap-with-trusted": false, "key-length-bytes": 32 } } ], "total_key_count": 1, "returned_key_count": 1 } }
  3. 로그아웃했다가 AWS CloudHSM 키 저장소를 다시 연결합니다(로그아웃 및 재연결 방법 설명 참조).

백업 키 ID와 연결된 KMS 키 식별

AWS CloudHSM 키 저장소의 KMS 키를 사용하는 암호화 작업에 대한 모든 CloudTrail 로그 항목에는 customKeyStoreIdbackingKeyId가 있는 additionalEventData 필드가 포함됩니다. backingKeyId 필드에 반환된 값은 CloudHSM 키 id 속성과 관련이 있습니다. id 속성을 기준으로 key list 작업을 필터링하여 특정 backingKeyId와 연결된 KMS 키를 식별할 수 있습니다.

  1. 아직 연결 해제되지 않은 경우에는 AWS CloudHSM 키 저장소를 연결 해제한 다음, kmsuser로 로그인합니다(연결 해제 및 로그인 방법 설명 참조).

  2. 속성 필터와 함께 CloudHSM CLI의 key list 명령을 사용하여 AWS CloudHSM 키 저장소의 특정 KMS 키에 대한 키 구성 요소 역할을 하는 키를 클러스터에서 찾습니다.

    다음 예제에서는 id 속성을 기준으로 필터링하는 방법을 보여줍니다. AWS CloudHSM은 id 값을 16진수 값으로 인식합니다. id 속성을 기준으로 key list 작업을 필터링하려면 먼저 CloudTrail 로그 항목에서 식별한 backingKeyId 값을 AWS CloudHSM에서 인식하는 형식으로 변환해야 합니다.

    1. 다음 Linux 명령을 사용하여 backingKeyId를 16진수 표현으로 변환합니다.

      echo backingKeyId | tr -d '\n' | xxd -p

      다음 예제에서는 backingKeyId 바이트 배열을 16진수 표현으로 변환하는 방법을 보여줍니다.

      echo 5890723622dc15f699aa9ab2387a9f744b2b884c18b2186ee8ada4f556a2eb9d | tr -d '\n' | xxd -p 35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964
    2. 0x를 사용하여 backingKeyId의 16진수 표현을 준비합니다.

      0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964
    3. 변환된 backingKeyId 값을 사용하여 id 속성을 기준으로 필터링합니다. 일치하는 키에 대한 모든 속성과 키 정보를 포함하도록 verbose 인수를 지정합니다. verbose 인수를 지정하지 않으면 key list 작업은 일치하는 키의 키 참조 및 레이블 속성만 반환합니다.

      aws-cloudhsm > key list --filter attr.id="0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964" --verbose { "error_code": 0, "data": { "matched_keys": [ { "key-reference": "0x0000000000120034", "key-info": { "key-owners": [ { "username": "kmsuser", "key-coverage": "full" } ], "shared-users": [], "cluster-coverage": "full" }, "attributes": { "key-type": "aes", "label": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "id": "0x35383930373233363232646331356636393961613961623233383761396637343462326238383463313862323138366565386164613466353536613265623964", "check-value": "0x29bbd1", "class": "my_test_key", "encrypt": true, "decrypt": true, "token": true, "always-sensitive": true, "derive": false, "destroyable": true, "extractable": false, "local": true, "modifiable": true, "never-extractable": false, "private": true, "sensitive": true, "sign": false, "trusted": false, "unwrap": true, "verify": false, "wrap": true, "wrap-with-trusted": false, "key-length-bytes": 32 } } ], "total_key_count": 1, "returned_key_count": 1 } }
  3. 로그아웃했다가 AWS CloudHSM 키 저장소를 다시 연결합니다(로그아웃 및 재연결 방법 설명 참조).