提问人:Jacek Czerniak 提问时间:11/3/2023 最后编辑:Jacek Czerniak 更新时间:11/9/2023 访问量:88
在管理组级别禁止权限的 Azure 策略
Azure policies prohibiting permissions at the management group level
问:
为了更有效地管理 Azure 平台上的权限,我被分配了具有多个订阅的管理组级别的“参与者”和“RBAC 管理员”权限。
但是,我希望能够继续仅在资源组/资源级别分配权限。
我设法创建了一个 Azure Policy,该 Policy 有效地在资源组/资源级别授予对它的访问权限,但仍然可以将权限分配给管理组本身。
有没有人遇到过这样的问题,可以提出可能的解决方案?
此致敬意 雅切克
该策略适用于 subscriptions/rg(禁止添加权限),但不适用于管理组:
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleAssignments"
},
{
"anyOf": [
{
"value": "[startsWith(field('Microsoft.Authorization/roleAssignments/scope'),concat(subscription().id,'/resourceGroups'))]",
"equals": "false"
},
{
"value": "[contains(field('Microsoft.Authorization/roleAssignments/scope'),'managementGroups')]",
"equals": "true"
}
]
}
]
},
"then": {
"effect": "Deny"
}
}
我尝试过没有 anyOf 中的第二条规则,但它仍然不起作用。
答:
0赞
Venkat V
11/7/2023
#1
我设法创建了一个 Azure Policy,该 Policy 有效地在资源组/资源级别授予对它的访问权限,但仍然可以将权限分配给管理组本身。
以下策略将拒绝该级别的角色分配,但允许资源组和订阅级别的角色分配。Management Group
注意:要防止在 中进行角色分配,请在 本身级别应用策略。
Management Group
Management Group
{
"mode": "All",
"policyRule": {
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleAssignments"
},
{
"not": {
"field": "Microsoft.Authorization/roleAssignments/principalId",
"exists": "false"
}
},
{
"anyOf": [
{
"value": "[contains(field('Microsoft.Authorization/roleAssignments/scope'), 'managementGroups/')]",
"equals": "false"
},
{
"value": "[startsWith(field('Microsoft.Authorization/roleAssignments/scope'), concat(subscription().id, '/resourceGroups/'))]",
"equals": "true"
}
]
}
]
},
"then": {
"effect": "Deny"
}
},
"parameters": {}
}
该策略检测到在管理组级别具有访问权限的人员存在不合规问题。
评论
0赞
Jacek Czerniak
11/8/2023
您好,感谢您的回答,但我仍然可以在组管理级别授予权限,并且我不想拥有此选项。我的目标是防止将权限分配给管理组。上述策略满足 3 个假设中的 2 个,我无法在订阅级别分配权限(这是正确的),我可以在资源组级别分配权限(这是正确的)。
0赞
Venkat V
11/8/2023
是否在管理组级别分配了策略?
0赞
Jacek Czerniak
11/8/2023
是的,我已在管理组级别设置了一个策略,用户对该策略具有参与者和 RBAC 管理员访问权限。
0赞
Venkat V
11/8/2023
租户中有多少个管理组?
0赞
Jacek Czerniak
11/8/2023
我在帖子中添加了管理组结构的屏幕截图。
评论