跨地域迁移密钥

为便于更高效地为您提供优质服务,部分老旧地域和可用区的基础设置需要升级改造,如果您收到了部分地域升级迁移通知,请您及时迁移KMS的密钥和凭据。本文介绍如何跨地域迁移密钥。

云产品加密

根据云产品加密数据迁移方案完成数据迁移,具体请查看对应云产品的官方文档。

自建应用加密

重要

迁移前请先关闭密钥轮转功能。具体操作,请参见密钥轮转

KMS软件密钥管理实例中的密钥

请在目标地域购买KMS软件密钥管理实例后,将密钥通过备份恢复的方式迁移过去。以将A地域的KMS实例A中的密钥,迁移到B地域的KMS实例B中为例进行介绍。

  1. 在B地域,创建并启用KMS实例B。具体操作,请参见购买和启用KMS实例

  2. 在A地域,备份实例A的数据。

    说明

    KMS在每个地域免费提供一个备份实例,支持备份一个KMS软件密钥管理实例的数据。如果您备份多个KMS软件密钥管理实例,需要额外购买备份实例。

    1. 登录密钥管理服务控制台,在顶部菜单栏选择地域后,在左侧导航栏单击安全运营 > 备份管理

    2. 备份管理页面,定位到目标备份实例,单击操作列的启用

    3. 启用备份对话框中,备份KMS实例选择实例A,备份别名输入自定义别名,然后单击确认

      说明

      备份数据约需要5分钟的时间,实例中的资源越多,所需要的备份时间越长。

  3. 将实例A的数据,恢复到实例B中。

    • 境内数据恢复

      1. 页面上方选择地域A,在备份管理页面,单击备份实例操作列的查看数据

      2. 全量密钥页签勾选您要迁移的密钥,在页面下方单击批量恢复

      3. 恢复备份数据面板,选择恢复到B地域的KMS实例B中,单击确定

    • 跨境数据恢复

      1. 页面上方选择地域A,在备份管理页面,单击备份实例操作列的下载

      2. 选择备份日期后,单击确定,请保存数据加密KEY并下载备份数据

      3. 在页面上方选择地域B,在在备份管理页面,单击上传备份

      4. 输入数据解密KEY备份名称(自定义的备份别名)后,单击确定选择实例A的备份文件,完成上传。

      5. 在备份列表中,定位到您上传的备份文件,单击操作列的查看数据

      6. 全量密钥增量密钥轮转密钥页签,单击操作列的数据恢复,选择恢复目标实例后,单击确定

  4. 修改应用,调用B地域的KMS。

    操作类型

    说明

    管控类操作

    通过阿里云SDK实现,需要将endpoint修改为B地域的KMS服务Endpoint。KMS服务Endpoint,请参见地域和接入地址

    密码运算操作

    通过KMS实例SDK实现,您需要替换代码中的ClientKey、实例CA证书等。

    1. 在B地域创建访问KMS实例B的应用接入点。具体操作,请参见创建应用接入点

      说明

      创建完成后,请您保存以下内容:

      • ClientKey文件:即应用身份凭证内容(ClientKeyContent),文件名默认为clientKey_****.json

      • ClientKey口令:即凭证口令(ClientKeyPassword),文件名默认为clientKey_****_Password.txt

      • KMS实例CA证书:文件名默认为PrivateKmsCA_kst-******.pem。

    2. 修改代码。

      使用KMS实例B及新创建的ClientKey等内容替换KMS实例SDK初始化参数。以KMS实例SDK for Java为例,初始化Client实例时,您需要修改如下内容:

      • clientKeyFilePathclientKeyContent:替换为新的ClientKey文件。

      • clientKeyPass:替换为新的ClientKey口令。

      • endpoint:替换为KMS实例B的域名地址,格式为kst-hzz659dfeee864za2****.cryptoservice.kms.aliyuncs.com

      • caCertPathcaCert:替换为KMS实例B的CA证书。

KMS硬件密钥管理实例中的密钥、非KMS实例中的密钥

KMS不支持迁移这部分密钥,请参考下述方案实现解除对源地域密钥的依赖。

  • 密钥用途为加密解密(ENCRYPT/DECRYPT)

    不管您使用对称密钥,还是非对称密钥,整体流程类似。

    1. 在源地域将数据密文、数据密钥密文全部解密。

    2. 将解密后的数据、数据密钥迁移到目标地域。

    3. 在目标地域购买KMS实例,并使用KMS实例中的密钥进行加密。

      1. 购买并启用KMS实例。具体操作,请参见产品选型购买和启用KMS实例

      2. 使用KMS实例加密自建应用的数据。具体操作,请参见使用KMS密钥在线加密和解密数据使用KMS密钥进行信封加密

    4. 建议您在源地域先禁用密钥,最终确认密钥没有调用后,然后计划删除密钥。具体操作,请参见禁用密钥计划删除密钥

  • 密钥用途为签名验签(SIGN/VERIFY)

    1. 在源地域下载主密钥的公钥,保存该公钥直至不再需要使用该公钥进行签名验证。

      登录密钥管理服务控制台,参照下图查看并保存公钥。image.png

    2. 在目标地域购买并启用KMS实例。具体操作,请参见产品选型购买和启用KMS实例

    3. 在KMS实例中创建密钥。具体操作,请参见软件密钥硬件密钥

    4. 使用KMS实例SDK进行签名验签。具体操作,请参见KMS实例SDK

    5. 建议您在源地域先禁用密钥,最终确认密钥没有调用后,然后计划删除密钥。具体操作,请参见禁用密钥计划删除密钥

非KMS实例中的密钥,具体是指哪些?

登录密钥管理服务控制台,在顶部菜单栏选择地域信息后,单击密钥管理页面,所有在默认密钥页签中展示的即非KMS实例中的密钥。

说明

如果您使用的是KMS 3.0版本,默认密钥页签会展示一个主密钥,多个服务密钥。如果您使用的旧版本KMS,默认密钥页签会展示您所有的主密钥(即下图红框中的主密钥),但这些密钥您在新版控制台仅可查看,如您需要修改密钥属性,请返回旧版控制台操作。

image.png