【发布时间】:2019-06-28 09:20:54
【问题描述】:
我经常在 ARM 的模板参数文件中使用密钥库引用来安全地传入机密。
现在,我尝试传入一个 keyvault 引用的对象数组,而不是使用单个 keyvaulted 参数。不幸的是,这不起作用。背景信息:我正在尝试从主密钥库部署/派生辅助密钥库,并传输/复制一些条目。
为此,在我的模板中部署以下资源:
{
"type": "Microsoft.KeyVault/vaults",
"name": "my-new-sub-vault",
"apiVersion": "2015-06-01",
"location": "[resourceGroup().location]",
"properties": {
"enabledForDeployment": "false",
"enabledForTemplateDeployment": "false",
"enabledForVolumeEncryption": "false",
"tenantId": "[subscription().tenantId]",
"accessPolicies": [
{
"tenantId": "[subscription().tenantId]",
"objectId": "[parameters('msiObjectId')]",
"permissions": {
"keys": ["get", "list"],
"secrets": ["get", "list"]
}
}
],
"sku": {
"name": "Standard",
"family": "A"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/secrets",
"name": "[concat('my-new-sub-vault', '/', parameters('secretsObject').secrets[copyIndex()].secretName)]",
"apiVersion": "2015-06-01",
"properties": {
"value": "[parameters('secretsObject').secrets[copyIndex()].secretValue]"
},
"dependsOn": [
"[concat('Microsoft.KeyVault/vaults/my-new-sub-vault')]"
],
"copy": {
"name": "secretsCopy",
"count": "[length(parameters('secretsObject').secrets)]"
}
}
我的语法有错误吗?或者这不可能?
抛出的错误是
New-AzResourceGroupDeployment:16:25:54 - 资源 Microsoft.KeyVault/vaults/secrets 'my-new-sub-vault/my-secret' 失败并显示消息 '{ "error": { "code": "BadRequest", "message": "秘密丢失" } }'
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"secretsObject": {
"value": {
"secrets": [
...,
{
"secretName": "my-secret",
"secretValue": {
"reference": {
"keyVault": {
"id": "/subscriptions/subId/resourceGroups/main/providers/Microsoft.KeyVault/vaults/master-vault"
},
"secretName": "my-secret"
}
}
}
]
}
}
}
}
干杯
【问题讨论】:
标签: azure-resource-manager azure-keyvault