【问题标题】:Upgrade Azure Key Vault to Premium SKU将 Azure Key Vault 升级到高级 SKU
【发布时间】:2021-10-29 18:56:06
【问题描述】:

我有一个当前使用标准软件加密的现有 Azure Key Vault,我想将此保管库升级到具有 HSM 的高级层。我知道创建一个支持 HSM 的保管库是这样完成的:

New-AzureRmKeyVault -VaultName 'ContosoKeyVaultHSM' -ResourceGroupName 'ContosoResourceGroup' -Location 'East Asia' -SKU 'Premium'

但是可以升级已经存在的保险库吗?我不一定想将我所有的秘密复制到另一个保险库。我不想将现有机密从软件加密移植到 HSM,但我想向现有保管库添加新的 HSM 功能,这样我就不必运行两个保管库。支持吗?

【问题讨论】:

    标签: azure-keyvault


    【解决方案1】:

    可以更改现有保管库的 SKU:

    $vault = Find-AzureRmResource -ResourceName myvault -ResourceType Microsoft.KeyVault/vaults -ExpandProperties
    $vault.Properties.sku.name = 'premium'
    Set-AzureRmResource -ResourceId $vault.ResourceId -Tags $vault.Tags -Properties $vault.Properties
    

    【讨论】:

    • -ResourceName 参数已折旧,改用-ResourceNameEquals
    • 这行得通吗?软删除有什么影响?如果我在 Powershell 中更新,10 分钟后看不到 GUI 更新。
    【解决方案2】:

    如果有人想知道 az CLI 的效果如何:

    az keyvault update --set properties.sku.name=premium --name <vaultname> --resource-group <rgname>
    

    【讨论】:

      【解决方案3】:

      没有更改 SKU 的命令,但您可以使用 Set-AzureRmResource cmdlet 更改资源。

      PS C:\> $vaultResourceID = "subscriptions/<GUID>/resourceGroups/VaultResources/providers/Microsoft.KeyVault/vaults/<yourvaultname>
      PS C:\> $vault.Properti"
      PS C:\> $vault = Get-AzureRmResource -ResourceId $vaultResourceID
      PS C:\> $vault.Properties.sku.name
      standard
      PS C:\> $vault.Properties.sku.name = 'premium'
      PS C:> Set-AzureRmResource -ResourceId $vaultResourceID -Properties $vault.Properties
      

      【讨论】:

        【解决方案4】:
         Login-AzAccount
               $vaultResourceId = (Get-AzureRMKeyVault -VaultName "AzIdentity").ResourceId
               $vault = Get-AzureRmResource -ResourceId $vaultResourceId -ExpandProperties
               $vault.Properties.sku.name = "Premium" # or "Standard"
               Set-AzureRMResource -ResourceId $vaultResourceId -Properties $vault.Properties
        

        【讨论】:

          【解决方案5】:

          这是我使用新的 Azure Powershell 运行的命令

          $vault = Get-AzResource -ResourceName "my-kv" -ResourceGroupName "my-rg" -ResourceType Microsoft.KeyVault/vaults -ExpandProperties
          $vault.Properties.sku.name = 'Premium'
          Set-AzResource -ResourceId $vault.ResourceId -Tags $vault.Tags -Properties $vault.Properties
          

          【讨论】:

            猜你喜欢
            • 2017-12-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2019-01-01
            • 2019-07-28
            • 2021-06-28
            相关资源
            最近更新 更多