Краткое руководство. Создание группы управления с помощью Python

Группы управления являются контейнерами для удобства управления доступом, политикой и соответствием в нескольких подписках. Создание таких контейнеров позволяет построить эффективную и экономную иерархию, которую можно использовать с политикой Azure и элементами управления доступом на основе ролей Azure. Дополнительные сведения о группах управления см. в статье Упорядочение ресурсов с помощью групп управления Azure.

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

Необходимые компоненты

  • Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

  • Любой пользователь Azure AD в арендаторе может создать группу управления без разрешения на запись для группы управления, назначенного этому пользователю, если защита иерархии не включена. Эта новая группа управления становится дочерней по отношению к корневой группе управления или группе управления по умолчанию, а ее создателю назначается роль "Владелец". Служба группы управления обеспечивает эту возможность, чтобы назначения ролей не требовались на корневом уровне. У пользователей нет доступа к корневой группе управления при ее создании. Чтобы избежать трудностей при поиске глобальных администраторов Azure AD для настройки работы с группами управления, мы разрешаем создавать исходные группы управления на корневом уровне.

Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.

Начало работы с Azure Cloud Shell

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Screenshot that shows an example of Try It for Azure Cloud Shell.
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Button to launch Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Чтобы использовать Azure Cloud Shell, выполните следующие действия:

  1. Запустите Cloud Shell.

  2. Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.

  3. Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.

  4. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Добавление библиотеки Resource Graph

Чтобы можно было управлять группами управления с помощью Python, необходимо добавить библиотеку. Эта библиотека работает во всех средах, где можно использовать Python, в том числе в оболочке Bash для Windows 10. Также ее можно установить локально.

  1. Убедитесь, что установлена последняя версия Python (не ниже 3.8). Если он еще не установлен, скачайте его на сайте Python.org.

  2. Убедитесь, что установлена последняя версия Azure CLI (не ниже 2.5.1). Если Azure CLI еще не установлен, см. эту статью.

    Примечание.

    Azure CLI требуется для того, чтобы с помощью Python можно было использовать проверки подлинности на основе CLI в следующих примерах. Дополнительные сведения о других параметрах см. в статье о проверке подлинности с помощью библиотек управления Azure для Python.

  3. Проверка подлинности с помощью Azure CLI.

    az login
    
  4. В выбранной вами среде Python установите необходимые библиотеки для групп управления:

    # Add the management groups library for Python
    pip install azure-mgmt-managementgroups
    
    # Add the Resources library for Python
    pip install azure-mgmt-resource
    
    # Add the CLI Core library for Python for authentication (development only!)
    pip install azure-cli-core
    

    Примечание.

    Если Python установлен для всех пользователей, эти команды необходимо запустить из консоли с повышенными привилегиями.

  5. Убедитесь, что библиотеки установлены. azure-mgmt-managementgroups должна быть версии 0.2.0 или более поздней, azure-mgmt-resource ⁠— 9.0.0 или более поздней, а azure-cli-core  — 2.5.0 или более поздней.

    # Check each installed library
    pip show azure-mgmt-managementgroups azure-mgmt-resource azure-cli-core
    

Создание группы управления

  1. Создайте скрипт Python и сохраните следующий исходный код как mgCreate.py:

    # Import management group classes
    from azure.mgmt.managementgroups import ManagementGroupsAPI
    
    # Import specific methods and models from other libraries
    from azure.common.credentials import get_azure_cli_credentials
    from azure.common.client_factory import get_client_from_cli_profile
    from azure.mgmt.resource import ResourceManagementClient, SubscriptionClient
    
    # Wrap all the work in a function
    def createmanagementgroup( strName ):
        # Get your credentials from Azure CLI (development only!) and get your subscription list
        subsClient = get_client_from_cli_profile(SubscriptionClient)
        subsRaw = []
        for sub in subsClient.subscriptions.list():
            subsRaw.append(sub.as_dict())
        subsList = []
        for sub in subsRaw:
            subsList.append(sub.get('subscription_id'))
    
        # Create management group client and set options
        mgClient = get_client_from_cli_profile(ManagementGroupsAPI)
        mg_request = {'name': strName, 'display_name': strName}
    
        # Create management group
        mg = mgClient.management_groups.create_or_update(group_id=strName,create_management_group_request=mg_request)
    
        # Show results
        print(mg)
    
    createmanagementgroup("MyNewMG")
    
  2. Выполните аутентификацию в Azure CLI с помощью команды az login.

  3. Введите следующую команду в окне терминала.

    py mgCreate.py
    

Результат создания группы управления выводится в консоль как объект LROPoller.

Очистка ресурсов

Если вы хотите удалить установленные библиотеки из среды Python, это можно сделать с помощью следующей команды:

# Remove the installed libraries from the Python environment
pip uninstall azure-mgmt-managementgroups azure-mgmt-resource azure-cli-core

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

В этом кратком руководстве показано, как создать группу управления для организации иерархии ресурсов. Группа управления может содержать подписки и другие группы управления.

Чтобы узнать больше о группах управления и управлении иерархией ресурсов, см. следующее руководство: