本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
步骤 4:导入密钥材料
在加密密钥材料之后,您可以导入密钥材料,以将其与 Amazon KMS key配合使用。要导入密钥材料,请上传在步骤 3:加密密钥材料中加密的密钥材料以及在步骤 2:下载包装公有密钥和导入令牌中下载的导入令牌。您必须将密钥材料导入您在下载公有密钥和导入令牌时指定的同一 KMS 密钥中。成功导入密钥材料时,KMS 密钥的密钥状态会更改为 Enabled,您可以在加密操作中使用 KMS 密钥。
当您导入密钥材料时,您可以为密钥材料设置可选的过期日期。当密钥材料过期后, Amazon KMS 将删除密钥材料,并且 KMS 密钥将变为不可用。导入密钥材料后,无法设置、更改或取消当前导入的到期日期。要更改这些值,您必须重新导入相同的密钥材料。
按密钥类型划分的密钥材料导入注意事项
- 对称加密密钥
-
对于所有来源为
EXTERNAL的 KMS 密钥,导入的第一个密钥材料将变为当前密钥材料并与之永久关联。带EXTERNAL来源的对称加密密钥支持按需轮换。您可以将多个密钥材料关联到支持按需轮换的导入的密钥。要将新密钥材料NEW_KEY_MATERIAL与 KMS 密钥关联的ImportKeyMaterial操作,必须将importType参数设置为。在您执行RotateKeyOnDemand操作之前,此密钥材料不会与密钥永久关联。在此之前,此密钥材料将处于PENDING_ROTATION状态。可选ImportType参数的默认值为EXISTING_KEY_MATERIAL。省略ImportType参数或将其指定为EXISTING_KEY_MATERIAL时,必须导入先前与 KMS 密钥关联的密钥材料。 - 非对称密钥和 HMAC 密钥
-
对于非对称密钥或带有
EXTERNAL来源的 HMAC KMS 密钥,只能将一种密钥材料与密钥相关联。 Amazon KMS 将拒绝带ImportType参数 ImportKeyMaterial的 API 请求。 - 多区域密钥
-
您可以将新的密钥材料导入到多区域对称密钥中。为此,您必须创建主区域密钥和副本区域密钥。然后,您必须将新的密钥材料导入主区域密钥。您不能直接将新的密钥材料导入副本区域密钥。将新的密钥材料导入主区域密钥后,您可以将相同的密钥材料导入副本区域密钥中。
如果主区域密钥或副本区域密钥中的密钥材料被删除或过期,则只有该特定密钥会受到影响。已导入所有永久关联密钥材料的副本区域密钥可用于加密操作。
您只能使用多区域密钥设置或更改主区域密钥的密钥材料描述。
- 导入密钥材料时的密钥状态
-
导入与 KMS 密钥永久关联的所有密钥材料后,KMS 密钥才可用于密码操作。如果删除其中任何一个密钥材料或放任其过期,则 KMS 密钥状态将变为
PendingImport,并且该密钥将不再能够用于密码操作。
要导入密钥材料,您可以使用Amazon KMS 控制台或 ImportKeyMaterialAPI。您可以直接使用 API,方法是发出 HTTP 请求,也可以使用Amazon SDKs
导入密钥材料时,会在 Amazon CloudTrail 日志中添加一个记录ImportKeyMaterial操作的ImportKeyMaterial条目。无论您使用 Amazon KMS 控制台还是 Amazon KMS API, CloudTrail 条目都是一样的。
设置过期时间(可选)
导入 KMS 密钥的密钥材料时,可以将密钥材料的可选过期日期和时间设置为自导入之日起 365 天中的任意一天。导入的密钥材料过期后,将其 Amazon KMS 删除。此操作会将 KMS 密钥的密钥状态更改为 PendingImport,这将阻止在任何加密操作中使用该密钥。要使用 KMS 密钥,您必须重新导入原始密钥材料的副本。
确保导入的密钥材料经常过期,可帮助您满足监管要求,但这样做会给在 KMS 密钥下加密的数据带来额外的风险。在您重新导入原始密钥材料的副本之前,包含过期密钥材料的 KMS 密钥不可用,并且在 KMS 密钥下加密的任何数据都不可访问。如果您出于任何原因未能重新导入密钥材料(例如,丢失原始密钥材料的副本),则 KMS 密钥将永久不可用,在 KMS 密钥下加密的数据将无法恢复。
为了降低这种风险,请确保导入的密钥材料的副本可以访问,并设计一个系统,以便在密钥材料过期并中断工作量之前将其删除并重新导入。 Amazon 我们建议您针对导入的密钥材料的过期设置警报,这样您就有足够的时间在密钥材料过期之前重新导入密钥材料。您还可以使用 CloudTrail 日志来审核导入(和重新导入)密钥材料和删除导入的密钥材料的 Amazon KMS 操作,以及删除过期密钥材料的操作。
Amazon KMS 无法恢复、恢复或重现已删除的密钥材料。您可以通过编程定期删除和重新导入已导入的密钥材料,而无需设置过期时间,但是保留原始密钥材料副本的要求相同。
在导入密钥材料时,确定导入的密钥材料是否以及何时过期。不过,您可以开启和关闭过期时间,也可以通过重新导入密钥材料来设置新的过期时间。使用ExpirationModel参数开启ImportKeyMaterial到期时间 (KEY_MATERIAL_EXPIRES) 和关闭 (KEY_MATERIAL_DOES_NOT_EXPIRE),使用ValidTo参数设置到期时间。自导入数据起的最大天数为 365 天;没有最短天数,但必须是未来时间。
设置密钥材料描述
具有EXTERNAL来源的对称加密密钥可以有多个与之关联的密钥材料。在将密钥材料导入此类密钥时,您可以指定可选的密钥材料描述。该描述可用于跟踪相应的密钥材料在 Amazon KMS之外持久保存的位置。
您只能使用多区域密钥设置或更改主区域密钥的密钥材料描述。
重新导入密钥材料
如果您管理带有导入的密钥材料的 KMS 密钥,则可能需要重新导入密钥材料。您可以通过重新导入密钥材料替换过期或删除的密钥材料,或者更改密钥材料的到期模型或到期日期。
您可以在可满足您的安全要求任何时间点重新导入密钥材料。您不必等到密钥材料达到或接近其过期时间。
重新导入密钥材料的过程与首次导入密钥材料的过程相同,但以下情况例外。
-
使用现有 KMS 密钥,而不是创建新的 KMS 密钥。您可以跳过导入过程的步骤 1。
-
重新导入密钥材料时,可以更改到期模型、到期日期和密钥材料描述。
您只能使用多区域密钥设置或更改主区域密钥的密钥材料描述。
每次将密钥材料导入 KMS 密钥时,您需要为 KMS 密钥下载并使用新的包装密钥和导入令牌。包装过程不会影响密钥材料的内容,因此,您可以使用不同的包装公有密钥和不同的包装算法来导入相同的密钥材料。
导入新密钥材料
要具有导入的密钥材料的对称加密 KMS 密钥执行按需轮换,您首先需要导入以前未与该密钥关联的新密钥材料。
-
单一区域密钥
-
使用
ImportType参数设置为的ImportKeyMaterial操作NEW_KEY_MATERIAL来完成此任务。以这种方式导入的密钥材料将处于PENDING_ROTATION状态,直到您执行RotateKeyOnDemand操作或在中旋转密钥为止 Amazon Web Services 管理控制台。一个 KMS 密钥在任何时候最多只能有一个密钥材料处于PENDING_ROTATION状态。
-
-
多区域密钥
-
要将密钥材料导入多区域密钥,必须先将新的密钥材料导入主区域密钥。您不能直接将新的密钥材料导入副本区域密钥。将新的密钥材料导入主区域密钥后,您可以将相同的密钥材料导入到副本区域密钥中。
-
使用将主区域键的
ImportType参数设置NEW_KEY_MATERIAL为的ImportKeyMaterial操作来完成此任务。对于副本区域密钥,请使用ImportKeyMaterial操作ImportType的EXISTING_KEY_MATERIAL参数。 -
在密钥材料状态更改为状态之前,必须将多区域密钥的密钥材料导入到所有副本区域密钥和主区域密钥中。
PENDING_ROTATION在此之前,新密钥材料的状态为PENDING_MULTI_REGION_IMPORT_AND_ROTATION。一个 KMS 密钥在任何时候最多可以有一个处于PENDING_ROTATION或PENDING_MULTI_REGION_IMPORT_AND_ROTATION状态的密钥材料。
-
导入密钥材料(控制台)
您可以使用 Amazon Web Services 管理控制台 来导入密钥材料。
-
如果您在上传已包装的密钥材料页面上,请跳至 步骤 8。
-
登录 Amazon Web Services 管理控制台 并在 https://console.aws.amazon.com/km s 处打开 Amazon Key Management Service (Amazon KMS) 控制台。
-
要更改 Amazon Web Services 区域,请使用页面右上角的区域选择器。
-
在导航窗格中,选择客户托管密钥。
-
选择已为其下载公有密钥和导入令牌的 KMS 密钥的密钥 ID 或别名。
-
选择 Cryptographic configuration(加密配置)选项卡并查看其值。这些选项卡位于 General configuration(常规配置)部分下 KMS 密钥的详细信息页面上。
您只能将密钥材料导入源为外部(导入密钥材料)的 KMS 密钥。有关创建带已导入密钥材料的 KMS 密钥的信息,请参阅 导入密钥的 Amazon KMS 密钥材料。
-
对于非对称密钥和 HMAC 密钥,请选择密钥材料选项卡,然后选择导入密钥材料。对于对称加密密钥,请选择密钥材料和轮换选项卡。然后选择导入初始密钥材料或导入新密钥材料或重新导入密钥材料。重新导入密钥材料选项可在密钥材料表的
Actions菜单中找到。如果您下载了密钥材料、导入令牌并加密了密钥材料,请选择下一步。
注意
对于多区域密钥,您必须先将新的密钥材料导入主区域密钥中。然后,您可以将相同的密钥材料导入到副本区域密钥中。
-
在加密的密钥材料和导入令牌部分,执行以下操作。
-
在包装的密钥材料下,选择选择文件。然后上传包含您的已包装(已加密)密钥材料的文件。
-
在导入令牌下,选择选择文件。上传包含您已下载的导入令牌的文件。
-
-
在 Expiration option (过期选项) 部分中,确定密钥材料是否过期。要设置到期日期和时间,请选择 Key material expires (密钥材料过期),并使用日历选择日期和时间。您可以指定的日期距当前日期和时间最多 365 天。
-
对于对称加密密钥,您可以选择为要导入的密钥材料指定描述。
-
选择导入密钥材料。
导入密钥材料 (Amazon KMS API)
要导入密钥材料,请使用ImportKeyMaterial操作。以下示例使用 Amazon CLI
要使用此示例,请执行以下操作:
您只能使用多区域密钥设置或更改主区域密钥的密钥材料描述。
-
将
替换为您在下载公有密钥和导入令牌时指定的 KMS 密钥的密钥 ID。要标识 KMS 密钥,请使用其密钥 ID 或密钥 ARN。该操作不能使用别名或别名 ARN。1234abcd-12ab-34cd-56ef-1234567890ab -
将
替换为包含加密的密钥材料的文件的名称。EncryptedKeyMaterial.bin -
将
替换为包含导入令牌的文件的名称。ImportToken.bin -
如果希望导入的密钥材料过期,请将
expiration-model参数的值设置为其默认值KEY_MATERIAL_EXPIRES,或省略expiration-model参数。然后,将valid-to参数的值替换为您希望密钥材料过期的日期和时间。日期和时间最长为请求时间起 365 天。$aws kms import-key-material --key-id1234abcd-12ab-34cd-56ef-1234567890ab\ --encrypted-key-material fileb://EncryptedKeyMaterial.bin\ --import-token fileb://ImportToken.bin\ --expiration-modelKEY_MATERIAL_EXPIRES\ --valid-to2023-06-17T12:00:00-08:00如果不希望导入的密钥材料过期,请将
expiration-model参数的值设置为KEY_MATERIAL_DOES_NOT_EXPIRE,并从命令中省略valid-to参数。$aws kms import-key-material --key-id1234abcd-12ab-34cd-56ef-1234567890ab\ --encrypted-key-material fileb://EncryptedKeyMaterial.bin\ --import-token fileb://ImportToken.bin\ --expiration-modelKEY_MATERIAL_DOES_NOT_EXPIRE -
如果要导入以前未与 KMS 密钥关联的新密钥材料,请将
ImportType参数设置为NEW_KEY_MATERIAL。此选项只能与对称加密密钥一起使用。对于此类密钥,您还可以在以下命令行示例中使用可选KeyMaterialDescription参数为导入的密钥材料设置描述:$aws kms import-key-material --key-id1234abcd-12ab-34cd-56ef-1234567890ab\ --encrypted-key-material fileb://EncryptedKeyMaterial.bin\ --import-token fileb://ImportToken.bin\ --expiration-modelKEY_MATERIAL_EXPIRES\ --valid-to2023-06-17T12:00:00-08:00\ --import-type NEW_KEY_MATERIAL \ --key-material-description"Q2 2025 Rotation"
提示
如果命令不成功,则可能会看到 KMSInvalidStateException 或 NotFoundException。您可以重试请求。