配置KMS硬件密钥管理实例的密码机集群

重要

本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。

使用密钥管理服务KMS(Key Management Service)的硬件密钥管理实例时,需要连接加密服务密码机集群,由密码机集群实现数据自动同步、负载均衡以及数据高可用性。本文介绍如何配置KMS硬件密钥管理实例的密码机集群。

背景信息

KMS硬件密钥管理实例可以对客户端应用或云产品服务端数据进行加密,避免文件或敏感数据(用户手机号码、身份证号、银行卡号等)被攻击或者在传输过程中被泄露。

通过KMS实例连接加密服务密码机集群的方式,具有以下优势:

  • 降低使用加密服务的复杂度,为您提供稳定、易用的上层密钥管理途径和密码计算服务。

  • 将加密服务密码机集群与阿里云其他云服务集成,为云服务加密提供更高的安全性和可控制性。支持的阿里云服务,请参见支持服务端集成加密的云服务

密码机支持的地域和可用区

地域

地域ID

可用区

华东1(杭州)

cn-hangzhou

可用区A、可用区G

华东2(上海)

cn-shanghai

可用区A、可用区B

华东2(北京)

cn-beijing

可用区A、可用区K

华南1(深圳)

cn-shenzhen

可用区A、可用区E

西南1(成都)

cn-chengdu

可用区A、可用区B

中国香港

cn-hongkong

可用区B、可用区C

新加坡

ap-southeast-1

可用区A、可用区B

马来西亚(吉隆坡)

ap-southeast-3

可用区A、可用区B

场景示例

您在华东2(上海)地域创建了1个VPC并搭建了自建应用,希望通过硬件密钥管理实例加解密敏感数据或文件,可以搭建如下网络架构并进行资源规划。

KMS&加密服务最佳实践架构图

资源类型

资源个数

说明

示例名称

交换机

2

两个交换机的可用区不同,且两个可用区与密码机实例的两个可用区相同。

  • 交换机1(可用区A)

  • 交换机2(可用区B)

密码机实例

2个或以上,本文以2个为例介绍。

两个密码机实例的可用区不同,且两个可用区与交换机的两个可用区相同。

  • 密码机实例1(可用区A)

  • 密码机实例2(可用区B)

KMS硬件密钥管理实例

1

与您的自建应用在同一个VPC。

KMS实例1

ECS实例

1

ECS实例的操作系统为Windows,且ECS实例与主密码机实例在同一个VPC子网网段。本文示例选定密码机实例1为主密码机。

重要

ECS实例用于连接主密码机进行相关配置,您也可以使用本地终端进行配置。本文以ECS实例为例进行介绍。如果使用本文终端,请通过VPN或物理专线使本地终端连接到密码机实例所属的VPC网络。具体操作,请参见客户端远程连接VPC通过物理专线实现本地IDC与云上VPC互通

ECS实例1

说明

本文的示例名称仅为了便于您理解,在实际配置过程中请以控制台为准。

使用限制

  • VPC、交换机、密码机实例、KMS硬件密钥管理实例、ECS实例必须属于同一个地域。

    重要

    建议您在购买前,在购买页充分确认该地域是否有不同可用区的密码机,避免只有1个可用区有密码机。

  • 两个交换机实例的可用区,需要和密码机实例的可用区相同。例如两个交换机实例的可用区为可用区A、可用区B,两个密码机实例的可用区也需要为可用区A、可用区B。

    重要

    由于华东1(杭州)无法购买可用区A的交换机,如果密码机实例是可用区A,您可创建可用区J、可用区G的交换机。该密码机实例支持绑定可用区J、可用区G的交换机。

前提条件

  • 已创建VPC并在VPC内创建了两个不同可用区的交换机。具体操作,请参见创建专有网络和交换机

  • 已创建Windows操作系统的ECS实例,且ECS实例与主密码机实例在同一个VPC子网网段。具体操作,请参见使用向导创建实例

步骤一:购买密码机实例

购买密码机实例1和密码机实例2,密码机实例1的可用区为可用区A,密码机实例2的可用区为可用区B。

  1. 登录加密服务管理控制台,在顶部菜单栏,选择目标地域。

  2. 实例列表页面,单击创建密码机实例

  3. 在密码机购买页面,参考下表完成各项配置后单击立即购买

    配置项

    说明

    示例值

    区域

    选择密码机实例的地域。支持的地域,请参见支持的地域和可用区

    重要

    密码机实例只能在VPC中使用,且必须与您的VPC、KMS硬件密钥管理实例的地域相同。

    华东2(上海)

    密码服务类型

    设备型号。KMS硬件密钥管理实例关联的密码机仅支持通用服务器密码机GVSM

    通用服务器密码机GVSM

    部署模式

    选择双可用区。

    重要

    您购买的两个密码机实例的可用区,需要和VPC内两个交换机的可用区相同。

    双可用区

    购买数量

    需要购买的密码机实例数量。选择1

    2

    购买时长

    购买的有效服务时间。建议您选择与KMS硬件密钥管理实例相同的购买时长。

    说明

    建议您购买时选择到期自动续费,防止加密服务到期未及时续费而导致的密钥永久性丢失。您选择到期自动续费后,阿里云会在服务到期前9个自然日从您购买密码机时使用的支付账户自动扣款。

    1年

  4. 仔细阅读并勾选服务协议,单击去支付,然后单击订购,完成购买。

步骤二:启用并配置密码机实例

配置密码机实例1和密码机实例2的网络信息,使KMS硬件密钥管理实例和密码机集群在同一个VPC内。

  1. 实例列表页面,定位到已创建的密码机实例,单击操作列的启用

  2. 密码机实例配置对话框,配置密码机实例,然后单击确定

    配置项

    说明

    示例值

    所属的VPC子网

    选择密码机实例需要绑定的VPC,和KMS硬件密钥管理实例所属的VPC必须保持一致。

    vpc-wz95******

    所属的VPC网络ID

    选择密码机实例所属的VPC子网IP,即选择当前密码机实例所在可用区的交换机。

    vsw-wz9h******(交换机1)

    分配私网IP地址

    为密码机实例分配一个私网IP地址。

    重要
    • 私网IP地址必须是所属的VPC子网网段中的IP地址,否则配置将会失败。

    • 末位为253、254、255的IP地址为系统保留地址,请勿使用。

    192.168.XX.XX

    设置密码机实例白名单

    本场景下无需配置。

    由于在后续操作中会设置密码机集群的白名单,而集群的白名单优先级高于集群中密码机实例的白名单, 因此本场景下无需配置。关于如何配置集群白名单,请参见步骤三:创建并激活集群

    无需配置

  3. 启用另外一个密码机实例,并参照步骤2配置。

    示例值如下:所属的VPC网络ID为vsw-wz96******(交换机2),分配私网IP地址为192.169.XX.XX,其他配置项取值和步骤2相同。

    配置成功后,密码机实例的状态变为已启用

步骤三:创建并激活集群

集群即将处于同一地域不同可用区、用于相同业务的一组密码机实例关联起来,进行统一管理,为业务应用提供密码计算的高可用性、负载均衡以及横向扩展的能力。

选定密码机实例1为主密码机,创建集群后添加密码机实例2为子密码机。

  1. 实例列表页面,定位到主密码机实例,单击操作列的创建集群

  2. 创建并激活集群面板,完成①创建并激活集群

    1. 填写集群的配置项信息。

      配置项

      说明

      示例值

      集群名称

      自定义集群的名称。名称不能重复且长度不允许超过24个字符。

      custer1

      设置集群访问白名单

      允许访问集群的IP地址。

      您可以输入单个IP地址或网段地址,每行输入1条数据,最多可以输入10条数据。

      在本文示例中请确保如下IP均已添加到白名单中。

      • 集群中各密码机实例所在交换机的网段

        例如,集群中密码机实例所属的VPC子网(交换机)网段分别为172.16.1.0/24和172.16.2.0/24,则在编辑框中增加输入两行,内容分别为:172.16.1.0/24和172.16.2.0/24。

      • ECS实例的私网IP

        例如,ECS实例的私网IP为172.16.3.0,则在编辑框中增加输入一行,内容为:172.16.3.0。

      • KMS实例绑定的交换机的网段

        如果此时还未购买KMS实例,请在购买并启用KMS实例后,再为集群添加该白名单。

      重要
      • 集群的白名单优先级高于集群中密码机实例的白名单。例如,您设置的集群中密码机实例的白名单为10.10.10.10,集群的白名单为172.16.0.1,则您只能通过172.16.0.1访问集群中的密码机实例。

      • 不支持配置为0.0.0.0/0(放行所有来源IP)。

        基于安全考虑,不推荐您放行所有来源IP。如果因临时测试等原因确实需要放行所有来源IP,不配置白名单即可。

      172.16.1.0/24

      172.16.2.0/24

      172.16.3.0

      指定另外一个可用区的交换机

      配置另外一个密码机实例绑定的交换机。

      vsw-wz96******

    2. 初始化主密码机实例,然后单击下一步。

      创建并激活集群面板的最下方,单击一键初始化主密码机实例,然后在初始化实例对话框,单击确定

      预计需要1~5分钟时间,请耐心等待。初始化完成后,单击已选主密码机:后的update图标,状态会显示已初始化,该状态下请勿重复初始化。

      说明

      只有已选主密码机:状态为已初始化时才能激活集群。

  3. 创建并激活集群面板,完成②添加密码机

    可选实例中选择另外一个密码机实例,单击右箭头图标,然后单击完成。配置成功后,在密码机实例的集群列,您可以看到两个密码机实例的状态分别为主密码机和子密码机。

    说明
    • 如果您在此处未将另外一个密码机实例添加至集群,您也可以在实例列表页面,找到主密码机实例,单击操作列的扩展集群,根据页面提示完成添加。

    • 当待添加的密码机实例状态是已初始化时,无法添加到集群。如果此时密码机上未配置相关业务,您可以将密码机实例先停用,然后重置,最后恢复,使密码机恢复到未初始化状态,整个过程约1分钟左右。

步骤四:为主密码机实例配置双向TLS认证

为了确保安全性,您需要为密码机实例1配置双向TLS认证。

  1. 访问下载链接,下载证书文件生成工具(dkms_cert_tool)。

  2. 将下载的文件解压后,运行证书文件生成工具生成CA证书、客户端证书和服务端证书。

    说明
    • 后续在密钥管理服务控制台启用KMS硬件密钥管理实例时,也会用到这些证书和私钥,因此请您妥善保管。

    • 工具的运行环境没有限制,可以是本地计算机、ECS实例或其他满足工具运行条件的环境。

    • 工具仅为阿里云提供的辅助性工具,如果您有相关技术能力可以自己生成这些证书文件,则无需使用本工具。

    工具运行操作系统

    说明

    Windows系统

    • 方式一:在windows文件夹,双击鼠标左键运行hsm_certificate_generate.exe文件,在certs文件夹获取证书文件。

      说明

      该方式生成的PKCS12格式证书文件(后缀为.p12)和CA私钥文件(后缀为.key)的口令为默认值12345678,如果您需要指定口令,请使用方式二。

    • 方式二:切换到windows文件夹所在路径,然后运行以下命令,在certs文件夹获取证书文件。

      ./hsm_certificate_generate -dir ./certs -pswd 12345678

      -dir 用于指定生成证书文件的保存路径,-pswd 用于指定生成的PKCS12格式证书文件(后缀为.p12)和CA私钥文件(后缀为.key)的口令。

    Linux系统

    切换到linux文件夹所在路径,然后运行以下命令,在certs文件夹获取证书文件。

    ./hsm_certificate_generate -dir ./certs -pswd 12345678

    -dir 用于指定生成证书文件的保存路径,-pswd 用于指定生成的PKCS12格式证书文件(后缀为.p12)和CA私钥文件(后缀为.key)的口令。

    macOS系统

    切换到darwin文件夹所在路径,然后运行以下命令,在certs文件夹获取证书文件。

    ./hsm_certificate_generate -dir ./certs -pswd 12345678

    -dir 用于指定生成证书文件的保存路径,-pswd 用于指定生成的PKCS12格式证书文件(后缀为.p12)和CA私钥文件(后缀为.key)的口令。

    运行成功后,将在certs文件夹中生成下列文件:

    certs/
    ├── client.p12 (PKCS12格式客户端证书,包含客户端证书以及私钥)
    ├── client.pem (PEM格式客户端证书)
    ├── rootca.key (CA私钥)
    ├── rootca.pem (PEM格式CA证书)
    ├── server.p12 (PKCS12格式服务端证书)
    └── server.pem (PEM格式服务端证书)
  3. 在ECS实例上安装密码机实例管理工具。

    重要

    密码机实例管理工具只支持在Windows系统运行。

    1. 实例列表页面,定位到主密码机实例。

    2. 单击主密码机实例的规格列信息,然后单击下载密码机实例管理工具

      下载密码机实例管理工具

    3. 解压获取到的密码机软件包,然后上传到ECS实例上。

    4. 具体操作,请参见上传或下载文件(Windows)

  4. 使用密码机实例管理工具配置主密码机。

    1. 在ECS实例上使用密码机实例管理工具连接主密码机GVSM。

      1. 双击PKIManager-X.X.X.X.exe打开密码机实例管理工具,选择系统>TCP/IP连接

      2. TCP/IP连接对话框,输入主密码机的IP地址端口号(固定为8020)。

        说明

        您可以在加密服务控制台的实例列表页面,单击操作列的更多图标后单击配置,在配置页面查看IP地址。

      3. 单击连接,在弹出的PKIManager对话框单击确定,然后单击登录

        说明

        登录成功后,建议您注册管理员账号,使用管理员账号登录以获得更高的安全性。具体操作,请参见随密码机实例管理工具下载的GVSM用户管理手册中的2.1.3. 注册管理员2.1.2. 管理员登录

    2. 使用密码机实例管理工具完成如下配置。

      配置项

      操作步骤

      配置客户端证书(client.pem

      1. 选择密钥管理 > 客户端管理

      2. 客户端证书管理对话框,单击导入证书

      3. 导入证书对话框,证书类型选择国际TLS客户端RSA证书[pem],然后选择证书文件生成工具生成的客户端证书(client.pem),单击导入

      配置服务端证书(server.p12

      1. 选择密钥管理 > 服务端管理

      2. 服务端p12证书管理对话框,单击导入证书

      3. 导入证书对话框,证书类型选择国际TLS服务端RSA证书[p12],然后选择证书文件生成工具生成的服务端证书(server.p12),输入证书口令(即您在生成证书文件时设置的口令,如果您未设置,默认为12345678)。

      4. 单击导入

      配置主密码机GVSM设备端口属性

      1. 选择设备管理 > 主机端口属性

      2. 主机端口属性对话框,配置以下参数:

        • Socket KeepAlive时间:60。

        • 消息报文头长度:0。

        • 消息报文编码格式:ASCII。

        • 主机服务通讯方式:双向通讯。

        • 主机服务通讯协议:TLSv1.2。

      3. 单击重置

      4. 单击立即重启,然后单击确定

步骤五:同步集群数据

第一次创建并激活集群后,您需要将集群的主密码机数据手动同步到集群的子密码机实例。当您对集群进行扩容时,集群数据会自动同步到新添加的密码机实例。

警告

同步集群预计需要5分钟,请在业务空闲期进行同步,以免影响业务运行。

  1. 实例列表页面,找到目标主密码机实例,在操作列单击同步集群

  2. 在弹出的对话框,再次单击同步集群

同步过程中集群的状态为同步中。集群同步结束后,如果两台密码机实例的摘要信息完全一致,表示您已经完成配置密钥管理服务关联的加密服务集群。如果摘要信息不一致请重复同步集群数据的操作,若摘要信息仍不一致,请通过智能在线联系技术支持人员。

查看实例摘要信息

后续配置

请前往密钥管理服务控制台购买KMS硬件密钥管理实例,并完成相关配置。具体操作,请参见购买和启用KMS实例密钥服务快速入门

说明

配置KMS硬件密钥管理实例时,会涉及到本文配置的如下信息,因此请您妥善保存。

  • 密码机集群的名称

  • 使用证书生成工具生成的证书文件

  • 证书文件的保护口令

相关文档

密钥服务概述