Краткое руководство. Создание группы управления с помощью Go
Группы управления являются контейнерами для удобства управления доступом, политикой и соответствием в нескольких подписках. Создание таких контейнеров позволяет построить эффективную и экономную иерархию, которую можно использовать с политикой Azure и элементами управления доступом на основе ролей Azure. Дополнительные сведения о группах управления см. в статье Упорядочение ресурсов с помощью групп управления Azure.
Создание первой группы управления в каталоге может занять до 15 минут. Существуют процессы, выполняемые в первый раз при настройке службы групп управления в Azure для вашего каталога. По завершении процесса вы получите уведомление. См. сведения о начальной настройке групп управления.
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
Субъект-служба Azure, включая clientId и clientSecret. Если у вас нет субъекта-службы, который можно использовать для Политики Azure, или вы хотите создать новый субъект-службу, см. статью о библиотеках управления Azure для аутентификации .NET. Пропустите этот шаг, чтобы установить пакеты .NET Core, так как мы выполним это действие на следующих шагах.
Любой пользователь Microsoft Entra ID в клиенте может создать группу управления без разрешения на запись группы управления, назначенной пользователю, если защита иерархии не включена. Эта новая группа управления становится дочерним элементом корневой группы управления или группы управления по умолчанию, а создатель получает назначение роли владельца. Служба группы управления обеспечивает эту возможность, чтобы назначения ролей не требовались на корневом уровне. При создании корневой группы управления пользователи не имеют доступа к ней. Чтобы начать использование групп управления, служба позволяет создавать начальные группы управления на корневом уровне. Дополнительные сведения см. в разделе "Корневая группа управления" для каждого каталога.
Azure Cloud Shell
В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере. Для работы со службами Azure можно использовать Bash или PowerShell с Cloud Shell. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.
Начало работы с Azure Cloud Shell
Вариант | Пример и ссылка |
---|---|
Нажмите кнопку Попробовать в правом верхнем углу блока кода или команд. При нажатии кнопки Попробовать код или команда не копируется в Cloud Shell автоматически. | |
Чтобы открыть Cloud Shell в браузере, перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell. | |
Нажмите кнопку Cloud Shell в строке меню в правом верхнем углу окна портала Azure. |
Чтобы использовать Azure Cloud Shell, выполните следующие действия:
Запустите Cloud Shell.
Нажмите кнопку Копировать в блоке кода (или блоке команд), чтобы скопировать код или команду.
Вставьте код или команду в окно сеанса Cloud Shell, нажав клавиши CTRL+SHIFT+V в Windows и Linux или CMD+SHIFT+V в macOS.
Нажмите клавишу ВВОД, чтобы запустить код или команду.
Добавление пакета группы управления
Чтобы можно было управлять группами управления с помощью Go, необходимо добавить пакет. Этот пакет работает во всех средах, где можно использовать Go, в том числе в Bash для Windows 10. Также его можно установить локально.
Убедитесь, что установлена последняя версия Go (не ниже 1.15). Если она еще не установлена, скачайте ее на сайте Golang.org.
Убедитесь, что установлена последняя версия Azure CLI (не ниже 2.5.1). Если Azure CLI еще не установлен, см. эту статью.
Примечание.
Azure CLI требуется для того, чтобы в Go можно было использовать метод
auth.NewAuthorizerFromCLI()
в следующем примере. См. сведения о других параметрах в разделе Azure SDK для Go — дополнительные сведения о проверке подлинности.Проверка подлинности с помощью Azure CLI.
az login
В выбранной вами среде Go установите необходимые пакеты для групп управления:
# Add the management group package for Go go install github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups@latest # Add the Azure auth package for Go go install github.com/Azure/go-autorest/autorest/azure/auth@latest
Настройка приложения
После добавления пакетов Go в выбранную вами среду настройте приложение Go, которое может создать группу управления.
Создайте приложение Go и сохраните следующий исходный код как
mgCreate.go
.package main import ( "context" "fmt" "os" mg "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups" "github.com/Azure/go-autorest/autorest/azure/auth" ) func main() { // Get variables from command line arguments var mgName = os.Args[1] // Create and authorize a client mgClient := mg.NewClient() authorizer, err := auth.NewAuthorizerFromCLI() if err == nil { mgClient.Authorizer = authorizer } else { fmt.Printf(err.Error()) } // Create the request Request := mg.CreateManagementGroupRequest{ Name: &mgName, } // Run the query and get the results var results, queryErr = mgClient.CreateOrUpdate(context.Background(), mgName, Request, "no-cache") if queryErr == nil { fmt.Printf("Results: " + fmt.Sprint(results) + "\n") } else { fmt.Printf(queryErr.Error()) } }
Выполните сборку приложения Go.
go build mgCreate.go
Создайте группу управления с помощью скомпилированного приложения Go. Замените
<Name>
именем новой группы управления:mgCreate "<Name>"
В результате выполнения в корневой группе управления появится новая группа управления.
Очистка ресурсов
Если вы хотите удалить установленные пакеты из среды Go, это можно сделать с помощью следующей команды.
# Remove the installed packages from the Go environment
go clean -i github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups
go clean -i github.com/Azure/go-autorest/autorest/azure/auth
Следующие шаги
В этом кратком руководстве показано, как создать группу управления для организации иерархии ресурсов. Группа управления может содержать подписки и другие группы управления.
Чтобы узнать больше о группах управления и управлении иерархией ресурсов, см. следующее руководство: