Compartilhar via


Início rápido: Criar um grupo de gerenciamento com o Go

Grupos de gerenciamento são contêineres que o ajudarão a gerenciar o acesso, a política e a conformidade entre várias assinaturas. Criar esses contêineres para criar uma hierarquia eficaz e eficiente que pode ser usada com o Azure Policy 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, confira Configuração inicial dos grupos de gerenciamento.

Pré-requisitos

  • Se você não tiver uma assinatura 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 o Azure Policy ou quiser criar uma, confira Bibliotecas de gerenciamento do Azure para autenticação do .NET. Ignore a etapa para instalar os pacotes do .NET Core, pois faremos isso nas próximas etapas.

  • Qualquer usuário do Azure AD no locatário poderá criar um grupo de gerenciamento sem ter recebido a permissão de gravação do grupo de gerenciamento se a proteção de hierarquia não estiver habilitada. Esse novo grupo de gerenciamento passa a ser um filho do grupo de gerenciamento raiz ou o grupo de gerenciamento padrão, e o criador recebe uma atribuição de função "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. Nenhum usuário tem acesso ao grupo de gerenciamento raiz quando ele é criado. Para evitar problemas de localização dos administradores globais do Azure AD para começar a usar os grupos de gerenciamento, permitimos a criação dos grupos de gerenciamento iniciais no nível raiz.

Azure Cloud Shell

O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.

Para iniciar o Azure Cloud Shell:

Opção Exemplo/Link
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. Button to launch Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar o Azure Cloud Shell:

  1. Inicie o Cloud Shell.

  2. Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.

  3. Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.

  4. Pressione Enter para executar o código ou o comando.

Adicionar o pacote de grupo de gerenciamento

A fim de habilitar o Go para gerenciar grupos de gerenciamento, o pacote precisa ser adicionado. Esse pacote funciona em qualquer lugar em que o Go possa ser usado, incluindo o bash no Windows 10 ou instalado localmente.

  1. Verifique se o Go mais recente está instalado (no mínimo, a versão 1.15). Se ele ainda não tiver sido instalado, baixe-o em Golang.org.

  2. Verifique se a CLI do Azure mais recente está instalada (pelo menos a versão 2.5.1). Se ela ainda não tiver sido instalada, confira Instalar a CLI do Azure.

    Observação

    A CLI do Azure é necessária para habilitar o Go para usar o método auth.NewAuthorizerFromCLI() no exemplo a seguir. Para obter informações sobre outras opções, confira SDK do Azure para linguagem Go – mais detalhes de autenticação.

  3. Autentique-se por meio da CLI do Azure.

    az login
    
  4. No ambiente do Go de sua escolha, instale os pacotes necessários para os 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
    

Instalação do aplicativo

Com os pacotes Go adicionados ao ambiente escolhido, é hora de configurar o aplicativo Go que pode criar um grupo de gerenciamento.

  1. 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())
     }
    }
    
  2. Compilar o aplicativo Go:

    go build mgCreate.go
    
  3. Crie um grupo de gerenciamento usando o aplicativo Go compilado. Substitua <Name> pelo nome do seu grupo de gerenciamento:

    mgCreate "<Name>"
    

O resultado é um novo grupo de gerenciamento no grupo de gerenciamento raiz.

Limpar os recursos

Se desejar remover os pacotes instalados do seu ambiente do Go, você poderá fazer isso 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óximas etapas

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, prossiga para: