我目前正在帮助调查组织的公共云采用Azure的情况。我已被分配的任务之一是锁定帐户,以防止用户能够提升其在订阅中的权限。
我特别感兴趣的一件事是拒绝创建自定义角色,因为我们不希望人们在安全性审查过对该角色的需求之前就开始创建自己的角色。
我一直试图通过具有以下定义的Azure策略来做到这一点
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleDefinitions"
},
{
"field": "Microsoft.Authorization/roleDefinitions/type",
"equals": "CustomRole"
}
]
},
"then": {
"effect": "Deny"
}
}
实际上只是复制了内置的“审核自定义角色”策略,并将效果从“审核”更改为“拒绝”
但是,我已将此策略应用于包含要测试的订阅的管理组,但是当我登录CLI并尝试创建新的自定义角色时,它将继续并创建该角色。
我确保订阅中包含该策略,并且已经确认我在CLI中处于正确的订阅中(使用az account show
),但仍然可以创建自定义角色。
这仅仅是Azure所不支持的东西,还是我还缺少其他东西?任何帮助或指导都将不胜感激,因为Microsoft文档和在线上提供的大量示例似乎都没有任何有关通过策略控制角色的信息。
P.S。 我知道您可以通过策略在某种程度上控制角色,因为我们还有另一种策略可以阻止分配某些角色并且这种设置确实有效。
答案 0 :(得分:1)
Azure CLI似乎在不填充“类型”字段的情况下创建了角色定义。以下政策将解决此问题:
{
"if": {
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleDefinitions"
},
{
"anyOf": [
{
"field": "Microsoft.Authorization/roleDefinitions/type",
"equals": "CustomRole"
},
{
"field": "Microsoft.Authorization/roleDefinitions/type",
"exists": "false"
}
]
}
]
},
"then": {
"effect": "Deny"
}
}