如何在不授予整个订阅所有权的情况下部署ARM模板?

时间:2019-10-08 11:04:38

标签: azure

我想使用服务主体将单个ARM模板部署到我们的Azure帐户。

我找不到有关如何授予尽可能少的特权的文档,但是看来完成此工作的唯一方法是在订阅授予贡献者

是否有一种方法可以限制我的服务主体的角色,使其仅部署 ARM模板,或者至少将其限制为单个资源组?

2 个答案:

答案 0 :(得分:2)

实际上,对于每个模板,您可以通过查看模板来找出最小可能的权限,它们就是资源类型+ / write。以及创建部署Microsoft.Resources/deployments/write的权限。

,但只给人员提供资源组确实很容易。如果您担心安全性,可以在Azure AD中使用Privileged Identity Management

答案 1 :(得分:0)

在资源组下的访问控制(IAM)部分中,您可以将创建的服务原理设为“贡献者”。这样可以确保该用户只能在该资源组内部署资源。这样,帐户不需要订阅级别的任何权限。

转到“访问控制”部分时,单击“添加”,然后选择“添加角色分配” enter image description here

在显示的面板中,您可以选择角色“ Contributer”并查找您创建的服务原理。 然后点击“保存”以完成操作,您应该一切顺利

我倾向于在每个环境的DevOps中建立服务连接(使用单独的服务原理),这使您可以触摸哪些资源,并防止由于输入错误的资源组名称而使人们意外地从管道部署到错误的位置。