AWS KMS 密钥的密钥状态 - AWS Key Management Service

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS KMS 密钥的密钥状态

AWS KMS key 始终具有密钥状态。KMS 密钥及其环境上的操作可以瞬时改变该密钥状态,或者直到其他操作更改其密钥状态为止。

本节中的表格显示了密钥状态如何影响对 AWS KMS API 操作的调用。由于其密钥状态,对 KMS 密钥执行的操作预计会成功 (),失败 (X),或者仅在某些条件下成功 (?)。对于已导入密钥材料的 KMS 密钥,结果通常不同。

此表仅包括使用现有 KMS 密钥的 API 操作。省略了其他操作 ListKeys,例如CreateKey和。

密钥状态和 KMS 密钥类型

KMS 密钥的类型决定了它可以具有的密钥状态。

  • 所有 KMS 密钥都可以处于 EnabledDisabledPendingDeletion 状态。

  • 大多数 KMS 密钥都在 Enabled 状态下创建。带导入的密钥材料的密钥在 PendingImport 状态下创建。

  • PendingImport 状态仅适用于具有导入的密钥材料的 KMS 密钥。

  • Unavailable 状态仅适用于自定义密钥存储中的 KMS 密钥。当自定义密钥存储有意与其 AWS CloudHSM 集群断开连接时,AWS CloudHSM 密钥存储中的 KMS 密钥为 Unavailable。当自定义密钥存储有意与其外部密钥存储代理断开连接时,外部密钥存储中的 KMS 密钥为 Unavailable。您可查看和管理不可用的 KMS 密钥,但无法在加密操作中使用它们。

    自定义密钥中的 KMS 密钥的密钥状态不受其备用密钥的更改的影响。AWS CloudHSM 密钥存储中的 KMS 密钥不受 AWS CloudHSM 集群中其关联密钥材料的更改的影响。外部密钥存储中的 KMS 密钥不受外部密钥管理器中其外部密钥的更改的影响。如果禁用或删除备用密钥,KMS 密钥状态不会改变,但使用 KMS 密钥的加密操作会失败。

  • CreatingUpdatingPendingReplicaDeletion 密钥状态仅适用于多区域密钥

    • 多区域副本密钥在创建时处于临时 Creating 密钥状态。ReplicateKey操作完成后,此过程可能仍在进行中。复制过程完成后,副本密钥处于 EnabledPendingImport 状态。

    • 多区域密钥在主区域正在更新时处于临时的 Updating 密钥状态。UpdatePrimaryRegion操作完成后,此过程可能仍在进行中。更新过程完成后,主密钥和副本密钥将恢复 Enabled 密钥状态。

    • 当您计划删除具有副本密钥的多区域主键时,主键处于 PendingReplicaDeletion 状态,直到其所有的副本密钥都被删除。然后,它的密钥状态更改为 PendingDeletion。有关更多信息,请参阅 删除多区域密钥

密钥状态表

下表显示 KMS 密钥的密钥状态如何影响 AWS KMS 操作。

编号脚注的说明 ([n]) 处于本主题的末尾。

注意

您可能需要水平或垂直滚动才能查看此表中的所有数据。

API 已启用 已禁用

待删除

待删除副本

待导入 不可用 Creating Updating
CancelKeyDeletion

[4]

[4]

[4]

[4]、[13]

[4]

[4]

CreateAlias

[3]

CreateGrant

[1]

[2] 或 [3]

[5]

[14]

Decrypt

[1]

[2] 或 [3]

[5]

[11]

[14]

DeleteAlias
DeleteImportedKeyMaterial

[9]

[9]

[9]

(无影响)

不适用

[14]

[15]

DescribeKey
DisableKey

[3]

[5]

[12]

[14]

[15]

DisableKeyRotation

[7]

[1] 或 [7]

[3] 或 [7]

[6]

[7]

[14]

[7]

EnableKey

[3]

[5]

[12]

[14]

[15]

EnableKeyRotation

[7]

[1] 或 [7]

[3] 或 [7]

[6]

[7]

[14]

[7]

Encrypt

[1]

[2] 或 [3]

[5]

[11]

[14]

GenerateDataKey

[1]

[2] 或 [3]

[5]

[11]

[14]

GenerateDataKeyPair

[1]

[2] 或 [3]

[5]

[11]

[14]

GenerateDataKeyPairWithoutPlaintext

[1]

[2] 或 [3]

[5]

[11]

[14]

GenerateDataKeyWithoutPlaintext

[1]

[2] 或 [3]

[5]

[11]

[14]

GenerateMac

[1]

[2] 或 [3]

不适用 不适用

[14]

GetKeyPolicy
GetKeyRotationStatus

[7]

[7]

[7]

[6]

[7]

[7]

[7]

GetParametersForImport

[9]

[9]

[8] 或 [9]

[9]

[14]

[15]

GetPublicKey

[1]

[2] 或 [3]

不适用 不适用

[14]

ImportKeyMaterial

[9]

[9]

[8] 或 [9]

[9]

[14]

ListAliases
ListGrants
ListKeyPolicies
ListResourceTags
PutKeyPolicy
ReEncrypt

[1]

[2] 或 [3]

[5]

[11]

[14]

ReplicateKey

[1]

[2] 或 [3]

[5]

不适用

[14]

[15]

RetireGrant
RevokeGrant
ScheduleKeyDeletion

[3]

[15]

Sign

[1]

[2] 或 [3]

不适用 不适用

[14]

TagResource

[3]

UntagResource

[3]

UpdateAlias

[10]

UpdateKeyDescription

[3]

UpdatePrimaryRegion

[1]

[2] 或 [3]

[5]

不适用

[14]

验证

[1]

[2] 或 [3]

不适用 不适用

[14]

VerifyMac

[1]

[2] 或 [3]

不适用 不适用

[14]

表详细信息

  • [1] DisabledException: <key ARN> is disabled.

  • [2] DisabledException: <key ARN> is pending deletion (or pending replica deletion).

  • [3] KMSInvalidStateException: <key ARN> is pending deletion (or pending replica deletion).

  • [4] KMSInvalidStateException: <key ARN> is not pending deletion (or pending replica deletion).

  • [5] KMSInvalidStateException: <key ARN> is pending import.

  • [6] UnsupportedOperationException: <key ARN> origin is EXTERNAL which is not valid for this operation.

  • [7] 如果 KMS 密钥已导入密钥材料或位于自定义密钥存储中:UnsupportedOperationException

  • [8] 如果 KMS 密钥已导入密钥材料:KMSInvalidStateException

  • [9] 如果 KMS 密钥无法导入或未导入密钥材料:UnsupportedOperationException

  • [10] 如果源 KMS 密钥正等待删除,则该命令将成功。如果目标 KMS 密钥正等待删除,则该命令将失败,并显示以下错误消息:KMSInvalidStateException : <key ARN> is pending deletion.

  • [11] KMSInvalidStateException: <key ARN> is unavailable. 您无法在不可用的 KMS 密钥上执行此操作。

  • [12] 操作成功,但 KMS 密钥的密钥状态未更改,直到它变得可用。

  • [13] 虽然自定义密钥存储中的 KMS 密钥处于等待删除状态,但其密钥状态保持 PendingDeletion 不变,即使 KMS 密钥变得不可用也是如此。这允许您在等待期内随时取消删除 KMS 密钥。

  • [14] KMSInvalidStateException: <key ARN> is creating. AWS KMS 在复制多区域密钥(ReplicateKey)时引发此异常。

  • [15] KMSInvalidStateException: <key ARN> is updating. AWS KMS 在更新多区域密钥的主区域(UpdatePrimaryRegion)时引发此异常。