如何向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
相关产品推荐
相关产品推荐

