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. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
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.
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.
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.
Inicialize um novo aplicativo de console .NET Core chamado "mgCreate":
dotnet new console --name "mgCreate"
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
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); } } } }
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.
Altere os diretórios para o
{run-folder}
que você definiu com o comandodotnet publish
anterior.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: