

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

# 创建多区域主密钥
<a name="create-primary-keys"></a>

您可以在 AWS KMS 控制台中或使用 AWS KMS API 创建[多区域主密钥](multi-region-keys-overview.md#mrk-primary-key)。您可以在任何 AWS KMS 支持多区域密钥 AWS 区域 的地方创建主密钥。

要创建多区域主密钥，委托人需要与创建任何 KMS 密钥[相同的权限](create-keys.md#create-key-permissions)，包括 IAM 策略中的 k [ms: CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html) 权限。委托人还需要 ia [m: CreateServiceLinkedRole 权限](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html)。您可以使用 k [ms: MultiRegionKeyType](conditions-kms.md#conditions-kms-multiregion-key-type) 条件密钥来允许或拒绝创建多区域主密钥的权限。

**注意**  
创建多区域主密钥时，请谨慎考虑您选择用于管理和使用密钥的 IAM 用户和角色。IAM policy 可以向其他 IAM 用户和角色授予管理 KMS 密钥的权限。  
IAM 最佳实践不鼓励使用具有长期凭证的 IAM 用户。而应尽可能使用提供临时凭证的 IAM 角色。有关更多信息，请参阅《IAM 用户指南》中的 [IAM 安全最佳实践](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)**。

## 使用控制 AWS KMS 台
<a name="create-primary-console"></a>

要在 AWS KMS 控制台中创建多区域主密钥，请使用与创建任何 KMS 密钥相同的过程。您可以在**高级选项**中选择多区域密钥。有关完整说明，请参阅[创建 KMS 密钥](create-keys.md)。

**重要**  
不要在别名、描述或标签中包含机密或敏感信息。这些字段可能以纯文本形式出现在 CloudTrail 日志和其他输出中。

1. 登录 AWS 管理控制台 并在 [https://console.aws.amazon.com/km](https://console.aws.amazon.com/kms) s 处打开 AWS Key Management Service (AWS KMS) 控制台。

1. 要更改 AWS 区域，请使用页面右上角的区域选择器。

1. 在导航窗格中，选择**客户托管密钥**。

1. 选择**创建密钥**。

1. 选择[对称或非对称](symmetric-asymmetric.md)密钥类型。对称密钥为原定设置。

   您可以创建多区域对称密钥和非对称密钥，包括对称的多区域 HMAC KMS 密钥。

1. 选择您的密钥使用方法。**Encrypt and decrypt**（加密和解密）是原定设置。

   有关帮助信息，请参阅 [创建 KMS 密钥](create-keys.md)、[创建非对称 KMS 密钥](asymm-create-key.md) 或 [创建 HMAC KMS 密钥](hmac-create-key.md)。

1. 展开 **Advanced options (高级选项)**。

1. 在**密钥材料来源**下，要 AWS KMS 生成您的主密钥和副本密钥将共享的密钥材料，请选择 **KMS**。如果您 [将密钥材料导入](importing-keys-create-cmk.md) 到主密钥和副本密钥中，请选择 **External (Import key material)** [外部（导入密钥材料）]。

1. 在**区域性**下，选择**多区域密钥**。

   创建 KMS 密钥之后，您无法再更改此设置。

1. 为主密钥键入[别名](kms-alias.md)。

   别名不是多区域密钥的共享属性。您可以为多区域主密钥及其副本指定相同的别名或不同的别名。 AWS KMS 不会同步多区域密钥的别名。
**注意**  
添加、删除或更新别名可以允许或拒绝对 KMS 密钥的权限。有关详细信息，请参阅 [ABAC for AWS KMS](abac.md) 和 [使用别名控制对 KMS 密钥的访问](alias-authorization.md)。

1. （可选）键入主密钥的描述。

   描述不是多区域密钥的共享属性。您可以为多区域主密钥及其副本提供相同的描述或不同的描述。 AWS KMS 不同步多区域密钥的密钥描述。

1. （可选）键入标签键和一个可选标签值。要向主密钥分配多个标签，请选择 **Add tag**（添加标签）。

   标签不是多区域密钥的共享属性。您可以为多区域主密钥及其副本密钥指定相同的标签或不同的标签。 AWS KMS 不同步多区域密钥的标签。您可以随时更改 KMS 密钥上的标签。
**注意**  
标记或取消标记 KMS 密钥可以允许或拒绝对 KMS 密钥的权限。有关详细信息，请参阅 [ABAC for AWS KMS](abac.md) 和 [使用标签控制对 KMS 密钥的访问](tag-authorization.md)。

1. 选择可管理主密钥的 IAM 用户和角色。
**注意**  
此步骤将开始为主密钥创建[密钥策略](key-policies.md)的过程。密钥策略不是多区域密钥的共享属性。您可以为多区域主密钥及其副本提供相同的密钥策略或不同的密钥策略。 AWS KMS 不会同步多区域密钥的密钥策略。条件密钥值必须遵守密钥策略和 IAM policy 的字符和编码规则。
创建多区域主密钥时，可考虑使用控制台生成的[默认密钥策略](key-policy-default.md)。如果您修改此策略，则控制台将不会在创建副本密钥时提供选择密钥管理员和用户的步骤，也不会添加相应的策略语句。这样，您将需要手动添加这些语句。
 AWS KMS 控制台在语句标识符下将密钥管理员添加到密钥策略中`"Allow access for Key Administrators"`。如果修改此语句标识符，则可能会影响控制台显示您对该语句所做修改的方式。

1. （可选）要阻止选定 IAM 用户和角色删除此 KMS 密钥，请在页面底部的**密钥删除**部分中，清除**允许密钥管理员删除此密钥**复选框。

1. 选择**下一步**。

1. 选择可将 KMS 密钥用于[加密操作](kms-cryptography.md#cryptographic-operations)的 IAM 用户和角色。
**注意**  
 AWS KMS 控制台在语句标识符`"Allow use of the key"`和下将密钥用户添加到密钥策略中`"Allow attachment of persistent resources"`。如果修改这些语句标识符，则可能会影响控制台显示您对该语句所做修改的方式。

1. （可选）您可以允许其他人使用 AWS 账户 此 KMS 密钥进行加密操作。为此，请在页面底部的**其他 AWS 账户**部分中选择**添加其他 AWS 账户**，然后输入外部账户的 AWS 账户 标识号。要添加多个外部账户，请重复此步骤。
**注意**  
要允许外部账户中的委托人使用 KMS 密钥，外部账户的管理员必须创建提供这些权限的 IAM policy。有关更多信息，请参阅 [允许其他账户中的用户使用 KMS 密钥](key-policy-modifying-external-accounts.md)。

1. 选择**下一步**。

1. 检查密钥的密钥策略语句。要对密钥策略进行更改，请选择**编辑**。

1. 选择**下一步**。

1. 检视您选择的密钥设置。您仍然可以返回并更改所有设置。

1. 选择**完成**以创建多区域主密钥。

## 使用 AWS KMS API
<a name="create-primary-api"></a>

要创建多区域主键，请使用[CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)操作。使用带 `True` 值的 `MultiRegion` 参数。

例如，以下命令在调用者的主键 AWS 区域 (us-east-1) 中创建多区域主键。它接受所有其他属性的默认值，包括密钥策略。多区域主密钥的默认值与所有其他 KMS 密钥的默认值相同，包括[默认密钥策略](key-policy-default.md)。此过程将创建一个对称加密密钥，即默认 KMS 密钥。

响应包含 `MultiRegion` 元素和 `MultiRegionConfiguration` 元素，其中包含典型的子元素和不含副本密钥的多区域主密钥的值。多区域密钥的[密钥 ID](concepts.md#key-id-key-id) 总是以 `mrk-` 开头。

**重要**  
不要在 `Description` 或 `Tags` 字段中包含机密或敏感信息。这些字段可能以纯文本形式出现在 CloudTrail 日志和其他输出中。

```
$ aws kms create-key --multi-region
{
    "KeyMetadata": {
        "Origin": "AWS_KMS",
        "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab",
        "Description": "",
        "KeyManager": "CUSTOMER",
        "Enabled": true,
        "KeySpec": "SYMMETRIC_DEFAULT",
        "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT",
        "KeyUsage": "ENCRYPT_DECRYPT",
        "KeyState": "Enabled",
        "CreationDate": 1606329032.475,
        "Arn": "arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
        "AWSAccountId": "111122223333",
        "EncryptionAlgorithms": [
            "SYMMETRIC_DEFAULT"
        ],
        "MultiRegion": true,
        "MultiRegionConfiguration": { 
            "MultiRegionKeyType": "PRIMARY",
            "PrimaryKey": { 
                "Arn": "arn:aws:kms:us-east-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab",
                "Region": "us-east-1"
            },
            "ReplicaKeys": [ ]
      }
    }
}
```