Guia de início rápido: criar um grupo de gerenciamento com o Go
Os grupos de gerenciamento são contêineres que ajudam a gerenciar o acesso, a política e a conformidade em várias assinaturas. Crie esses contêineres para criar uma hierarquia eficaz e eficiente que possa ser usada com a Política do Azure e os Controles de Acesso Baseados em Função do Azure. Para obter mais informações sobre grupos de gerenciamento, consulte Organizar seus recursos com grupos de gerenciamento do Azure.
O primeiro grupo de gerenciamento criado no diretório pode levar até 15 minutos para ser concluído. Há processos que são executados pela primeira vez para configurar o serviço de grupos de gerenciamento no Azure para seu diretório. Você recebe uma notificação quando o processo é concluído. Para obter mais informações, consulte Configuração inicial de grupos de gerenciamento.
Pré-requisitos
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Uma entidade de serviço do Azure, incluindo clientId e clientSecret. Se você não tiver uma entidade de serviço para uso com a Política do Azure ou quiser criar uma nova, consulte Bibliotecas de gerenciamento do Azure para autenticação .NET. Ignore a etapa para instalar os pacotes do .NET Core, pois faremos isso nas próximas etapas.
Qualquer usuário do Microsoft Entra ID no locatário pode criar um grupo de gerenciamento sem a permissão de gravação do grupo de gerenciamento atribuída a esse usuário se a proteção de hierarquia não estiver habilitada. Esse novo grupo de gerenciamento se torna filho do Grupo de Gerenciamento Raiz ou do grupo de gerenciamento padrão e o criador recebe uma atribuição de função de Proprietário. O serviço de grupo de gerenciamento permite essa capacidade para que as atribuições de função não sejam necessárias no nível raiz. Quando o Grupo de Gerenciamento Raiz é criado, os usuários não têm acesso a ele. Para começar a usar grupos de gerenciamento, o serviço permite a criação dos grupos de gerenciamento iniciais no nível raiz. Para obter mais informações, consulte Grupo de gerenciamento raiz para cada diretório.
Azure Cloud Shell
O Azure aloja o Azure Cloud Shell, um ambiente de shell interativo que pode utilizar através do seu browser. Pode utilizar o Bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. Você pode usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada em seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Ligação |
---|---|
Selecione Experimentar no canto superior direito de um código ou bloco de comandos. Selecionar Experimentar não copia automaticamente o código ou comando para o Cloud Shell. | |
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. | |
Selecione o botão Cloud Shell na barra de menus, na parte direita do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e Linux ou selecionando Cmd+Shift+V no macOS.
Selecione Enter para executar o código ou comando.
Adicionar o pacote do grupo de gerenciamento
Para habilitar Go para gerenciar grupos de gerenciamento, o pacote deve ser adicionado. Este pacote funciona onde quer que o Go possa ser usado, incluindo bash no Windows 10 ou instalado localmente.
Verifique se o Go mais recente está instalado (pelo menos 1.15). Se ainda não estiver instalado, transfira-o para Golang.org.
Verifique se a CLI mais recente do Azure está instalada (pelo menos 2.5.1). Se ainda não estiver instalado, consulte Instalar a CLI do Azure.
Nota
A CLI do Azure é necessária para permitir que Go use o
auth.NewAuthorizerFromCLI()
método no exemplo a seguir. Para obter informações sobre outras opções, consulte SDK do Azure para Go - Mais detalhes de autenticação.Autentique-se por meio da CLI do Azure.
az login
No ambiente Go de sua escolha, instale os pacotes necessários para grupos de gerenciamento:
# 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
Configuração da aplicação
Com os pacotes Go adicionados ao seu ambiente de escolha, é hora de configurar o aplicativo Go que pode criar um grupo de gerenciamento.
Crie o aplicativo Go e salve a seguinte fonte como
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()) } }
Crie o aplicativo Go:
go build mgCreate.go
Crie um grupo de gerenciamento usando o aplicativo Go compilado. Substitua
<Name>
pelo nome do seu novo grupo de gerenciamento:mgCreate "<Name>"
O resultado é um novo grupo de gerenciamento no grupo de gerenciamento raiz.
Clean up resources (Limpar recursos)
Se desejar remover os pacotes instalados do seu ambiente Go, você pode fazê-lo usando o seguinte comando:
# 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
Próximos passos
Neste guia de início rápido, você criou um grupo de gerenciamento para organizar sua hierarquia de recursos. O grupo de gerenciamento pode conter assinaturas ou outros grupos de gerenciamento.
Para saber mais sobre grupos de gerenciamento e como gerenciar sua hierarquia de recursos, continue: