用于部署事件网格的 Azure devops 管道,其中包含来自 2 个不同 azure 订阅的资源

Azure devops pipeline for deploying event grid, which consist of resources from 2 different azure subscriptions

我有两个订阅:开发和生产。我想在开发订阅中的现有 azure account storage 上部署 event grid,但会触发产品订阅中的现有 azure function app。我有合适的 arm 模板,当我指向一个 azure subscription 中的资源时,它通常可以工作。当然,我在 azure devops 中有适当的分离服务原则和服务连接 (Azure Resource Manager) 用于部署资源。当我使用 prod 服务连接时,我对帐户存储的写访问有问题,当我使用开发服务连接时,我对 azure 函数的写访问有问题。

我能以某种方式省略它或以其他方式实现吗?

要解决此问题,您需要使用其服务主体对开发订阅和生产订阅都具有权限的服务连接。

例如,您使用 prod 服务连接,然后直接在门户中导航到开发 subscription/dev 订阅的存储帐户 -> 添加一个 RBAC role 例如Contributor 如下所示的服务主体。

您也可以使用开发服务连接,直接导航到产品 subscription/prod 订阅中的功能应用程序以像上面那样授予角色。或者您可以创建一个新的服务连接,授予这两个角色,这取决于您。