删除密钥 - Amazon Secrets Manager
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

删除密钥

由于密钥非常重要,Amazon Secrets Manager 是很难有意删除密钥的。Secrets Manager 不会立即删除密钥。而是Secrets Manager 会立即使这些密钥无法访问,并计划在恢复时段(最少 为 7 天)后删除这些密钥。在恢复时段结束后,您才能恢复以前删除的密钥。标记为已删除的密钥不收取任何费用。

如果已将主密钥复制到其他区域,则无法将其删除。首先删除副本,然后删除主密钥。在您删除副本时,该副本会被立即删除。

您无法直接删除某个密钥版本,而是用 Amazon CLI 或 Amazon SDK 移除版本中的所有暂存标注。这会将该版本标记为已弃用,并允许 Secrets Manager 在后台自动删除该版本。

如果您不知道应用程序仍在使用密钥,则可以创建 Amazon CloudWatch 告警以提醒您在恢复时段任何尝试访问密钥的行为。有关更多信息,请参阅监控计划删除的密钥

要删除密钥,您必须具有 secretsmanager:ListSecretssecretsmanager:DeleteSecret 权限。

删除密钥 (控制台)

  1. 通过 https://console.aws.amazon.com/secretsmanager/ 打开 Secrets Manager 控制台。

  2. 在密钥列表中,选择要删除的密钥。

  3. 密钥详细信息部分中,选择操作,然后选择编辑描述

  4. 禁用密钥和计划删除对话框中,在等待时间下,输入永久删除之前等待的天数。Secrets Manager 附加一个名为 DeletionDate 的字段,并将其设置为当前日期和时间加上为恢复时段指定的天数。

  5. 选择计划删除

查看已删除的密钥

  1. https://console.aws.amazon.com/secretsmanager/ 打开 Secrets Manager 控制台

  2. 密钥页面上,选择偏好 ( )。

  3. 在偏好对话框中,选择显示禁用的密钥,然后选择保存

删除副本密钥

  1. https://console.aws.amazon.com/secretsmanager/ 打开 Secrets Manager 控制台

  2. 选择主密钥。

  3. 复制密钥密钥部分,选择副本密钥。

  4. Actions (操作) 菜单中选择 Delete Stack (删除副本)

Amazon CLI

要删除密钥,请使用 delete-secret 操作。要删除密钥版本,请使用 update-secret-version-stage 操作删除所有暂存标签。Secrets Manager 可以在后台将其删除。要查找要删除的版本 ID,请使用 ListSecretVersionIds

要删除副本,请使用 remove-regions-from-replication 操作。

下面的示例标记删除名为“MyTestDatabase”的密钥,并在14天的恢复窗口后安排删除。在 DeletionDate 字段中指定的日期和时间之后的任意时间,Secrets Manager 将永久删除该密钥。

$ aws secretsmanager delete-secret --secret-id development/MyTestDatabase --recovery-window-in-days 14 { "ARN": "arn:aws:secretsmanager:us-east-2:111122223333:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "DeletionDate": 1510089380.309 }

以下示例立即删除密钥而没有恢复时段。DeletionDate 响应字段显示当前日期和时间,而不是将来的时间。此密钥无法恢复。

$ aws secretsmanager delete-secret --secret-id development/MyTestDatabase --force-delete-without-recovery { "ARN": "arn:aws:secretsmanager:us-east-2:111122223333:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase", "DeletionDate": 1508750180.309 }

以下示例演示删除副本密钥。

$ aws secretsmanager remove-regions-from-replication --secret-id development/MyTestDatabase --remove-replica-regions us-east-1

以下示例从名为“MyTestDatabase”的密钥版本中删除 AWSPREVIOUS 暂存标签。

$ aws secretsmanager update-secret-version-stage \ --secret-id development/MyTestDatabase \ --remove-from-version-id EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE --version-stage AWSPREVIOUS { "ARN": "arn:aws:secretsmanager:us-east-2:111122223333:secret:development/MyTestDatabase-AbCdEf", "Name": "development/MyTestDatabase" }

Amazon 开发工具包

要删除密钥,请使用 DeleteSecret 命令。要删除密钥版本,请使用 UpdateSecretVersionStage 命令。要删除副本,请使用 StopReplicationToReplica 命令。有关更多信息,请参阅Amazon 软件开发工具包