我认为托管服务标识是一个伟大的概念,我喜欢keyvault.然而:
当我使用增量资源组部署使用脚本时:
为简洁起见,修改了样本
{
"type": "Microsoft.KeyVault/vaults",
"name": "[parameters('keyvaultName')]",
"apiVersion": "2015-06-01",
"properties": {
"accessPolicies": [
{
"objectId": "[reference(parameters('functionAppName'), '2016-08-01', 'Full').identity.principalId]",
"permissions": {
"keys": [],
"secrets": [
"Get"
]
}
}
]
},
"dependsOn": [
"[resourceId('Microsoft.Web/sites', parameters('functionAppName'))]"
]
},
{
"apiVersion": "2016-08-01",
"type": "Microsoft.Web/sites",
"name": "[parameters('functionAppName')]",
"kind": "functionapp",
"identity": {
"type": "SystemAssigned"
},
}
Run Code Online (Sandbox Code Playgroud)
它成功部署并将MSI添加到keyvault,但是 -
它吹走了已经分配的访问策略.arm是否可以保留accessPolicies并仅添加/更新匹配的策略?
如果没有这个,就不可能使用MSI完全编写部署脚本,并将主体分配给keyvault.
我错过了什么吗?