【发布时间】:2019-08-30 11:18:42
【问题描述】:
我正在寻找确定是否为给定密钥保管库设置了任何访问策略,并将其用作模板中的条件。如果没有,我想创建访问策略,否则应该跳过创建。我怎样才能做到这一点?以下是我现在得到的,没有条件表达式。
{
"comments": "Create an Azure Key Vault and add an access policy in the key vault for the webb app.",
"type": "Microsoft.KeyVault/vaults",
"name": "[parameters('KeyVaultName')]",
"apiVersion": "2018-02-14",
"location": "[resourceGroup().location]",
"properties": {
"enabledForDeployment": false,
"enabledForTemplateDeployment": false,
"enabledForVolumeEncryption": false,
"tenantId": "[reference(variables('identity_resource_id'), '2018-11-01', 'Full').identity.tenantId]",
"accessPolicies": [
{
"tenantId": "[reference(variables('identity_resource_id'), '2018-11-01', 'Full').identity.tenantId]",
"objectId": "[reference(variables('identity_resource_id'), '2018-11-01', 'Full').identity.principalId]",
"permissions": {
"secrets": [ "get", "list" ]
}
}
],
"sku": {
"name": "standard",
"family": "A"
}
},
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', variables('webSiteName'))]"
]
},
【问题讨论】:
-
为什么要这样做?虽然我知道 ARM 模板中的访问策略的一个主要缺点是您必须定义整个集合,因为它会覆盖所有现有的。也许这就是你遇到的问题?
-
您可以使用 Azure PowerShell 检查现有密钥,然后使用 ARM 创建您需要的额外密钥。
标签: azure azure-keyvault arm-template