# 调用 Encrypt 操作时出错 (KMSInvalidStateException)：请求被拒绝，因为密钥状态为 PendingDeletion。

- **ID:** `aws/kms-key-deletion-pending`
- **领域:** aws
- **类别:** auth_error
- **错误码:** `KMSInvalidStateException`
- **验证级别:** ai_generated
- **修复率:** 95%

## 根因

KMS 密钥已计划删除，在取消删除前无法用于加密操作。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| aws-kms-2024 | active | — | — |
| boto3-1.34.0 | active | — | — |
| aws-sdk-java-2.25.0 | active | — | — |

## 解决方案

1. ```
   取消密钥删除：`aws kms cancel-key-deletion --key-id 1234abcd-12ab-34cd-56ef-1234567890ab` 并等待密钥状态恢复为 'Enabled'。
   ```
2. ```
   如果密钥不可恢复，创建新的 KMS 密钥并使用数据密钥重新加密过程重新加密所有数据。
   ```

## 无效尝试

- **** — Re-creating a new key with the same alias but different ID breaks existing encrypted data; old data can't be decrypted. (70% 失败率)
- **** — Waiting for the deletion to complete is irreversible; the key becomes permanently unusable. (100% 失败率)
