You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过PowerShell触发Azure Key Vault密钥轮换策略执行密钥轮换

Azure Key Vault密钥立即轮换的正确PowerShell实现

你的脚本无法正常工作的原因是**Update-AzKeyVaultKey搭配-KeyVersion参数的作用是修改已有密钥版本的属性**,并非触发密钥轮换生成新版本。在已有轮换策略的前提下,要执行立即轮换,需使用专门的Invoke-AzKeyVaultKeyRotation命令。

修正后的脚本

# Install the Azure PowerShell module if not already installed
# Install-Module -Name Az -Force -AllowClobber -Scope CurrentUser

# Sign in to Azure (use 'Connect-AzAccount' and provide credentials if not signed in)
# Connect-AzAccount

# Variables
$KeyVaultName = "my-kv"

# Get all keys in the Key Vault
$keys = Get-AzKeyVaultKey -VaultName $KeyVaultName

foreach ($key in $keys) {
    # 检查密钥是否已配置轮换策略(可选,确保符合前提)
    $keyPolicy = Get-AzKeyVaultKeyRotationPolicy -VaultName $KeyVaultName -KeyName $key.Name
    if ($null -ne $keyPolicy) {
        # 触发立即轮换,生成新密钥版本
        $newKeyVersion = Invoke-AzKeyVaultKeyRotation -VaultName $KeyVaultName -KeyName $key.Name
        Write-Host "密钥[$($key.Name)]轮换完成,新版本:$($newKeyVersion.KeyIdentifier.Version)"
    } else {
        Write-Host "密钥[$($key.Name)]未配置轮换策略,跳过轮换"
    }
}

Write-Host "所有密钥轮换操作已完成"

关键说明

  • Invoke-AzKeyVaultKeyRotation命令会直接触发密钥的立即轮换,生成新的密钥版本,同时保留旧版本(除非配置了版本自动清理规则)。
  • 执行该操作需要账号拥有Key Vault Crypto Officer或Key Vault Contributor等具备密钥轮换权限的角色。
  • 如果密钥未配置轮换策略,该命令也能触发轮换,但如果你只需要处理已有策略的密钥,脚本中的检查逻辑可以帮你过滤掉不符合条件的密钥。

内容的提问来源于stack exchange,提问作者learner

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 05:45:02