导入密钥材料步骤 1:创建不带密钥材料的 Amazon KMS key - Amazon Key Management Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

导入密钥材料步骤 1:创建不带密钥材料的 Amazon KMS key

预设情况下,当您创建 Amazon KMS key 时,Amazon KMS 会为您创建密钥材料。要改为导入自己的密钥材料,请首先创建一个不带密钥材料的 对称加密 KMS 密钥。然后导入密钥材料。要创建不带密钥材料的 KMS 密钥,您可以使用 Amazon Web Services Management Console 或 CreateKey 操作。

要创建不带密钥材料的密钥,请指定密钥规范 SYMMETRIC_DEFAULT(默认值)和 EXTERNAL 的源。KMS 密钥的密钥规范和源是不可变的值。创建完成后,无法将专为导入密钥材料设计的 KMS 密钥转换为带有 Amazon KMS 中的密钥材料或任何其他源的 KMS 密钥。

EXTERNAL 且无密钥材料的 KMS 密钥的密钥状态PendingImport。KMS 密钥可以无限保留在 PendingImport 状态。但是,您无法在加密操作中使用处于 PendingImport 状态的 KMS 密钥。导入密钥材料后,KMS 密钥的密钥状态将更改为已启用,您可以在加密操作中使用它。

Amazon KMS 会在您 创建 KMS 密钥下载公有密钥和导入令牌 以及 导入密钥材料 时在您的 Amazon CloudTrail 日志中记录一个事件。当您 删除导入的密钥材料 或 Amazon KMS 删除过期的密钥材料时,Amazon KMS 也会记录 CloudTrail 事件。

有关创建带有导入密钥材料的多区域密钥的信息,请参阅 将密钥材料导入到多区域密钥中

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

您可以使用 Amazon Web Services Management Console 创建不带密钥材料的 对称加密 KMS 密钥。您只需为导入的密钥材料创建一次 KMS 密钥。要将相同的密钥材料重新导入现有 KMS 密钥中,请参阅 步骤 2:下载公有密钥和导入令牌

要在您的 客户管理型密钥 表中查找带有导入的密钥材料的现有 KMS 密钥,请使用右上角的齿轮图标显示 KMS 密钥列表中的 Origin(源)列。导入的密钥的 Origin (源) 值为 External (外部)

  1. 登录到 Amazon Web Services Management Console,然后通过以下网址打开 Amazon Key Management Service (Amazon KMS) 控制台:https://console.aws.amazon.com/kms

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

  3. 在导航窗格中,选择客户托管密钥

  4. 选择 Create key

  5. 选择 Symmetric (对称)

    您无法将密钥材料导入非对称 KMS 密钥

  6. Key usage(密钥用法)中,已为您选择了 Encrypt and decrypt(加密和解密)选项。请勿对其进行更改。

    您无法将密钥材料导入 HMAC KMS 密钥

  7. 展开 Advanced options (高级选项)

  8. 对于 Key material origin(密钥材料源),请选择 External (Import key material) [外部(导入密钥材料)]。

    您无法将密钥材料导入自定义密钥存储中的 KMS 密钥。

    然后,选中 I understand the security, availability, and durability implications of using an imported key 旁边的复选框,表示您了解使用导入密钥材料的影响。要了解这些含义,请参阅关于导入的密钥材料

  9. 默认情况下,此过程会在选定的区域中创建 KMS 密钥。

    要创建不带密钥材料的多区域主密钥,请在 Regionality(区域性)部分中,选择 Multi-Region key(多区域密钥)。有关详细信息,请参阅 将密钥材料导入到多区域密钥中

  10. 选择 Next(下一步)。

  11. 为 KMS 密钥键入别名和(可选的)描述。

    选择 Next(下一步)。

  12. (可选)。在 Add tags(添加标签)页面上,添加标识或分类 KMS 密钥的标签。

    选择 Next(下一步)。

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

    注意

    IAM policy 可以向其他 IAM 用户和角色授予管理 KMS 密钥的权限。

    IAM 最佳实践不鼓励使用具有长期凭证的 IAM 用户。而应尽可能使用提供临时凭证的 IAM 角色。有关更多信息,请参阅《IAM 用户指南》中的 IAM 安全最佳实践

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

    选择 Next(下一步)。

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

    注意

    IAM policy 可以向其他 IAM 用户和角色授予使用 KMS 密钥的权限。

    IAM 最佳实践不鼓励使用具有长期凭证的 IAM 用户。而应尽可能使用提供临时凭证的 IAM 角色。有关更多信息,请参阅《IAM 用户指南》中的 IAM 安全最佳实践

  16. (可选)您可以允许其他 Amazon Web Services 账户 将此 KMS 密钥用于加密操作。为此,请在页面底部的 Other Amazon Web Services 账户(其他 Amazon Web Services 账户)部分中,选择 Add another Amazon Web Services 账户(添加另一个 Amazon Web Services 账户)并输入外部账户的 Amazon Web Services 账户 ID。要添加多个外部账户,请重复此步骤。

    注意

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

    选择 Next(下一步)。

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

  18. 完成后,选择 Finish(完成)以创建密钥。

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

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

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

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

$ aws kms create-key --origin EXTERNAL

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

{ "KeyMetadata": { "Origin": "EXTERNAL", "KeyId": "1234abcd-12ab-34cd-56ef-1234567890ab", "Description": "", "Enabled": false, "MultiRegion": false, "KeyUsage": "ENCRYPT_DECRYPT", "KeyState": "PendingImport", "CreationDate": 1568289600.0, "Arn": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "AWSAccountId": "111122223333", "KeyManager": "CUSTOMER", "KeySpec": "SYMMETRIC_DEFAULT", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ] } }

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