【发布时间】:2019-03-19 16:31:07
【问题描述】:
当我为 azure keyvault 部署我的 ARM 模板时,我收到了此错误消息。
"error": {
"code": "BadRequest",
"message": "An invalid value was provided for 'accessPolicies'."
}
我的模板:
{
"type": "Microsoft.KeyVault/vaults",
"name": "[parameters('keyVaultName')]",
"apiVersion": "2016-10-01",
"location": "[parameters('location')]",
"properties": {
"enabledForDeployment": "[parameters('enableVaultForDeployment')]",
"enabledForDiskEncryption": "[parameters('enableVaultForDiskEncryption')]",
"enabledForTemplateDeployment": "[parameters('enabledForTemplateDeployment')]",
"tenantId": "[parameters('tenantId')]",
"accessPolicies": [],
"sku": {
"name": "[parameters('skuName')]",
"family": "A"
}
}
},
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(parameters('keyVaultName'), '/add')]",
"apiVersion": "2018-02-14",
"dependsOn": [
"[resourceId('Microsoft.KeyVault/vaults', parameters('keyVaultName'))]"
],
"properties": {
"copy": [
{
"name": "accessPolicies",
"count": "[length(parameters('ObjectPolicies'))]",
"input": {
"tenantId": "[parameters('ObjectPolicies')[copyIndex('accessPolicies')].tenantId]",
"objectId": "[parameters('ObjectPolicies')[copyIndex('accessPolicies')].objectId]",
"permissions": {
"keys": "[parameters('ObjectPolicies')[copyIndex('accessPolicies')].permissions.keys]",
"secrets": "[parameters('ObjectPolicies')[copyIndex('accessPolicies')].permissions.secrets]"
}
}
}
]
}
}
我的参数文件:
"ObjectPolicies": {
"value": [
{
"tenantId": "xxxxx",
"objectId": "xxxxx",
"permissions": {
"keys": [
"all"
],
"secrets": [
"all"
]
}
},
我想在一个对象内创建一个具有多个访问策略的 Keyvault,以便对我的参数有一个很好的了解。而不是 objectID1、objectId2、objectId 3。 试图从here 上复制这个好答案的答案。 看来我的设置与 4c74356b41 相同,但仍有错误消息。
This SO question 也有相同的错误消息,但他似乎没有为他的问题添加答案。
【问题讨论】:
-
嘿,如果您临时删除第二个资源(“Microsoft.KeyVault/vaults/accessPolicies”)怎么办?错误消失了吗?你的循环对我来说很好
-
如果我删除第二个资源,错误确实消失了。第二个资源是在我将循环放置在访问策略下的 keyvault 资源中之后,我想可能将循环放置在新的资源手镯中。也许这根本不是做事的方式。但我想要一种有效的方式将策略添加到我的密钥库
标签: azure powershell arm-template