You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Logic App连接器策略抛出‘Property Immutable’错误的排查与解决

问题:配置Dataverse连接器访问策略时出现PropertyImmutable错误的原因及解决方法

问题场景

现有连接Dataverse的Logic App Standard实例,需配置Access Policy允许工作流使用该连接器,但添加Access Policy时触发错误,错误信息如下:

"errorCode: PropertyImmutable. Message: The property 'ConnectionAceStorageEntity.PrincipalId' is immutable."

错误原因

这个错误的核心触发点有两个:

  1. 访问策略名称重复:如果重复部署同名的Access Policy,Azure会尝试更新已存在的策略,但PrincipalId是访问策略的核心不可变属性,无法修改,因此抛出错误。
  2. 资源部署顺序问题:若Logic App的系统分配身份尚未完全创建完成,就尝试创建访问策略关联该身份,会导致Azure尝试写入未稳定的PrincipalId,触发不可变属性校验失败。

解决方案

1. 使用唯一的访问策略名称

确保每次部署的访问策略名称唯一,可将策略名称与Logic App实例名绑定,避免重复覆盖已有策略:

resource dataverseAccessPolicy 'Microsoft.Web/connections/accessPolicies@2016-06-01' = {
  name: '${DataversePolicyName}-${LogicAppSiteName}'
  parent: DataverseConnection
  location: LogicAppLocation
  properties: {
    principal: {
      type: 'ActiveDirectory'
      identity: {
        tenantId: subscription().tenantId
        objectId: LogicAppSite.identity.principalId
      }
    }
  }
}

2. 添加显式依赖确保身份创建完成

在访问策略资源中添加对Logic App的显式依赖,确保系统分配身份已生成后再创建访问策略:

resource dataverseAccessPolicy 'Microsoft.Web/connections/accessPolicies@2016-06-01' = {
  name: DataversePolicyName
  parent: DataverseConnection
  location: LogicAppLocation
  dependsOn: [LogicAppSite] // 强制等待Logic App创建完成,确保身份可用
  properties: {
    principal: {
      type: 'ActiveDirectory'
      identity: {
        tenantId: subscription().tenantId
        objectId: LogicAppSite.identity.principalId
      }
    }
  }
}

3. 清理已有冲突策略

如果之前已部署过同名的访问策略,先在Azure门户中找到该Dataverse连接器的访问策略列表,删除冲突的策略后,再重新部署Bicep模板。


内容的提问来源于stack exchange,提问作者tomab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 19:53:11