将 Azure 策略定义部署到管理组权限

时间:2021-04-21 18:28:24

标签: azure azure-devops devops azure-policy

我正在尝试将一些策略定义部署到管理组,但是我遇到了授权错误。

我通过 Azure devops 运行 Azure PowerShell 脚本并利用 New-AzPolicyDefinition -ManagementGroupName cmdlet 来完成此操作。

此管道配置了到服务主体的服务连接,目前使用资源策略贡献者,但我也尝试过管理组贡献者、贡献者和所有者

有谁知道为什么我不允许这样做以及需要什么样的权限?

谢谢

3 个答案:

答案 0 :(得分:0)

对于管理组范围的写入访问权限,您将需要 RBAC 角色为:目标管理组的所有者、贡献者、管理组贡献者。

您可以参考 this 文档。

确保您使用的是实际名称,而不是管理组的“显示名称”

答案 1 :(得分:0)

我可以重现您的问题:<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/datepicker/1.0.10/datepicker.min.css" integrity="sha512-YdYyWQf8AS4WSB0WWdc3FbQ3Ypdm0QCWD2k4hgfqbQbRCJBEgX0iAegkl2S1Evma5ImaVXLBeUkIlP6hQ1eYKQ==" crossorigin="anonymous" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crossorigin="anonymous" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/datepicker/1.0.10/datepicker.min.js" integrity="sha512-RCgrAvvoLpP7KVgTkTctrUdv7C6t7Un3p1iaoPr1++3pybCyCsCZZN7QEHMZTcJTmcJ7jzexTO+eFpHk4OCFAg==" crossorigin="anonymous"></script> <button class="btn-change" id="picker"> <i class="fas fa-calendar-alt"></i> </button>

它对我有用,这是我的步骤:

1.创建管理组:

enter image description here

2.创建服务连接,在Azure DevOps服务连接中点击Manage Service Principal选项:

enter image description here

3.复制显示名称(我的值看起来像 OrgName-ProjectName-SubscriptionID。我发现你的和我的有点不同): enter image description here

4.为管理组中的显示名称添加角色分配(所有者或资源策略参与者)。我可以在这里找到两个结果并将它们都添加了: enter image description here

5.这是我对 Azure Pipeline 的配置: enter image description here

答案 2 :(得分:0)

答案最终是我的管理组 ID 与我的管理组名称不同。在与微软确认这一点后,cmdlet 要求提供 ID 而不是名称,这已解决,并确认他们的文档和他们所知道的内容缺乏清晰度