Политика Azure не запрещает создание пользовательских ролей - PullRequest
0 голосов
/ 05 февраля 2019

В настоящее время я помогаю расследовать принятие 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 и многочисленные примеры, доступные в Интернете, по-видимому, не содержат никакой информации об управлении ролями с помощью политик.

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

1 Ответ

0 голосов
/ 06 февраля 2019

Похоже, что 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"
  }
}
...