本文为您介绍如何使用托管密码机创建并使用密钥。

背景信息

您需要在当前已经支持的地域使用托管密码机。更多信息,请参见支持的地域

通过密钥管理服务控制台创建密钥

  1. 登录密钥管理服务控制台
  2. 在左侧导航栏,单击用户主密钥
  3. 单击创建密钥
  4. 创建密钥对话框,设置KeyStore密钥类型密钥用途别名保护级别描述轮转周期高级选项
    说明
    • 请将保护级别设置为Hsm
    • 关于参数的更多信息, 请参见创建密钥
  5. 单击确定
    创建完成后,您可以在密钥列表的保护级别列查看密钥保护级别。

通过阿里云CLI创建密钥

  1. 调用CreateKey,创建用户主密钥。
    aliyun kms CreateKey --ProtectionLevel HSM --Description "Key1 in Managed HSM"
  2. 调用DescribeKey,查看密钥的保护级别。
    aliyun kms DescribeKey --KeyId 1234abcd-12ab-34cd-56ef-12345678****

    预期输出:

    {
      "KeyMetadata": {
        "CreationDate": "2019-07-04T13:14:15Z",
        "Description": "Key1 in Managed HSM",
        "KeyId": "1234abcd-12ab-34cd-56ef-12345678****",
        "KeyState": "Enabled",
        "KeyUsage": "ENCRYPT/DECRYPT",
        "DeleteDate": "",
        "Creator": "151266687691****",
        "Arn": "acs:kms:cn-hongkong:151266687691****:key/1234abcd-12ab-34cd-56ef-12345678****",
        "Origin": "Aliyun_KMS",
        "MaterialExpireTime": "",
        "ProtectionLevel": "HSM"
      },
      "RequestId": "8eaeaa8b-4491-4f1e-a51e-f95a4e54620c"
    }

将外部密钥导入托管密码机

如果您需要将自建密钥基础设施中的密钥导入到托管密码机中,您只需要在创建外部密钥时,指定保护级别HSM。关于如何创建外部密钥,请参见通过控制台导入密钥材料

将外部密钥导入托管密码机时,阿里云会进行如下操作:
  • 当您调用GetParametersForImport时:阿里云将根据您指定的保护级别HSM,在托管密码机中生成一个用于导入外部密钥的密钥对,并把密钥对的公钥返回给您。
  • 当您调用ImportKeyMaterial时:阿里云将加密的外部密钥材料导入到托管密码机的内部,并通过HSM的密钥反打包(Unwrap)机制获取密钥材料本身,而导入的密钥材料明文不能被任何人导出。

管理和使用密钥

密钥管理服务支持的所有管理类功能和密码运算功能都适用于您在托管密码机中创建的密钥,具体功能如下:
  • 密钥状态的开启和禁用
  • 密钥的生命周期管理
  • 密钥的别名管理
  • 密钥的云标签管理
  • 密码运算接口的调用

和其他云产品的集成

托管密码机中的密钥,可以通过密钥管理服务的标准接口和ECS、RDS、OSS等其它云产品实现无缝集成,用于对阿里云上的原生数据进行保护。云产品需要支持对用户自选密钥进行服务端加密的能力。您只需在云产品中配置用于服务端加密的CMK,选择一个创建在托管密码机中的密钥即可。