【问题标题】:Azure key vault creation error: VaultAlreadyExists - I can't find the existing vaultAzure 密钥保管库创建错误:VaultAlreadyExists - 我找不到现有保管库
【发布时间】:2021-06-15 15:42:48
【问题描述】:

我正在尝试使用此 CLI 命令在 Azure 中创建密钥保管库...

az keyvault create --location $location --name $keyVaultName --resource-group $resourceGroupMainName --output none

但这会返回错误...

(VaultAlreadyExists) 保管库名称“[$keyVaultName 的值]”为 已经在使用了。保险库名称是全球唯一的,因此有可能 这个名字已经被占用了。如果您确定保管库名称不是 采取,那么有可能最近有一个同名的保险库 处于可恢复状态后已删除但未清除。如果 保险库处于可恢复状态,则保险库需要 在重用名称之前清除。有关软删除的更多信息 并清除保险库请点击此链接 https://go.microsoft.com/fwlink/?linkid=2147740.

所以我跑了这两个...

az keyvault list
az keyvault list-deleted

并且$keyVaultName 没有出现在这两个列表中。我已经请一位同事仔细检查这些结果,但它确实没有出现。我还查看了门户中的 Manage deleted vaults 刀片,它与 CLI 的结果相匹配 - 它不存在。

我还尝试recover 具有该名称的密钥保管库...

(DeletedVaultNotFound) 指定的已删除保管库“[$keyVaultName 的值]”不存在。

...和purge 具有该名称的密钥保管库...

找不到名称为 [$keyVaultName 的值] 的已删除 Vault 或 HSM

那么为什么 Azure 认为该名称已被使用?

【问题讨论】:

  • 它在 Clouds 租户中是独一无二的
  • 这意味着密钥保管库的名称应该是全球唯一的。如果我在订阅中创建了名为“mykeyvault”的密钥保管库,则您无法在订阅中创建同名的密钥保管库。

标签: azure azure-keyvault azure-cli


【解决方案1】:

正如评论中所提供的,与 Azure 中的存储帐户类似,keyvault 在全球范围内也是独一无二的。您可以从docs查看类似的错误代码,

您尝试创建具有指定名称的新密钥保管库 失败,因为该名称已在使用中。如果您最近删除了密钥 具有此名称的保管库,它可能仍处于软删除状态

保管库名称和托管 HSM 池名称由用户选择,并且 是全球唯一的。

您可以使用PowershellRest API 验证存在

【讨论】:

    【解决方案2】:

    当您创建 azure keyvault 时,默认情况下会启用软删除功能,这有助于客户恢复在 90 天内(默认)意外删除的密钥和机密,并且在该时间段内,您无法创建另一个具有相同名称的 keyvault就这样。

    为 Azure Key Vault 启用软删除后,您将无法禁用软删除,因为它是作为单向操作实现的,并且一旦启用就无法改回。但是,您可以使用带有选项 -InRemovedState 的 PowerShell cmdlet Remove-AzureRmKeyVault 命令并使用 -Location 指定已删除密钥保管库的位置strong> 永久删除或清除 Azure Key Vault 的参数。如果要永久删除密钥或机密,则需要使用 Remove-AzureKeyVaultKeyRemove-AzureKeyVaultSecret-InRemovedState 参数。详情请参考How to use Key Vault soft-delete with PowerShell

    您也可以使用 Azure CLI 实现相同的目的。详情请参考How to use Key Vault soft-delete with CLI

    【讨论】:

    • 感谢@AnsumanBal-MT,但正如我在开篇文章中提到的,我查看了已删除密钥库的列表,但未列出相关名称。因此之前没有删除密钥保管库。
    • 好的..理解..@awj 那么我建议您创建一个具有全球唯一名称的密钥库,该名称尚未被任何订阅中的任何人使用。我建议使用门户,因为它不允许在创建非全局唯一的密钥库时选择名称。
    • 谢谢!!!终于解决了我的问题。
    【解决方案3】:

    我找到了一种更简单的方法,即通过 UI,您可以检查已删除的密钥保管库是否在密钥保管库管理页面中。 单击“管理已删除的保管库”超链接后,我可以选择并清除或恢复已删除的密钥保管库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-13
      • 2021-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-05
      • 1970-01-01
      • 2020-10-19
      相关资源
      最近更新 更多