当您创建启用了软删除的 azure keyvault 时,即使您将其删除并从头开始重新创建,该 keyvault 仍会保留。
启用软删除后,标记为已删除资源的资源将保留指定时间段(默认为 90 天)。该服务还提供了一种恢复已删除对象的机制,本质上是撤消删除。
当您尝试通过 UI 删除 keyvault 时,您还会收到此错误消息:
此 Key Vault 已启用软删除功能。您先请
软删除此密钥保管库,它将作为一个密钥保留在您的订阅中
隐藏的金库。它将在您的保留期过后被清除
指定的。您可以使用 Azure 更快地清除它或恢复保管库
门户、Azure PowerShell 或 Azure CLI。请参阅此页面以供参考:https://learn.microsoft.com/azure/key-vault/key-vault-ovw-soft-delete https://learn.microsoft.com/azure/key-vault/key-vault-ovw-soft-delete
这导致我在开发中遇到问题。我创建了一个启用了软删除的 keyvault(意外),现在我想完全删除该 keyvault 并使用不同的设置重新创建它。每次我删除它并重新创建它时,它都包含以前的所有设置、密钥等。我也无法创建具有相同名称且禁用软删除的密钥库。它抱怨具有该名称的密钥库已存在(VaultAlreadyExists
异常)并且设置不兼容。
The MSDN 上的 keyvault 文档 https://learn.microsoft.com/en-us/azure/key-vault/general/soft-delete-overview#permitted-purge(Azure中上述消息的链接)提到如何永久清除软删除,但它有点委婉的句子对我没有多大帮助:
可以通过 POST 永久删除、清除密钥保管库
对代理资源的操作需要特殊权限。
那么我该如何摆脱这个东西呢?
正如我后来发现的那样,首先要注意的是现在随时都会默认启用软删除 https://learn.microsoft.com/en-us/azure/key-vault/general/soft-delete-change。所以禁用 of 软删除现已被有效弃用。但我仍然想完全删除我的密钥库。
在对 azure cli 进行了一些挖掘之后,我偶然发现了这个命令 https://learn.microsoft.com/en-us/cli/azure/keyvault?view=azure-cli-latest#az-keyvault-purge:
az keyvault purge --name
[--location]
[--no-wait]
[--subscription]
因此,如果您使用具有足够权限运行此命令的用户登录,则可以使用以下命令永久删除整个密钥保管库:
az keyvault purge --name keyvaultname
这将永久且不可撤销地删除密钥保管库及其所有密钥和设置。 在 Azure UI 中似乎没有办法在不使用 CLI 或其他工具的情况下执行此操作。 看来现在 UI 中也支持这一点,see here https://learn.microsoft.com/en-us/azure/key-vault/general/key-vault-recovery?tabs=azure-portal#list-recover-or-purge-a-soft-deleted-key-vault:
- 登录到 Azure 门户。
- 单击页面顶部的搜索栏。
- 在“最近的服务”下,单击“Key Vault”。不要点击
个人密钥保管库。
- 在屏幕顶部,单击“管理已删除的保管库”选项
- 屏幕右侧将打开一个上下文窗格。
- 选择您的订阅。
- 如果您的密钥保管库已被软删除,它将显示在
右侧的上下文窗格。
- 如果保管库太多,您可以点击“加载更多”
上下文窗格的底部或使用 CLI 或 PowerShell 获取
结果。
- 找到要恢复或清除的保管库后,选择
旁边的复选框。
- 如果您选择上下文窗格底部的恢复选项
想要恢复密钥保管库。
- 如果您想永久删除该文件,请选择清除选项
密钥库。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)