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

导入密钥材料步骤 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 也会记录条目。

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

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

您可以使用 Amazon Web Services Management Console 创建不带密钥材料的对称加密 KMS 密钥。执行此操作之前,可将控制台配置为显示 KMS 密钥列表中的 Origin(源)列。导入的密钥的 Origin (源) 值为 External (外部)

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

  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 (外部)

    您无法将密钥材料导入自定义密钥存储中的 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 策略可以向其他 IAM 用户和角色授予管理 KMS 密钥的权限。

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

    选择 Next (下一步)

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

    注意

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

  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 策略。有关更多信息,请参阅允许其他账户中的用户使用 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:下载公有密钥和导入令牌