Compartilhar via


Início Rápido: Criar um grupo de gerenciamento com o .NET Core

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

Instalação do aplicativo

Para permitir que o .NET Core administre grupos de gerenciamento, crie um aplicativo de console e instale os pacotes necessários.

  1. Verifique se o .NET Core mais recente está instalado (no mínimo a versão 3.1.8). Se ainda não estiver instalado, baixe-o em dotnet.microsoft.com.

  2. Inicialize um novo aplicativo de console .NET Core chamado "mgCreate":

    dotnet new console --name "mgCreate"
    
  3. Altere os diretórios para a nova pasta do projeto e instale os pacotes necessários para o Azure Policy:

    # Add the Azure Policy package for .NET Core
    dotnet add package Microsoft.Azure.Management.ManagementGroups --version 1.1.1-preview
    
    # Add the Azure app auth package for .NET Core
    dotnet add package Microsoft.Azure.Services.AppAuthentication --version 1.6.1
    
  4. Substitua o padrão program.cs pelo seguinte código e salve o arquivo atualizado:

    using System;
    using System.Collections.Generic;
    using System.Threading.Tasks;
    using Microsoft.IdentityModel.Clients.ActiveDirectory;
    using Microsoft.Rest;
    using Microsoft.Azure.Management.ManagementGroups;
    using Microsoft.Azure.Management.ManagementGroups.Models;
    
    namespace mgCreate
    {
        class Program
        {
            static async Task Main(string[] args)
            {
                string strTenant = args[0];
                string strClientId = args[1];
                string strClientSecret = args[2];
                string strGroupId = args[3];
                string strDisplayName = args[4];
    
                var authContext = new AuthenticationContext($"https://login.microsoftonline.com/{strTenant}");
                var authResult = await authContext.AcquireTokenAsync(
                       "https://management.core.windows.net",
                       new ClientCredential(strClientId, strClientSecret));
    
                using (var client = new ManagementGroupsAPIClient(new TokenCredentials(authResult.AccessToken)))
                {
                    var mgRequest = new CreateManagementGroupRequest
                    {
                        DisplayName = strDisplayName
                    };
                    var response = await client.ManagementGroups.CreateOrUpdateAsync(strGroupId, mgRequest);
                }
            }
        }
    }
    
  5. Crie e publique o aplicativo de console mgCreate:

    dotnet build
    dotnet publish -o {run-folder}
    

Criar o grupo de gerenciamento

Neste guia de início rápido, você criará um grupo de gerenciamento no grupo de gerenciamento raiz.

  1. Altere os diretórios para o {run-folder} que você definiu com o comando dotnet publish anterior.

  2. Insira o seguinte comando no terminal:

    mgCreate.exe `
       "{tenantId}" `
       "{clientId}" `
       "{clientSecret}" `
       "{groupID}" `
       "{displayName}"
    

Os comandos anteriores usam as seguintes informações:

  • {tenantId} – Substitua pela ID de locatário
  • {clientId} – substituir pela ID do cliente da entidade de serviço
  • {clientSecret} – substituir pelo segredo do cliente da entidade de serviço
  • {groupID} – fazer a substituição pela ID do novo grupo de gerenciamento
  • {displayName} – fazer a substituição pelo nome amigável do seu novo grupo de gerenciamento

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

Limpar os recursos

  • Exclua o novo grupo de gerenciamento pelo portal.

  • Se desejar remover os aplicativos de console .NET Core e os pacotes instalados, exclua as pastas de projeto mgCreate.

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: