本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
为便于更高效地为您提供优质服务,部分老旧地域和可用区的基础设置需要升级改造,如果您收到了部分地域升级迁移通知,请您及时迁移KMS的密钥和凭据。本文为您介绍如何跨地域迁移KMS中的凭据。
通用凭据
如果是KMS实例中的凭据,请在目标地域购买KMS实例后,将凭据通过备份恢复的方式迁移过去。具体操作,请参见备份管理。如果是非KMS实例中的凭据,请在源地域查询凭据的信息,然后在目标地域创建凭据信息相同的凭据,本文操作即该场景。
在旧版本KMS中,支持用户不购买KMS实例也能创建凭据,该凭据即非KMS实例中的凭据。新版本KMS(KMS 3.0)已不支持,您必须要先购买KMS实例,才能创建凭据。
注意事项
迁移启动后,至迁移完成您在源地域删除凭据的这段时间内,请勿在源地域对凭据进行任何操作,包括修改凭据元数据、创建凭据版本(PutSecretValue)等。
迁移完成后,凭据的创建时间、凭据版本的创建时间与源地域不同,但不影响您的业务正常使用。
操作步骤
在源地域查询并保存凭据的详细信息。
调用API查询并保存凭据的元数据、所有凭据版本、各凭据版本对应的凭据值等信息。
API接口
说明
DescribeSecret
说明入参FetchTags请设置为true。
返回值为凭据的元数据信息。
ListSecretVersionIds
说明入参IncludeDeprecated请设置为true。
返回值为凭据的所有凭据版本。
返回结果中的VersionIds不是按创建时间排序的,请在本地按创建时间对VersionIds排序。例如有3个凭据版本:
版本v1,创建时间2023-01-01(即初始版本),版本状态为001。
版本v2,创建时间2023-05-01,版本状态为ACSPrevious。
版本v3,创建时间2023-11-01,版本状态为ACSCurrent。
GetSecretValue
每个凭据版本对应一个凭据值,您需要查询每个凭据版本的凭据值、凭据值类型。
将应用迁移到目标地域,并完成适配。
将应用迁移到目标地域。
为应用创建身份凭证。
如果源地域使用RAM用户的AccessKey、RAM角色,请在目标地域重新创建并授予权限策略AliyunKMSSecretAdminAccess。具体操作,请参见创建RAM用户并授权、创建RAM角色并授权。
如果源地域使用应用接入点AAP的ClientKey,请在目标地域重新创建。具体操作,请参见创建应用接入点。
说明您需要先购买KMS实例,才能创建应用接入点。
修改应用中的Endpoint和身份凭证。
说明KMS根据使用的SDK不同,有KMS服务Endpoint和KMS实例Endpoint,修改时请注意。详细信息,关于Endpoint的详细介绍,请参见SDK参考。
在目标地域创建凭据。
购买KMS实例。具体操作,请参见产品选型、购买和启用KMS实例。
在KMS实例中创建一个密钥,该密钥用于加密凭据。具体操作,请参见密钥管理快速入门。
通过调用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。
调用DescribeSecret查看凭据的信息与源地域是否一致。
观察应用集成凭据后,是否可以正常运行。
确认不再需要使用源地域对应凭据后,建议在源地域删除凭据。具体操作,请参见删除通用凭据。
说明您可通过操作审计查看凭据近期被调用情况。具体操作,请参见使用操作审计查询密钥管理服务的操作事件。了解完整的支持审计的操作事件,请参见密钥管理服务支持被审计的事件说明。其中凭据相关的事件有:GetSecretValue, DescribeSecret,ListSecretVersionIds,PutSecretValue,UpdateSecret,UpdateSecretVersionStage,UpdateSecretRotationPolicy,RestoreSecret。
RAM凭据
不支持迁移。
一个RAM用户只能在KMS中创建一个凭据,因此您需要先在源地域删除该RAM凭据,再在目标地域新建一个RAM凭据。
在KMS删除RAM凭据前,请确保您的业务应用不依赖从KMS获取该凭据。
在KMS删除RAM凭据,不会删除您的AccessKey。
RDS凭据
不需要迁移。
RDS实例是地域化资源,因此不需迁移对应的凭据。
ECS凭据
不需要迁移。
ECS实例是地域化资源,因此不需迁移对应的凭据。