在ARM模板中,可以使用parameters参数来定义keyvault访问策略内部对象参数。下面是一个示例:
"parameters": {
"keyVaultName": {
"type": "string",
"metadata": {
"description": "Key Vault name"
}
},
"secretPermissions": {
"type": "array",
"defaultValue": ["get"],
"metadata": {
"description": "List of secret permissions"
}
},
"certificatePermissions": {
"type": "array",
"defaultValue": ["get"],
"metadata": {
"description": "List of certificate permissions"
}
}
},
"resources": [
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"apiVersion": "2019-09-01",
"name": "[concat(parameters('keyVaultName'), '/add')]",
"properties": {
"accessPolicies": [
{
"tenantId": "[subscription().tenantId]",
"objectId": "[parameters('objectId')]",
"permissions": {
"secrets": "[parameters('secretPermissions')]",
"certificates": "[parameters('certificatePermissions')]"
}
}
]
}
}
]
在上面的示例中,我们定义了三个参数:keyVaultName
,secretPermissions
和certificatePermissions
。然后,我们在resources
部分使用这些参数来设置keyvault访问策略的属性。
注意,在这个示例中,我们假设objectId
参数已经在其他地方定义,并且secretPermissions
和certificatePermissions
参数默认值分别为["get"]
。
通过这种方式,你可以在ARM模板中使用参数来灵活地配置keyvault访问策略的内部对象参数。