Использование политики брандмауэра Azure для определения иерархии правил

Администраторам безопасности необходимо управлять брандмауэрами и обеспечивать соответствие требованиям при локальном и облачном развертывании. Ключевым компонентом является возможность предоставить командам приложений гибкость для реализации конвейеров CI/CD для автоматического создания правил брандмауэра.

Политика брандмауэра Azure позволяет определять иерархию правил и обеспечивать соответствие:

  • Предоставляет иерархическую структуру для наложения центральной базовой политики поверх политики группы дочерних приложений. Базовая политика имеет более высокий приоритет и выполняется перед дочерней политикой.
  • Используйте определение настраиваемой роли Azure, чтобы предотвратить случайное удаление базовой политики и предоставить выборочный доступ к группам сбора правил в подписке или группе ресурсов.

Обзор решения

Шаги высокого уровня для этого примера:

  1. Создайте базовую политику брандмауэра в группе ресурсов группы безопасности.
  2. Определите правила безопасности ИТ в базовой политике. Это добавляет общий набор правил для разрешения/запрета трафика.
  3. Создайте групповые политики приложений, наследующие базовую политику.
  4. Определите правила для группы приложений в политике. Вы также можете перенести правила из уже существующих межсетевых экранов.
  5. Создайте пользовательские роли Microsoft Entra, чтобы обеспечить точный доступ к группе коллекций правил и добавить роли в область политики брандмауэра. В следующем примере члены группы продаж могут редактировать группы сбора правил для политики брандмауэра групп продаж. То же самое относится к командам базы данных и инженерии.
  6. Свяжите политику с соответствующим брандмауэром. Брандмауэру Azure может быть назначена только одна политика. Это требует, чтобы каждая команда разработчиков имела собственный брандмауэр.

Teams and requirements

Создайте политики брандмауэра

  • Базовая политика межсетевого экрана.

Создайте политики для каждой из групп приложений:

  • Политика брандмауэра продаж. Политика брандмауэра продаж наследует базовую политику брандмауэра.
  • Политика брандмауэра базы данных. Политика брандмауэра базы данных наследует базовую политику брандмауэра.
  • Политика инженерного брандмауэра. Политика инженерного брандмауэра также наследует базовую политику брандмауэра.

Policy hierarchy

Создание настраиваемых ролей для доступа к группам сбора правил

Пользовательские роли определены для каждой группы приложений. Роль определяет операции и объем. Группам приложений разрешено редактировать группы сбора правил для своих соответствующих приложений.

Используйте следующую высокоуровневую процедуру для определения пользовательских ролей:

  1. Получите подписку.

    Select-AzSubscription -SubscriptionId xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx

  2. Выполните следующую команду.

    Get-AzProviderOperation "Microsoft.Support/*" | FT Operation, Description -AutoSize

  3. Используйте команду Get-AzRoleDefinition для вывода роли читателя в формате JSON.

    Get-AzRoleDefinition -Name "Reader" | ConvertTo-Json | Out-File C:\CustomRoles\ReaderSupportRole.json

  4. Откройте в редакторе файл ReaderSupportRole.json.

    Ниже приведены выходные данные JSON. См. дополнительные сведения о различных свойствах настраиваемых ролей.

   {
     "Name": "Reader",
     "Id": "acdd72a7-3385-48ef-bd42-f606fba81ae7",
     "IsCustom": false,
     "Description": "Lets you view everything, but not make any changes.",
     "Actions": [
      "*/read"
     ],
     "NotActions": [],
     "DataActions": [],
     "NotDataActions": [],
     "AssignableScopes": [
       "/"
     ]
   }
  1. Измените JSON-файл, чтобы добавить

    */read", "Microsoft.Network/*/read", "Microsoft.Network/firewallPolicies/ruleCollectionGroups/write

    к свойству Actions. Не забудьте включить запятую после операции чтения. Это действие позволяет пользователю создавать и обновлять группы сбора правил.

  2. В AssignableScopes добавьте идентификатор подписки со следующим форматом. 

    /subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx

    Необходимо добавить явные идентификаторы подписок. В противном случае вы не можете импортировать роль в подписку.

  3. Удалите строку свойства Id и измените значение свойства IsCustom на true.

  4. Измените значения свойств Name и Description на AZFM Rule Collection Group Author (Автор группы сбора правил AZFM) и Users in this role can edit Firewall Policy rule collection groups (Пользователи с этой ролью могут редактировать группы коллекции правил политики брандмауэра).

Ваш файл JSON должен выглядеть примерно так:

{

    "Name":  "AZFM Rule Collection Group Author",
    "IsCustom":  true,
    "Description":  "Users in this role can edit Firewall Policy rule collection groups",
    "Actions":  [
                    "*/read",
                    "Microsoft.Network/*/read",
                     "Microsoft.Network/firewallPolicies/ruleCollectionGroups/write"
                ],
    "NotActions":  [
                   ],
    "DataActions":  [
                    ],
    "NotDataActions":  [
                       ],
    "AssignableScopes":  [
                             "/subscriptions/xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxx"]
}
  1. Чтобы создать настраиваемую роль, используйте команду New-AzRoleDefinition и укажите файл определения роли JSON.

    New-AzRoleDefinition -InputFile "C:\CustomRoles\RuleCollectionGroupRole.json

Вывод списка настраиваемых ролей

Чтобы перечислить все настраиваемые роли, можно использовать команду Get-AzRoleDefinition:

Get-AzRoleDefinition | ? {$_.IsCustom -eq $true} | FT Name, IsCustom

Вы также можете увидеть настраиваемые роли на портале Azure. Зайдите в свою подписку, выберите Контроль доступа (IAM), Роли.

SalesAppPolicy

SalesAppPolicy read permission

Дополнительные сведения см. в разделе Учебник: Создание настраиваемой роли Azure с помощью Azure PowerShell.

Добавление пользователей в пользовательскую роль

На портале вы можете добавлять пользователей в роль авторов группы сбора правил AZFM и предоставлять доступ к политикам межсетевого экрана.

  1. На портале выберите политику брандмауэра группы приложений (например, SalesAppPolicy).
  2. Выберите Контроль доступа.
  3. Выберите Добавить назначение ролей.
  4. Добавьте пользователей/группы пользователей (например, отдел продаж) к роли.

Повторите эту процедуру для других политик брандмауэра.

Итоги

Политика межсетевого экрана с настраиваемыми ролями теперь обеспечивает выборочный доступ к группам сбора правил политик межсетевого экрана.

У пользователей нет прав на:

  • Удалите политику брандмауэра или брандмауэра Azure.
  • Обновите иерархию политик брандмауэра, настройки DNS или анализ угроз.
  • Обновите политику брандмауэра, в которой они не являются членами группы авторов групп правил AZFM.

Администраторы безопасности могут использовать базовую политику для применения ограничений и блокировки определенных типов трафика (например, ICMP) в соответствии с требованиями их предприятия.

Следующие шаги