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. Captura de tela que mostra um exemplo de Try It for Azure Cloud Shell.
Aceda a https://shell.azure.com ou selecione o botão Iniciar Cloud Shell para abrir o Cloud Shell no browser. Botão para iniciar o Azure Cloud Shell.
Selecione o botão Cloud Shell na barra de menus, na parte direita 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 comando.

  3. 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.

  4. 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.

  1. Verifique se o Go mais recente está instalado (pelo menos 1.15). Se ainda não estiver instalado, transfira-o para Golang.org.

  2. 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.

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

    az login
    
  4. 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.

  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. Crie o aplicativo Go:

    go build mgCreate.go
    
  3. 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: