本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon KMS 密钥的密钥状态
Amazon KMS key 始终具有密钥状态。KMS 密钥及其环境上的操作可以瞬时改变该密钥状态,或者直到其他操作更改其密钥状态为止。
本节中的表格显示了密钥状态如何影响对 Amazon KMS API 操作的调用。由于其密钥状态,对 KMS 密钥执行的操作预计会成功 (✓
),失败 (X
),或者仅在某些条件下成功 (?
)。对于已导入密钥材料的 KMS 密钥,结果通常不同。
此表仅包括使用现有 KMS 密钥的 API 操作。其他操作,例如 CreateKey 和 ListKeys,则会省略。
密钥状态和 KMS 密钥类型
KMS 密钥的类型决定了它可以具有的密钥状态。
-
所有 KMS 密钥都可以处于
Enabled
、Disabled
和PendingDeletion
状态。 -
大多数 KMS 密钥都在
Enabled
状态下创建。带导入的密钥材料的密钥在PendingImport
状态下创建。 -
PendingImport
状态仅适用于具有导入的密钥材料的 KMS 密钥。 -
Unavailable
状态仅适用于自定义密钥存储中的 KMS 密钥。当自定义密钥存储有意与其 Amazon CloudHSM 集群断开连接时,Amazon CloudHSM 密钥存储中的 KMS 密钥为Unavailable
。当自定义密钥存储有意与其外部密钥存储代理断开连接时,外部密钥存储中的 KMS 密钥为Unavailable
。您可查看和管理不可用的 KMS 密钥,但无法在加密操作中使用它们。自定义密钥中的 KMS 密钥的密钥状态不受其备用密钥的更改的影响。Amazon CloudHSM 密钥存储中的 KMS 密钥不受 Amazon CloudHSM 集群中其关联密钥材料的更改的影响。外部密钥存储中的 KMS 密钥不受外部密钥管理器中其外部密钥的更改的影响。如果禁用或删除备用密钥,KMS 密钥状态不会改变,但使用 KMS 密钥的加密操作会失败。
-
Creating
、Updating
和PendingReplicaDeletion
密钥状态仅适用于多区域密钥。-
多区域副本密钥在创建时处于临时
Creating
密钥状态。当 ReplicateKey 操作完成时,此过程可能仍在进行中。复制过程完成后,副本密钥处于Enabled
或PendingImport
状态。 -
多区域密钥在主区域正在更新时处于临时的
Updating
密钥状态。当 UpdatePrimaryRegion 操作完成时,此过程可能仍在进行中。更新过程完成后,主密钥和副本密钥将恢复Enabled
密钥状态。 -
当您计划删除具有副本密钥的多区域主键时,主键处于
PendingReplicaDeletion
状态,直到其所有的副本密钥都被删除。然后,它的密钥状态更改为PendingDeletion
。有关详细信息,请参阅Deleting multi-Region keys。
-
密钥状态表
下表显示 KMS 密钥的密钥状态如何影响 Amazon 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 |
[2] 或 [3] |
不适用 | 不适用 |
[14] |
|||
ImportKeyMaterial |
[9] |
[9] |
[8] 或 [9] |
[9] |
[14] |
||
ListAliases | |||||||
ListGrants | |||||||
ListKeyPolicies | |||||||
ListKeyRotations |
[7] |
[7] |
[7] |
[6] |
[7] |
[7] |
[7] |
ListResourceTags | |||||||
PutKeyPolicy | |||||||
ReEncrypt | [1] |
[2] 或 [3] |
[5] |
[11] |
[14] |
||
ReplicateKey |
[1] |
[2] 或 [3] |
[5] |
不适用 |
[14] |
[15] |
|
RetireGrant | |||||||
RevokeGrant | |||||||
RotateKeyOnDemand |
[7] |
[1] 或 [7] |
[3] 或 [7] |
[6] |
[7] |
[14] |
[7] |
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:
您无法在不可用的 KMS 密钥上执行此操作。<key ARN>
is unavailable. -
[12] 操作成功,但 KMS 密钥的密钥状态未更改,直到它变得可用。
-
[13] 虽然自定义密钥存储中的 KMS 密钥处于等待删除状态,但其密钥状态保持
PendingDeletion
不变,即使 KMS 密钥变得不可用也是如此。这允许您在等待期内随时取消删除 KMS 密钥。 -
[14]
KMSInvalidStateException:
Amazon KMS 在复制多区域密钥(<key ARN>
is creating.ReplicateKey
)时引发此异常。 -
[15]
KMSInvalidStateException:
Amazon KMS 在更新多区域密钥的主区域(<key ARN>
is updating.UpdatePrimaryRegion
)时引发此异常。