我删除了一个 AWS Secrets Manager 密钥。然后我尝试使用相同的名称重新创建密钥。但是,我收到了与以下内容类似的错误消息:
“You can't create this secret because a secret with this name is already scheduled for deletion(您无法创建此密钥,因为具有此名称的密钥已被计划删除)”
简短描述
当您删除密钥时,Secrets Manager 不会立即删除该密钥。Secrets Manager 将在至少七天的恢复期之后安排删除密钥。这意味着在恢复窗口结束前,您无法在 AWS 管理控制台中使用相同的名称重新创建密钥。您可以使用 AWS Command Line Interface(AWS CLI)永久删除密钥,且无需等待任何恢复期。有关更多信息,请参阅删除密钥。
解决方法
使用 ForceDeleteWithoutRecovery 参数运行 DeleteSecret API 调用,以永久删除密钥。
备注:
使用 AWS Secrets Manager 控制台获取已删除的 Secrets Manager 密钥 ID
**注意:**如果您已经知道已删除密钥的 ID,则可以跳过此步骤。
- 打开 Secrets Manager 控制台。
- 在导航窗格中,选择 Secrets(密钥)。
- 选择 settings(设置)图标,然后在 Preferences(首选项)中选择 Show secrets scheduled for deletion(显示计划删除的密钥)。
- 在 Visible columns(可见列)中,打开 Deleted on(删除时间)切换开关,然后选择 Save(保存)。
- 在 Secrets(密钥)窗格中,记下 Secret name(密钥名称)和 Deleted on(删除时间)字段以查找已删除密钥的 ID。
- 在 Secret name(密钥名称)中,选择您的密钥。
- 在 Secrets detail(密钥详细信息)中,复制 Secret name(密钥名称)。
使用 AWS CLI 永久删除密钥
在本示例中,将 your-secret-name 替换为您的 Secrets Manager 密钥 ID 或 ARN,并将 your-region 替换为您的 AWS 区域。
aws secretsmanager delete-secret --secret-id your-secret-name --force-delete-without-recovery --region your-region
运行 DescribeSecret API 调用以验证密钥已永久删除。
**注意:**删除是一个异步过程。它可能会有短暂的延迟。
aws secretsmanager describe-secret --secret-id your-secret-name --region your-region
您将收到与以下类似的错误消息:
An error occurred (ResourceNotFoundException) when calling the DescribeSecret operation: Secrets Manager can't find the specified secret.
该错误消息表示密钥已成功删除。
相关信息
delete-secret