

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 CloudHSM CLI 复制密钥
<a name="cloudhsm_cli-key-replicate"></a>

使用 CloudHSM CLI 中的**key replicate**命令将密钥从 AWS CloudHSM 源集群复制到目标集群。 AWS CloudHSM 

## 用户类型
<a name="chsm-cli-key-replicate-user-type"></a>

以下类型的用户均可运行此命令。
+ 管理员 () COs
+ 加密用户 (CUs)
**注意**  
加密用户必须拥有密钥才能使用此命令。

## 要求
<a name="cloudhsm_cli-key-replicate-requirements"></a>
+ 源集群和目标集群必须是克隆。这意味着其中一个是从另一个的备份创建的，或者它们都是从公共备份创建的。请参阅[使用备份创建集群](create-cluster-from-backup.md)了解更多信息。
+ 密钥的所有者必须存在于目标集群上。此外，如果密钥与任何用户共享，则这些用户也必须存在于目标集群上。
+ 要运行此命令，您必须以加密用户或管理员身份登录源集群和目标集群。
  +  在单命令模式下，该命令将使用 CLOUDHSM\$1PIN 和 CLOUDHSM\$1ROLE 环境变量在源集群上进行身份验证。请参阅[单命令模式](cloudhsm_cli-modes.md#cloudhsm_cli-mode-single-command)了解更多信息。要为目标集群提供凭证，您需要设置两个额外的环境变量：DESTINATION\$1CLOUDHSM\$1PIN 和 DESTINATION\$1CLOUDHSM\$1ROLE：

    ```
    $ export DESTINATION_CLOUDHSM_ROLE=<role>
    ```

    ```
    $ export DESTINATION_CLOUDHSM_PIN=<username:password>
    ```
  +  在交互模式下，用户需要明确登录源集群和目标集群。

## 语法
<a name="chsm-cli-key-replicate-syntax"></a>

```
aws-cloudhsm > help key replicate
Replicate a key from a source to a destination cluster

Usage: key replicate --filter [<FILTER>...] --source-cluster-id <SOURCE_CLUSTER_ID> --destination-cluster-id <DESTINATION_CLUSTER_ID>

Options:
      --filter [<FILTER>...]
          Key reference (e.g. key-reference=0xabc) or space separated list of key attributes in the form of attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE to select matching key on the source cluster
      --source-cluster-id <SOURCE_CLUSTER_ID>
          Source cluster ID
      --destination-cluster-id <DESTINATION_CLUSTER_ID>
          Destination cluster ID
  -h, --help
          Print help
```

## 示例
<a name="chsm-cli-key-replicate-examples"></a>

**Example 示例：复制密钥**  
此命令将密钥从源集群复制到克隆的目标集群。以下示例演示了在两个集群上以加密用户身份登录时的输出。  

```
crypto-user-1@cluster-1234abcdefg > key replicate \
      --filter attr.label=example-key \
      --source-cluster-id cluster-1234abcdefg \
      --destination-cluster-id cluster-2345bcdefgh
{
  "error_code": 0,
  "data": {
    "key": {
      "key-reference": "0x0000000000300006",
      "key-info": {
        "key-owners": [
          {
            "username": "crypto-user-1",
            "key-coverage": "full"
          }
        ],
        "shared-users": [],
        "key-quorum-values": {
          "manage-key-quorum-value": 0,
          "use-key-quorum-value": 0
        },
        "cluster-coverage": "full"
      },
      "attributes": {
        "key-type": "aes",
        "label": "example-key",
        "id": "0x",
        "check-value": "0x5e118e",
        "class": "secret-key",
        "encrypt": false,
        "decrypt": false,
        "token": true,
        "always-sensitive": true,
        "derive": false,
        "destroyable": true,
        "extractable": true,
        "local": true,
        "modifiable": true,
        "never-extractable": true,
        "private": true,
        "sensitive": true,
        "sign": true,
        "trusted": false,
        "unwrap": false,
        "verify": true,
        "wrap": false,
        "wrap-with-trusted": false,
        "key-length-bytes": 16
      }
    },
    "message": "Successfully replicated key"
  }
}
```

## 参数
<a name="key-replicate-arguments"></a>

***<FILTER>***  
密钥引用（例如 `key-reference=0xabc`）或空格分隔的密钥属性列表，采用 `attr.KEY_ATTRIBUTE_NAME=KEY_ATTRIBUTE_VALUE` 形式，可选择源集群上的匹配密钥。  
有关支持的 CloudHSM CLI key 密钥属性列表，请参阅 [CloudHSM CLI 的密钥属性](cloudhsm_cli-key-attributes.md)  
是否必需：是

***<SOURCE\$1CLUSTER\$1ID>***  
源集群 ID。  
是否必需：是

***<DESTINATION\$1CLUSTER\$1ID>***  
目标集群 ID。  
是否必需：是

## 相关主题
<a name="chsm-key-replicate-seealso"></a>
+ [使用 CloudHSM CLI 连接到多个集群](cloudhsm_cli-configs-multi-cluster.md)