Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure策略不拒绝自定义角色创建_Azure_Rbac_Azure Security_Azure Policy_Azure Rbac - Fatal编程技术网

Azure策略不拒绝自定义角色创建

Azure策略不拒绝自定义角色创建,azure,rbac,azure-security,azure-policy,azure-rbac,Azure,Rbac,Azure Security,Azure Policy,Azure Rbac,我目前正在帮助调查将Azure应用于我组织的公共云。分配给我的任务之一是锁定帐户,以防止用户能够提升其在订阅中的权限 我特别感兴趣的一件事是拒绝创建自定义角色,因为我们不希望人们在安全部门审查角色需求之前开始创建自己的角色 我一直试图通过一个具有以下定义的Azure策略来实现这一点 { "if": { "allOf": [ { "field": "type", "equals": "Microsoft.Authorization/roleD

我目前正在帮助调查将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文档和在线提供的众多示例似乎没有任何关于使用策略控制角色的信息

附言。
我知道,您可以通过策略在某种程度上控制角色,因为我们有另一个策略,该策略可以防止发生特定角色集的分配,并且确实有效。

看起来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"
  }
}

看起来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"
  }
}

退后一步,不给任何人所有者权限(他们不能修改参与者的权限)如何?退后一步,不给任何人所有者权限(他们不能修改参与者的权限)如何?但是,如何才能创建特定自定义角色的“白名单”,即,创建具有预定义名称的角色(拒绝创建除角色“自定义参与者”之外的所有自定义角色)?@Yadrick这是一个新主题,并包括到目前为止您尝试过的研究和故障排除步骤。但是,如何将要创建的特定自定义角色“白名单”,即使用预定义名称创建角色(拒绝创建除角色“自定义贡献者”之外的所有自定义角色)?@Yadrick这是一个新主题,并包括您迄今为止尝试过的研究和故障排除步骤。