Partilhar via


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 "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 o obstáculo de encontrar os administradores globais do Microsoft Entra ID para começar a usar grupos de gerenciamento, permitimos a criação dos grupos de gerenciamento iniciais no nível raiz.

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: