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

如何向Azure Key Vault批量添加多个密钥?

Azure Key Vault 批量添加密钥最优方案

以下三种方案均支持批量添加50个密钥,无需手动在Portal操作,也不需要逐个编写执行添加命令:


方案1:PowerShell 批量导入(最适合已有本地密钥文件/密钥清单的场景)

思路:将所有密钥的基础信息整理为CSV清单,通过循环逻辑批量执行添加命令

  • 第一步:准备密钥清单文件key-list.csv,参考格式如下:
KeyName,KeyType,RsaKeySize,Enabled
api-encryption-key,RSA,2048,True
db-auth-key,RSA,4096,True
service-jwt-sign-key,EC,256,True
# 剩下的47个密钥按相同格式补充到文件即可
  • 第二步:执行批量导入脚本,提前确保已安装Az.KeyVault模块:Install-Module -Name Az.KeyVault -Force
# 替换为你的Key Vault实际名称
$keyVaultName = "your-key-vault-name"
# 读取本地密钥清单
$keyList = Import-Csv -Path "./key-list.csv"

foreach ($key in $keyList) {
    Add-AzKeyVaultKey -VaultName $keyVaultName `
    -Name $key.KeyName `
    -KeyType $key.KeyType `
    -KeySize $key.RsaKeySize `
    -Enabled ([bool]::Parse($key.Enabled))
    Write-Host "密钥 $($key.KeyName) 已添加完成"
}

如果是导入已有的外部密钥文件(如.pem格式),将循环内的命令替换为Import-AzKeyVaultKey即可。


方案2:Bicep/ARM模板批量部署(适合基础设施即代码管理场景)

思路:在模板中定义密钥数组,通过循环语法一次生成所有密钥资源,可和Key Vault本身统一版本管理
参考Bicep模板示例:

param keyVaultName string = 'your-key-vault-name'
// 直接在数组中补充所有密钥参数即可
param keys array = [
  {
    name: 'api-encryption-key'
    kty: 'RSA'
    keySize: 2048
    enabled: true
  }
  {
    name: 'db-auth-key'
    kty: 'RSA'
    keySize: 4096
    enabled: true
  }
]

// 引用已存在的Key Vault
resource keyVault 'Microsoft.KeyVault/vaults@2023-02-01' existing = {
  name: keyVaultName
}

// 循环批量创建密钥
resource keyVaultKeys 'Microsoft.KeyVault/vaults/keys@2023-02-01' = [for key in keys: {
  parent: keyVault
  name: key.name
  properties: {
    kty: key.kty
    keySize: key.keySize
    enabled: key.enabled
  }
}]

执行部署命令即可完成所有密钥的批量添加:az deployment group create --resource-group 你的资源组名称 --template-file ./keyvault-keys.bicep


方案3:Azure CLI 批量脚本(适合偏好跨平台命令行的场景)

逻辑和PowerShell方案一致,将密钥清单存储为JSON格式,通过bash循环批量调用CLI命令即可,参考示例:

key_vault_name="your-key-vault-name"
# 读取本地密钥清单JSON
keys=$(cat ./keys.json | jq -c '.[]')

for key in $keys; do
  key_name=$(echo $key | jq -r '.name')
  key_type=$(echo $key | jq -r '.kty')
  key_size=$(echo $key | jq -r '.key_size')
  az keyvault key create --vault-name $key_vault_name --name $key_name --kty $key_type --size $key_size
  echo "密钥 $key_name 已添加完成"
done

注意事项

  • 操作前确认你对目标Key Vault持有Key Contributor或更高的密钥创建权限
  • 批量添加前建议先在测试Key Vault验证脚本/模板逻辑,避免生成无效密钥
  • 若为导入外部敏感密钥,不要将明文密钥存储在本地清单文件中,操作完成后及时清理本地敏感文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 10:30:02