Политика Azure не запрещает создание настраиваемой роли

В настоящее время я помогаю исследовать возможность внедрения Azure в общедоступное облако моей организации. Одна из задач, которые мне поставили, - заблокировать учетные записи, чтобы пользователи не могли повышать свои разрешения в рамках подписки.

Одна из вещей, которые меня особенно интересуют, - это отказ от создания настраиваемых ролей, поскольку мы не хотим, чтобы люди начинали создавать свои собственные роли до тех пор, пока необходимость в роли не будет проверена службой безопасности.

Я пытался сделать это с помощью политики Azure со следующим определением

{
  "if": {
    "allOf": [
      {
        "field": "type",
        "equals": "Microsoft.Authorization/roleDefinitions"
      },
      {
        "field": "Microsoft.Authorization/roleDefinitions/type",
        "equals": "CustomRole"
      }
    ]
  },
  "then": {
    "effect": "Deny"
  }
}

На самом деле это была просто скопированная встроенная политика «Аудит настраиваемых ролей» и изменение эффекта с «Аудит» на «Запретить».

Однако я применил эту политику к группе управления, которая содержит подписку, с которой я тестирую, и тем не менее, когда я вхожу в интерфейс командной строки и пытаюсь создать новую настраиваемую роль, она продолжает работу и создает роль.

Я убедился, что политика присутствует в подписке, и я подтвердил, что я использую правильную подписку в интерфейсе командной строки (используя az account show), но мне все еще разрешено создавать собственные роли.

Это просто не то, что Azure поддерживает, или мне что-то еще не хватает? Любая помощь или руководство будут очень благодарны, поскольку в документации Microsoft и многочисленных примерах, доступных в Интернете, похоже, нет никакой информации о контроле ролей с помощью политик.

P.S. Я знаю, что вы можете до некоторой степени контролировать роли с помощью политик, поскольку у нас есть другая политика, которая предотвращает назначение определенного набора ролей, и это действительно работает.


person hpoe    schedule 05.02.2019    source источник
comment
как насчет того, чтобы сделать шаг назад и просто не давать никому разрешения владельца (они не могут изменять разрешения с участником)?   -  person 4c74356b41    schedule 06.02.2019


Ответы (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"
  }
}
person sapphiremirage    schedule 06.02.2019
comment
работает, однако, как вы можете внести в белый список определенные настраиваемые роли, которые должны быть созданы, то есть создание роли с предопределенным именем (запретить все создание настраиваемых ролей, кроме роли Custom-Contributor)? - person Yadrick; 14.06.2020
comment
@Yadrick Это новая тема. Пожалуйста, откройте новый вопрос и опишите действия по исследованию и устранению неполадок, которые вы уже пробовали. - person sapphiremirage; 16.06.2020