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 Microsoft Entra ID no locatário poderá criar um grupo de gerenciamento sem ter recebido a permissão de gravação no grupo de gerenciamento se a proteção de hierarquia não estiver habilitada. Esse novo grupo de gerenciamento se torna um grupo filho do Grupo de Gerenciamento Raiz ou do grupo de gerenciamento padrão, e uma função de Proprietário é atribuída ao criador. 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 que os grupos de gerenciamento comecem a ser usados, o serviço permite a criação dos grupos de gerenciamento iniciais no nível raiz. Para obter mais informações, confira Grupo de gerenciamento raiz para cada diretório.

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. Captura de tela que mostra um exemplo de Experimente para o Azure Cloud Shell.
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. Captura de tela que mostra o botão Cloud Shell no portal do Azure

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: