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


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

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

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

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

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

  • Любой пользователь Microsoft Entra ID в клиенте может создать группу управления без разрешения на запись группы управления, назначенной пользователю, если защита иерархии не включена. Эта новая группа управления становится дочерним элементом корневой группы управления или группы управления по умолчанию, а создатель получает назначение роли владельца. Служба группы управления обеспечивает эту возможность, чтобы назначения ролей не требовались на корневом уровне. При создании корневой группы управления пользователи не имеют доступа к ней. Чтобы начать использование групп управления, служба позволяет создавать начальные группы управления на корневом уровне. Дополнительные сведения см. в разделе "Корневая группа управления" для каждого каталога.

Azure Cloud Shell

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

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

Вариант Пример и ссылка
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. Снимок экрана: пример открытия Azure Cloud Shell с помощью кнопки
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. Кнопка запуска Azure Cloud Shell.
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. Снимок экрана: кнопка

Чтобы использовать 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

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

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

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