

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

# AWS CloudHSM 클라이언트 키 내구성 설정 변경
<a name="working-client-sync"></a>

키 동기화는 대부분 자동 프로세스이지만 클라이언트측 키 내구성 설정은 관리할 수 있습니다. 클라이언트측 키 내구성 설정은 Client SDK 5와 Client SDK 3에서 다르게 작동합니다.
+ Client SDK 5에서는 최소 2개의 HSM으로 클러스터를 실행해야 하는 *키 가용성 쿼럼*의 개념을 소개합니다. 클라이언트측 키 내구성 설정을 사용하여 두 HSM 요구 사항을 옵트아웃할 수 있습니다. 쿼럼에 대한 자세한 내용은 [AWS CloudHSM 주요 개념](concepts-key-sync.md) 단원을 참조하십시오.
+ Client SDK 3에서는 클라이언트측 키 내구성 설정을 사용하여 전체 작업이 성공으로 간주되려면 키 생성이 성공해야 하는 HSM 수를 지정합니다.

## Client SDK 5 클라이언트 키 내구성 설정
<a name="client-sync-sdk8"></a>

Client SDK 5에서 키 동기화는 완전 자동 프로세스입니다. 키 가용성 쿼럼을 사용하여 새로 만든 키가 클러스터의 두 HSM에 있어야 애플리케이션에서 키를 사용할 수 있습니다. 키 가용성 쿼럼을 사용하려면 클러스터에 최소 두 개의 HSM이 있어야 합니다.

클러스터 구성이 키 내구성 요구 사항을 충족하지 않는 경우 토큰 키를 생성하거나 사용하려고 하면 로그에 다음 오류 메시지가 표시되면서 실패합니다.

```
Key <key handle> does not meet the availability requirements - The key must be available on at least 2 HSMs before being used.
```

클라이언트 구성 설정을 사용하여 키 가용성 쿼럼에서 제외할 수 있습니다. 예를 들어, 단일 HSM으로 클러스터를 실행하지 않도록 옵트아웃할 수 있습니다.

### Client SDK 5 개념
<a name="client-sync-8concept"></a>

**주요 가용성 쿼럼**  
AWS CloudHSM 는 애플리케이션이 키를 사용하기 전에 키가 있어야 하는 클러스터의 HSMs 수를 지정합니다. 최소 두 개의 HSM이 있는 클러스터가 필요합니다.

### 클라이언트 키 내구성 설정 관리
<a name="setting-file-sdk8"></a>

클라이언트 키 내구성 설정을 관리하려면 Client SDK 5용 구성 도구를 사용해야 합니다.

------
#### [ PKCS \$111 library ]

**Linux용 Client SDK 5의 클라이언트 키 내구성 비활성화**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  $ sudo /opt/cloudhsm/bin/configure-pkcs11 --disable-key-availability-check
  ```

**Windows용 Client SDK 5의 클라이언트 키 내구성을 사용하지 않도록 설정**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-pkcs11.exe" --disable-key-availability-check
  ```

------
#### [ OpenSSL Dynamic Engine ]

**Linux용 Client SDK 5의 클라이언트 키 내구성 비활성화**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  $ sudo /opt/cloudhsm/bin/configure-dyn --disable-key-availability-check
  ```

------
#### [ OpenSSL Dynamic Engine Provider ]

**Linux용 Client SDK 5의 클라이언트 키 내구성 비활성화**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  $ sudo /opt/cloudhsm/bin/configure-openssl-provider --disable-key-availability-check
  ```

------
#### [ Key Storage Provider (KSP) ]

**Windows용 Client SDK 5의 클라이언트 키 내구성을 사용하지 않도록 설정**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-ksp.exe" --disable-key-availability-check
  ```

------
#### [ JCE provider ]

**Linux용 Client SDK 5의 클라이언트 키 내구성 비활성화**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  $ sudo /opt/cloudhsm/bin/configure-jce --disable-key-availability-check
  ```

**Windows용 Client SDK 5의 클라이언트 키 내구성을 사용하지 않도록 설정**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-jce.exe" --disable-key-availability-check
  ```

------
#### [ CloudHSM CLI ]

**Linux용 Client SDK 5의 클라이언트 키 내구성 비활성화**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  $ sudo /opt/cloudhsm/bin/configure-cli --disable-key-availability-check
  ```

**Windows용 Client SDK 5의 클라이언트 키 내구성을 사용하지 않도록 설정**
+  구성 도구를 사용하여 클라이언트 키 내구성 설정을 비활성화합니다.

  ```
  PS C:\> & "C:\Program Files\Amazon\CloudHSM\bin\configure-cli.exe" --disable-key-availability-check
  ```

------

## Client SDK 3 클라이언트 키 내구성 설정
<a name="client-sync-sdk3"></a>

Client SDK 3에서 키 동기화는 대부분 자동 프로세스이지만 클라이언트 키 내구성 설정을 사용하여 키의 내구성을 높일 수 있습니다. 전체 작업이 성공으로 간주되려면 키 생성이 성공해야 하는 HSM 수를 지정합니다. 클라이언트측 동기화는 어떤 설정을 선택하든 항상 클러스터의 모든 HSM에 키를 복제하기 위해 최선을 다합니다. 설정에 따라 지정한 HSM 수에 대한 키 생성이 적용됩니다. 값을 지정했는데 시스템에서 해당 수의 HSM에 키를 복제할 수 없는 경우 시스템에서 자동으로 불필요한 키 구성 요소를 정리하므로 다시 시도할 수 있습니다.

**중요**  
클라이언트 키 내구성 설정을 설정하지 않으면(또는 기본값 1을 사용하는 경우) 키가 손실되기 쉽습니다. 서버측 서비스가 해당 키를 다른 HSM에 복제하기 전에 현재 HSM에 장애가 발생하면 키 구성 요소를 잃게 됩니다.

키 내구성을 극대화하려면 클라이언트측 동기화에 HSM을 두 개 이상 지정하는 것이 좋습니다. HSM을 얼마나 많이 지정하든 클러스터의 워크로드는 동일하게 유지된다는 점을 기억하십시오. 클라이언트측 동기화는 항상 클러스터의 모든 HSM에 키를 복제하기 위해 최선을 다합니다.

**권장 사항**
+ **최소**: 클러스터당 HSM 2개
+ **최대**: 클러스터의 총 HSM 수보다 하나 적음

클라이언트측 동기화가 실패하는 경우 클라이언트 서비스는 생성되어 지금은 원치 않는 불필요한 키를 모두 정리합니다. 이 정리는 최선의 방법이지만 항상 효과가 있는 것은 아닙니다. 정리가 실패하면 불필요한 주요 자료를 삭제해야 할 수도 있습니다. 자세한 내용은 [키 동기화 실패](ts-client-sync-fail.md)를 참조하십시오.

### 클라이언트 키 내구성을 위한 구성 파일 설정
<a name="setting-file"></a>

클라이언트 키 내구성 설정을 지정하려면 `cloudhsm_client.cfg`를 편집해야 합니다.

**클라이언트 구성 파일 편집**

1. `cloudhsm_client.cfg`를 엽니다.

   **Linux**:

   ```
   /opt/cloudhsm/etc/cloudhsm_client.cfg
   ```

   **Windows**:

   ```
   C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
   ```

1. 파일의 `client` 노드에서가 키 생성 작업이 성공하기 위해 키를 성공적으로 생성 AWS CloudHSM 해야 하는 최소 HSMs 수에 대한 값을 추가`create_object_minimum_nodes`하고 지정합니다.

   ```
   "create_object_minimum_nodes" : 2
   ```
**참고**  
key\$1mgmt\$1util (KMU) 명령줄 도구에는 클라이언트 키 내구성을 위한 추가 설정이 있습니다. 자세한 정보는 [KMU 및 클라이언트측 동기화](#kmu-sync) 단원을 참조하십시오.

#### 구성 참조
<a name="client-side-ref"></a>

클라이언트 측 동기화 속성은 다음 `cloudhsm_client.cfg`의 발췌문에 나와 있습니다:

```
{
    "client": {
        "create_object_minimum_nodes" : 2,
        ...
    },
    
    ...
}
```

**create\$1object\$1minimum\$1nodes**  
키 생성, 키 가져오기 또는 키 래핑 해제 작업을 성공으로 간주하는 데 필요한 최소 HSM 수를 지정합니다. 기본값은 "1"로 설정되어 있습니다. 즉, 모든 키 생성 작업에 대해 클라이언트측 서비스는 클러스터의 모든 HSM에 키 생성을 시도하지만 성공하려면 클러스터의 HSM 하나에 *단일 키*만 생성하면 됩니다.

### KMU 및 클라이언트측 동기화
<a name="kmu-sync"></a>

key\$1mgmt\$1util(KMU) 명령줄 도구를 사용하여 키를 생성하는 경우 선택적 명령줄 파라미터(`-min_srv`)를 사용하여 키를 복제할 HSM 수를 *제한*합니다. 구성 파일에서 명령줄 파라미터*와* 값을 지정하면는 두 값의 LARGER를 AWS CloudHSM 부여합니다.

 자세한 정보는 다음 주제를 참조하십시오.
+ [genDSAKeyPair](key_mgmt_util-genDSAKeyPair.md)
+ [genECCKeyPair](key_mgmt_util-genECCKeyPair.md)
+ [genRSAKeyPair](key_mgmt_util-genRSAKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [importPubKey](key_mgmt_util-importPubKey.md)
+ [imSymKey](key_mgmt_util-imSymKey.md)
+ [insertMaskedObject](key_mgmt_util-insertMaskedObject.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)