AWS Key Management Service
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

导入密钥材料步骤 1:创建不带密钥材料的 AWS KMS 客户主密钥 (CMK)

默认情况下,当您创建客户主密钥 (CMK) 时,AWS KMS 会为您创建密钥材料。要改为导入自己的密钥材料,请先创建不带密钥材料的 CMK。您可以按照 CMK 的 origin 区分这两种类型的 CMK。当 AWS KMS 为您创建密钥材料时,CMK 的 origin 为 AWS_KMS。当您创建不带密钥材料的 CMK 时,CMK 的 origin 是 EXTERNAL,这表示该密钥材料是在 AWS KMS 外部生成的。

不带密钥材料的 CMK 处于等待导入状态,并且不可用。要使用它,您必须按下文所述导入密钥材料。导入密钥材料后,CMK 的密钥状态将更改为已启用。有关密钥状态的更多信息,请参阅密钥状态对客户主密钥的使用有何影响

要创建不带密钥材料的 CMK,您可以使用 AWS 管理控制台 或 AWS KMS API。通过发出 HTTP 请求或通过 AWS 开发工具包命令行工具之一,您可以直接使用该 API。

创建不带密钥材料的 CMK(控制台)

您可以使用 AWS 管理控制台创建不带密钥材料的 CMK。执行此操作之前,可将控制台配置为显示 CMK 列表中的 Origin (源) 列。导入的密钥的 Origin (源) 值为 External (外部)

您只需为导入的密钥材料创建一次 CMK。要将相同的密钥材料重新导入现有 CMK 中,请参阅步骤 2:下载公有密钥和导入令牌

  1. 登录 AWS 管理控制台并通过以下网址打开 AWS Key Management Service (AWS KMS) 控制台:https://console.amazonaws.cn/kms

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

  3. 在导航窗格中,选择 Customer managed keys (客户托管密钥)

  4. 选择 Create key

  5. 为 CMK 键入别名和 (可选的) 描述。

    选择 Next

  6. 选择 Advanced options (高级选项)

  7. 对于 Key material origin (密钥材料源),选择 External (外部)

    然后,选中 I understand the security, availability, and durability implications of using an imported key 旁边的复选框,表示您了解使用导入密钥材料的影响。要了解这些影响,请选择 security, availability, and durability implications (安全性、可用性和持久性影响) 链接。

    选择 Next

  8. (可选)。在 Add tags (添加标签) 页面上,添加标识或分类 CMK 的标签。

    选择 Next

  9. Key Administrators (密钥管理员) 部分中,选择可管理 CMK 的 IAM 用户和角色。有关更多信息,请参阅允许密钥管理员管理 CMK

    注意

    IAM 策略可以向其他 IAM 用户和角色授予管理 CMK 的权限。

  10. (可选)要阻止选定 IAM 用户和角色删除此 CMK,请在页面底部的 Key deletion (密钥删除) 部分中,清除 Allow key administrators to delete this key (允许密钥管理员删除此密钥) 复选框。

    选择 Next

  11. This account (此账户) 部分中,选择此 AWS 账户中可在加密操作中使用 CMK 的 IAM 用户和角色。有关更多信息,请参阅允许密钥用户使用 CMK

    注意

    IAM 策略可以向其他 IAM 用户和角色授予使用 CMK 的权限。

  12. (可选)您可以允许其他 AWS 账户将此 CMK 用于加密操作。为此,请在页面底部的 Other AWS accounts (其他 AWS 账户) 部分中,选择 Add another AWS account (添加其他 AWS 账户) 并输入外部账户的 AWS 账户标识号。要添加多个外部账户,请重复此步骤。

    注意

    要允许外部账户中的委托人使用 CMK,外部账户的管理员必须创建提供这些权限的 IAM 策略。有关更多信息,请参阅允许其他账户中的用户使用 CMK

    选择 Next

  13. Review and edit key policy (审核和编辑密钥策略) 页面上,审核和编辑新 CMK 的策略文档。完成后,选择 Finish (完成)

    如果操作成功,则已创建不带密钥材料的 CMK。其状态为 Pending import (等待导入)。 要立即继续执行该流程,请参阅下载公有密钥和导入令牌(控制台)。要稍后继续此过程,请选择 Cancel (取消)

下一步: 步骤 2:下载公有密钥和导入令牌.

创建不带密钥材料的 CMK(KMS API)

要使用 AWS KMS API 创建不带密钥材料的 CMK,请发送 CreateKey 请求,并将 Origin 参数设置为 EXTERNAL。以下示例说明如何使用 AWS Command Line Interface (AWS CLI) 执行该操作。

$ aws kms create-key --origin EXTERNAL

该命令成功执行后,您会看到类似以下内容的输出。该 CMK 的 OriginEXTERNAL,其 KeyStatePendingImport

{ "KeyMetadata": { "Origin": "EXTERNAL", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "Enabled": false, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "CreationDate": 1470811233.761, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333" } }

从命令输出中复制 CMK 的密钥 ID,以供后面的步骤使用,然后继续步骤 2:下载公有密钥和导入令牌