Поделиться через


Защита иерархии ресурсов

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

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

Разрешения Azure RBAC для параметров иерархии

Для настройки параметров иерархии требуются следующие операции поставщика ресурсов в корневой группе управления:

  • Microsoft.Management/managementgroups/settings/write
  • Microsoft.Management/managementgroups/settings/read

Эти операции представляют разрешения управления доступом на основе ролей Azure (Azure RBAC). Они позволяют пользователю считывать и обновлять параметры иерархии. Они не предоставляют никакого другого доступа к иерархии группы управления или ресурсам в иерархии.

Обе эти операции доступны для встроенной роли Azure Администратор параметров иерархии.

Параметр. Определение группы управления по умолчанию

По умолчанию новая подписка, добавляемая в клиент, становится членом корневой группы управления. Если вы назначаете назначения политик, Azure RBAC и другие конструкции управления корневой группе управления, они немедленно влияют на эти новые подписки. По этой причине многие организации не применяют эти конструкции в корневой группе управления, хотя это нужное место для их назначения. В других случаях организация хочет более строгий набор элементов управления для новых подписок, но не хочет назначать их всем подпискам. Этот параметр поддерживает оба варианта использования.

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

Определение группы управления по умолчанию на портале

  1. Войдите на портал Azure.

  2. Используйте панель поиска для поиска и выбора групп управления.

  3. Выберите корневую группу управления.

  4. Выберите параметры в левой части страницы .

  5. Нажмите кнопку Изменить группу управления по умолчанию.

    Если кнопка "Изменить группу управления по умолчанию" недоступна, причина является одной из следующих условий:

    • Просматриваемая группа управления не является корневой группой управления.
    • У субъекта безопасности нет необходимых разрешений для изменения параметров иерархии.
  6. Выберите группу управления из иерархии и нажмите кнопку "Выбрать ".

Определение группы управления по умолчанию с помощью REST API

Чтобы определить группу управления по умолчанию с помощью REST API, необходимо вызвать конечную точку параметров иерархии . Используйте следующий URI REST API и основной формат. Замените {rootMgID} идентификатор корневой группы управления. Замените {defaultGroupID} идентификатором группы управления, которая станет группой управления по умолчанию.

  • Универсальный код ресурса (URI) REST API:

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
    
  • Текст запроса:

    {
        "properties": {
            "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/{defaultGroupID}"
        }
    }
    

Чтобы задать группу управления по умолчанию в корневую группу управления, используйте ту же конечную точку и задайте defaultManagementGroup значение /providers/Microsoft.Management/managementGroups/{rootMgID}.

Параметр. Требовать авторизацию

Любой пользователь, по умолчанию, может создавать новые группы управления в клиенте. Администраторы клиента могут предоставить эти разрешения только определенным пользователям, чтобы обеспечить согласованность и соответствие в иерархии групп управления. Чтобы создать дочерние группы управления, пользователю требуется Microsoft.Management/managementGroups/write операция в корневой группе управления.

Требовать авторизацию на портале

  1. Войдите на портал Azure.

  2. Используйте панель поиска для поиска и выбора групп управления.

  3. Выберите корневую группу управления.

  4. Выберите параметры в левой части страницы .

  5. Включите разрешения для создания новых групп управления.

    Если переключатель "Требовать запись" для создания новых групп управления недоступен, причина заключается в одном из следующих условий:

    • Просматриваемая группа управления не является корневой группой управления.
    • У субъекта безопасности нет необходимых разрешений для изменения параметров иерархии.

Требовать авторизацию с помощью REST API

Чтобы требовать авторизацию с помощью REST API, вызовите конечную точку параметров иерархии . Используйте следующий URI REST API и основной формат. Это логическое значение, поэтому укажите true или false для значения. Значение true включает этот метод защиты иерархии групп управления.

  • Универсальный код ресурса (URI) REST API:

    PUT https://management.azure.com/providers/Microsoft.Management/managementGroups/{rootMgID}/settings/default?api-version=2020-05-01
    
  • Текст запроса:

    {
        "properties": {
            "requireAuthorizationForGroupCreation": true
        }
    }
    

Чтобы отключить параметр, используйте ту же конечную точку и задайте requireAuthorizationForGroupCreation значение false.

Пример Azure PowerShell

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

$root_management_group_id = "Enter the ID of root management group"
$default_management_group_id = "Enter the ID of default management group (or use the same ID of the root management group)"

$body = '{
     "properties": {
          "defaultManagementGroup": "/providers/Microsoft.Management/managementGroups/' + $default_management_group_id + '",
          "requireAuthorizationForGroupCreation": true
     }
}'

$token = (Get-AzAccessToken).Token
$headers = @{"Authorization"= "Bearer $token"; "Content-Type"= "application/json"}
$uri = "https://management.azure.com/providers/Microsoft.Management/managementGroups/$root_management_group_id/settings/default?api-version=2020-05-01"

Invoke-RestMethod -Method PUT -Uri $uri -Headers $headers -Body $body

Дополнительные сведения о группах управления: