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

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

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

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

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

  • Перед началом работы убедитесь, что установлена по меньшей мере версия Node.js 12.

  • Любой пользователь 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. Нажмите клавишу ВВОД, чтобы запустить код или команду.

Настройка приложения

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

  1. Настройте новый проект Node.js, выполнив следующую команду.

    npm init -y
    
  2. Добавьте ссылку на модуль yargs.

    npm install yargs
    
  3. Добавьте ссылку на модуль Azure Resource Graph.

    npm install @azure/arm-managementgroups
    
  4. Добавьте ссылку на библиотеку аутентификации Azure.

    npm install @azure/identity
    

    Примечание.

    Убедитесь, что в файле package.json указана версия @azure/arm-managementgroups2.0.1 или более поздняя, а также версия @azure/identity2.0.4 или более поздняя.

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

  1. Создайте файл с именем index.js и введите следующий код.

       const argv = require("yargs").argv;
       const { InteractiveBrowserCredential } = require("@azure/identity");
       const { ManagementGroupsAPI } = require("@azure/arm-managementgroups");
    
       if (argv.groupID && argv.displayName) {
          const createMG = async () => {
             const credentials = new InteractiveBrowserCredential();
             const client = new ManagementGroupsAPI(credentials);
             const result = await client.managementGroups.beginCreateOrUpdateAndWait(
                argv.groupID,
                {
                   displayName: argv.displayName
                }
             );
             console.log(result);
          };
    
       createMG();
    }
    
  2. Введите следующую команду в окне терминала.

    node index.js --groupID "<NEW_MG_GROUP_ID>" --displayName "<NEW_MG_FRIENDLY_NAME>"
    

    Обязательно замените каждый заполнитель маркера <> своим идентификатором группы безопасности и понятным именем группы управления соответственно.

    Когда скрипт попытается выполнить аутентификацию, в окне терминала отобразится примерно такое сообщение:

    Чтобы войти, откройте в браузере страницу https://microsoft.com/devicelogin. Введите код FGB56WJUGK для аутентификации.

    Когда вы пройдете аутентификацию в браузере, скрипт продолжит выполнение.

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

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

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

npm uninstall @azure/arm-managementgroups @azure/identity yargs

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

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

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