跨地域迁移凭据

重要

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

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

通用凭据

如果是KMS实例中的凭据,请在目标地域购买KMS实例后,将凭据通过备份恢复的方式迁移过去。具体操作,请参见备份管理。如果是非KMS实例中的凭据,请在源地域查询凭据的信息,然后在目标地域创建凭据信息相同的凭据,本文操作即该场景。

说明

在旧版本KMS中,支持用户不购买KMS实例也能创建凭据,该凭据即非KMS实例中的凭据。新版本KMS(KMS 3.0)已不支持,您必须要先购买KMS实例,才能创建凭据。

注意事项

  • 迁移启动后,至迁移完成您在源地域删除凭据的这段时间内,请勿在源地域对凭据进行任何操作,包括修改凭据元数据、创建凭据版本(PutSecretValue)等。

  • 迁移完成后,凭据的创建时间、凭据版本的创建时间与源地域不同,但不影响您的业务正常使用。

操作步骤

  1. 在源地域查询并保存凭据的详细信息。

    调用API查询并保存凭据的元数据、所有凭据版本、各凭据版本对应的凭据值等信息。

    API接口

    说明

    DescribeSecret

    说明

    入参FetchTags请设置为true。

    返回值为凭据的元数据信息。

    ListSecretVersionIds

    说明

    入参IncludeDeprecated请设置为true。

    返回值为凭据的所有凭据版本。

    返回结果中的VersionIds不是按创建时间排序的,请在本地按创建时间对VersionIds排序。例如有3个凭据版本:

    1. 版本v1,创建时间2023-01-01(即初始版本),版本状态为001。

    2. 版本v2,创建时间2023-05-01,版本状态为ACSPrevious。

    3. 版本v3,创建时间2023-11-01,版本状态为ACSCurrent。

    GetSecretValue

    每个凭据版本对应一个凭据值,您需要查询每个凭据版本的凭据值、凭据值类型。

  2. 将应用迁移到目标地域,并完成适配。

    1. 将应用迁移到目标地域。

    2. 为应用创建身份凭证。

      1. 如果源地域使用RAM用户的AccessKey、RAM角色,请在目标地域重新创建并授予权限策略AliyunKMSSecretAdminAccess。具体操作,请参见创建RAM用户并授权创建RAM角色并授权

      2. 如果源地域使用应用接入点AAP的ClientKey,请在目标地域重新创建。具体操作,请参见创建应用接入点

        说明

        您需要先购买KMS实例,才能创建应用接入点。

    3. 修改应用中的Endpoint和身份凭证。

      说明

      KMS根据使用的SDK不同,有KMS服务Endpoint和KMS实例Endpoint,修改时请注意。详细信息,关于Endpoint的详细介绍,请参见SDK参考

  3. 在目标地域创建凭据。

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

    2. 在KMS实例中创建一个密钥,该密钥用于加密凭据。具体操作,请参见密钥管理快速入门

    3. 通过调用API创建凭据,元数据、所有凭据版本、各凭据版本对应的凭据值需要和源地域一致。

      API

      说明

      CreateSecret

      创建一个通用凭据。

      • secretName、secretType、Tags、Description、ExtendedConfig:填写您在源地域通过DescribeSecret查询的元数据。

      • VersionId:填写您在源地域通过ListSecretVersionIds查询的初始版本。即示例中的版本v1。

      • SecretData、SecretDataType:填写您在源地域通过GetSecretValue查询的初始版本(即示例中的版本v1)的凭据值以及凭据值类型。

      PutSecretValue

      将所有的凭据版本存入凭据。

      在创建凭据的时候,已把初始版本存入凭据,此时仅需要将剩余的凭据版本存入。即示例中的版本v2、版本v3。

      UpdateSecretVersionStage

      为所有的凭据版本设置版本状态。

      在本文示例中,即将版本v1的版本状态设置为001,版本v2的版本状态设置为ACSPrevious,版本v3的版本状态设置为ACSCurrent。

    4. 调用DescribeSecret查看凭据的信息与源地域是否一致。

  4. 观察应用集成凭据后,是否可以正常运行。

  5. 确认不再需要使用源地域对应凭据后,建议在源地域删除凭据。具体操作,请参见删除通用凭据

    说明

    您可通过操作审计查看凭据近期被调用情况。具体操作,请参见使用操作审计查询密钥管理服务的操作事件。了解完整的支持审计的操作事件,请参见密钥管理服务支持被审计的事件说明。其中凭据相关的事件有:GetSecretValue, DescribeSecret,ListSecretVersionIds,PutSecretValue,UpdateSecret,UpdateSecretVersionStage,UpdateSecretRotationPolicy,RestoreSecret。

RAM凭据

不支持迁移。

一个RAM用户只能在KMS中创建一个凭据,因此您需要先在源地域删除该RAM凭据,再在目标地域新建一个RAM凭据。

警告
  • 在KMS删除RAM凭据前,请确保您的业务应用不依赖从KMS获取该凭据。

  • 在KMS删除RAM凭据,不会删除您的AccessKey。

RDS凭据

不需要迁移。

RDS实例是地域化资源,因此不需迁移对应的凭据。

ECS凭据

不需要迁移。

ECS实例是地域化资源,因此不需迁移对应的凭据。