运行 逻辑应用程序的用户管理标识需要哪些权限

What permissions are required for a User Managed Identity to run a Logic App

我正在使用事件网格连接和逻辑应用程序,当满足特定条件时触发运行手册。

作为系统分配的托管身份,一切都运行良好。我转移到用户管理的身份,这是成功的。但是,只有在创建逻辑应用程序的资源组中将用户管理的身份添加为参与者时,它才会成功。

我需要将权限缩小到实际需要的范围,而不是让这个托管身份具有贡献者角色附带的 11k 权限。

如何确定我需要为此角色启用哪些权限才能使逻辑应用程序成功触发?

我能否利用跟踪 ID 获取有关触发器实际失败的更多信息? Trigger History 选项卡下的 Failed 消息并没有提供太多信息。

您可能正在寻找的是 Azure Resource Operation Providers.

的完整列表

从那里您可以查找 Azure Logic App 并查看可用的操作。所以很可能在这里你想要 Microsoft.Logic/workflows/triggers/run/action 和其他几个。

从那里,您可以尝试将其映射到现有 Azure built-in roles (maybe Logic App Operator ?) or you can even create your own custom role 以确保完美的最小特权原则。

编辑: 如果您选择单租户逻辑应用程序(标准 SKU),请务必记住 the architecture is running onto Functions runtime, so it might also shares some operation providers with that one, like Microsoft.Web/sites/hostruntime/host/action. In that case, Website Contributor 应该可以解决问题![​​= 16=]

好吧,Activity 日志中没有任何信息,正如@jul_DW 所推荐的,要找出让这个逻辑应用程序工作所需的权限有点困难。

由于这是一个由用户管理的身份触发并绑定到事件网格订阅的逻辑应用程序,我碰巧开始研究这些权限,从 EventGrid Subscription Contributor 角色开始。

但最终归结为缺少一个权限:Microsoft.EventGrid/eventSubscriptions/write

此外,当然,用户管理身份也需要 Microsoft.Logic/workflows/triggers/run/action 权限。