我的目标是部署一个具有系统管理标识和该标识的角色分配的逻辑应用。优选地,这在一个 ARM 模板中完成。
我的设置第一次运行失败,但连续运行成功。如果我错了,请纠正我,但我认为其原因是角色分配的部署发生在逻辑应用的托管标识“准备好”之前,因此我第一次部署时收到以下错误模板。第二次部署模板时,我没有收到此错误,可能是因为当时身份已经存在。
{
"code": "DeploymentFailed",
"message": "At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.",
"details": [
{
"code": "PrincipalNotFound",
"message": "Principal *** does not exist in the directory ***."
}
]
}
Run Code Online (Sandbox Code Playgroud)
我的模板(为简洁起见删除了逻辑应用定义)。在这种情况下,逻辑应用的标识需要访问位于另一个资源组中的存储帐户。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"logicAppName": {
"type": "string"
},
"storageAccountResourceGroup": {
"type": "String"
},
"storageAccountName": {
"type": "String"
}
},
"variables": {
"logicAppResourceId": "[resourceId('Microsoft.Logic/workflows', parameters('logicAppName'))]",
"Storage Blob Data Contributor": …Run Code Online (Sandbox Code Playgroud)