管理多区域密钥 - AWS Key Management Service

管理多区域密钥

对于大多数操作,您需要以与使用和管理单区域密钥相同的方法管理多区域密钥。您可以启用和禁用密钥、设置和更新别名、密钥策略、授权和标签。但是,多区域密钥的管理在以下方面有所不同。

  • 您可以更新主区域。这会将其中一个副本密钥更改为主密钥,将当前主密钥更改为副本密钥。

  • 您仅在主密钥上管理自动密钥轮换

  • 您可以从任何相关的主密钥或副本密钥中获取非对称多区域密钥的公有密钥

您在创建 KMS 密钥时设置的多区域属性为不可改变。您不能将单区域密钥转换为多区域密钥,或将多区域密钥转换为单区域密钥。

更新主区域

每组相关的多区域密钥都必须具有一个主密钥。但您可以更改主密钥。此操作称为更新主区域,会将当前主密钥转换为副本密钥,并将其中一个相关的副本密钥转换为主密钥。如果您需要在维护副本密钥的同时删除当前主密钥,或者在与密钥管理员相同的区域中查找主密钥,则可以执行此操作。

您可以选择任何相关的副本密钥作为新的主密钥。操作开始时,主密钥和副本密钥都必须处于 Enabled 密钥状态

即使在此操作完成后,更新主区域的过程可能仍要进行几秒钟。在此期间,旧的主密钥和新的主密钥具有临时密钥状态 Updating(正在更新)。当密钥状态为 Updating 时,您可以在加密操作中使用密钥,但不能复制新的主密钥或执行某些管理操作,例如启用或禁用这些密钥。DescribeKey 之类的操作可能会将旧的主密钥和新的主密钥同时显示为副本。当更新完成时,Enabled 密钥状态将恢复。

假设您在美国东部(弗吉尼亚北部)(us-east-1) 区域中有一个主密钥,在欧洲(爱尔兰)(eu-west-1) 区域有一个副本密钥。您可以使用更新功能将美国东部(弗吉尼亚北部)(us-east-1) 区域中的主密钥更改为副本密钥,并将欧洲(爱尔兰)(eu-west-1) 区域中的副本密钥更改为主密钥。


                更新主密钥

更新过程完成后,欧洲(爱尔兰)(eu-west-1) 区域中的多区域密钥为多区域主密钥,美国东部(弗吉尼亚北部)(us-east-1) 区域中的密钥是其副本密钥。如果存在其他相关的副本密钥,则它们将成为新主密钥的副本密钥。AWS KMS 下一次同步多区域密钥的共享属性时,将从新的主密钥中获得共享属性并将它们复制到其副本密钥(包括以前的主密钥)中。

更新操作不会影响任何多区域密钥的密钥 ARN。它也不会影响共享属性(如密钥材料)或独立属性(如密钥策略)。不过,您可能需要对新的主密钥的密钥策略进行更新。例如,您可能要将信任委托人的 kms:ReplicateKey 权限添加到新的主密钥中,并将其从新的副本密钥中删除。

Updating 密钥状态

更新主区域的过程比短暂的最终一致性延迟要长一些,后者影响大多数 AWS KMS 操作。当 UpdatePrimaryRegion 操作返回或者您在控制台中完成了更新程序后,此过程仍然可能在进行中。DescribeKey 之类的操作可能会将旧的主密钥和新的主密钥同时显示为副本,直到过程完成。

在更新主区域的过程中,旧的主密钥和新的主密钥处于 Updating 密钥状态。更新过程成功完成后,两个密钥都返回到 Enabled 密钥状态。处于 Updating 状态时,某些管理操作(如启用和禁用密钥)将不可用。不过,您可以继续在加密操作中使用这两个密钥,而不会中断。有关 Updating 密钥状态的影响的信息,请参阅 AWS KMS 密钥的密钥状态

更新主区域(控制台)

您可以在 AWS KMS 控制台中更新主密钥。从当前主密钥的密钥详细信息页面开始。

  1. 登录到 AWS Management Console,然后通过以下网址打开 AWS Key Management Service (AWS KMS) 控制台:https://console.aws.amazon.com/kms

  2. 要更改 AWS 区域,请使用页面右上角的 Region selector (区域选择器)。

  3. 在导航窗格中,选择客户托管密钥

  4. 选择多区域主密钥的密钥 ID 或别名。这将打开主密钥的密钥详细信息页面。

    要识别多区域主密钥,请使用右上角的工具图标将 Regionality(区域性)列添加到表中。

  5. 选择 Regionality(区域性)选项卡。

  6. Primary key(主密钥)部分中,选择 Change primary Region(更改主区域)。

  7. 选择新的主密钥的区域。您只能从菜单中选择一个区域。

    Change primary Regions(更改主区域)菜单仅包含具有相关多区域密钥的区域。您可能没有权限更新菜单上的所有区域中的主区域。

  8. 选择 Change primary Region(更改主区域)。

更新主要区域 (AWS KMS API)

要更改一组相关的多区域密钥中的主密钥,请使用 UpdatePrimaryRegion 操作。

使用 KeyId 参数来标识当前主密钥。使用 PrimaryRegion 参数来指示新的主密钥的 AWS 区域。如果主密钥在新的主区域中还没有副本,则操作将失败。

以下示例将主密钥从 us-west-2 区域中的多区域密钥更改为其在 eu-west-1 区域中的副本密钥。KeyId 参数标识 us-west-2 区域中的当前主密钥。PrimaryRegion 参数指定新的主密钥的 AWS 区域,即 eu-west-1

$ aws kms update-primary-region \ --key-id arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab \ --primary-region eu-west-1

如果成功,此操作不会返回任何输出,只返回 HTTP 状态代码。要查看影响,请对任意一个多区域密钥调用 DescribeKey 操作。您可能需要等到密钥状态返回 Enabled。虽然密钥状态为 Updating(正在更新),但密钥的值可能仍处于变化中。

例如,以下 DescribeKey 调用将获取有关 eu-west-1 区域中多区域密钥的详细信息。输出显示,eu-west-1 区域中的多区域密钥现在为主密钥。us-west-2 区域中相关的多区域密钥(相同的密钥 ID)现在已成为副本密钥。

$ aws kms describe-key \ --key-id arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab \ { "KeyMetadata": { "AWSAccountId": "111122223333", "KeyId": "mrk-1234abcd12ab34cd56ef1234567890ab", "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "CreationDate": 1609193147.831, "Enabled": true, "Description": "multi-region-key", "KeySpec": "SYMMETRIC_DEFAULT", "KeyState": "Enabled", "KeyUsage": "ENCRYPT_DECRYPT", "Origin": "AWS_KMS", "KeyManager": "CUSTOMER", "CustomerMasterKeySpec": "SYMMETRIC_DEFAULT", "EncryptionAlgorithms": [ "SYMMETRIC_DEFAULT" ], "MultiRegion": true, "MultiRegionConfiguration": { "MultiRegionKeyType": "PRIMARY", "PrimaryKey": { "Arn": "arn:aws:kms:eu-west-1:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "eu-west-1" }, "ReplicaKeys": [ { "Arn": "arn:aws:kms:us-west-2:111122223333:key/mrk-1234abcd12ab34cd56ef1234567890ab", "Region": "us-west-2" } ] } } }

轮换多区域密钥

您可以启用和禁用多区域密钥中的密钥材料自动轮换。自动密钥轮换是多区域密钥的共享属性

仅在主密钥上启用和禁用自动密钥轮换。

  • AWS KMS 同步多区域密钥时,它会将密钥轮换属性设置从主密钥复制到其所有的相关副本密钥。

  • AWS KMS 轮换密钥材料时,会为主密钥创建新的密钥材料,然后跨区域边界将新的密钥材料复制到所有相关的副本密钥。此密钥材料绝不会让 AWS KMS 处于未加密状态。此步骤经过精心控制,以确保在加密操作中使用任何密钥之前密钥材料完全同步。

  • AWS KMS 不会使用新密钥材料加密任何数据,直到该密钥材料在主密钥及其每个副本密钥中都可用。

  • 复制已轮换的主密钥时,新的副本密钥具有相关多区域密钥的当前密钥材料和所有先前版本的密钥材料。

此模式可确保相关的多区域密钥完全可互操作。任何多区域密钥都可以解密由相关多区域密钥加密的任何密文,即使密文在创建密钥之前已加密。

非对称 KMS 密钥或带有导入密钥材料的 KMS 密钥不支持自动密钥轮换。有关自动密钥轮替的信息以及启用和禁用密钥的说明,请参阅 轮换 AWS KMS keys

下载公有密钥

当您创建一个多区域非对称 KMS 密钥时,AWS KMS 会为主密钥创建 RSA 或椭圆曲线 (ECC) 密钥对。然后,它会将该密钥对复制到主密钥的每个副本。因此,您可以从主密钥或其任何副本密钥下载公有密钥。您总是会获得相同的密钥材料。

有关在 AWS KMS 之外下载和使用公有密钥的信息,请参阅 下载公有密钥的特殊注意事项。有关说明,请参阅下载公有密钥