Quickstart: Een beheergroep maken met .NET Core

Managementgroepen zijn containers die u helpen bij het beheren van toegang, beleid en naleving voor meerdere abonnementen. Maak deze containers om een doeltreffende en efficiënte hiërarchie te maken die kan worden gebruikt met Azure Policy en op rollen gebaseerd toegangsbeheer van Azure. Zie Uw resources indelen met Azure-beheergroepen voor meer informatie over beheergroepen.

Het kan tot vijftien minuten duren voordat de eerste beheergroep die in de map is gemaakt, is voltooid. Er zijn processen die de eerste keer worden uitgevoerd om de service voor beheergroepen in Azure in te stellen voor uw map. U ontvangt een melding wanneer het proces is voltooid. Zie Eerste configuratie van beheergroepen voor meer informatie.

Vereisten

  • Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

  • Een Azure-service-principal, met inbegrip van de clientId en clientSecret. Als u geen service-principal hebt voor gebruik met Azure Policy of als u een nieuwe wilt maken, raadpleegt u Azure-beheerbibliotheken voor .NET-verificatie. Sla de stap over om de .NET Core-pakketten te installeren; dit doet u in de volgende stappen.

  • Elke Azure AD-gebruiker in de tenant kan een beheergroep maken zonder dat de schrijfmachtiging voor beheergroepen is toegewezen als Hiërarchie beschermen niet is ingeschakeld. Deze nieuwe beheergroep wordt een onderliggend element van de hoofdbeheergroep of de standaard beheergroep en de maker krijgt de roltoewijzing "Eigenaar". Met de beheergroep-service kan deze functie worden toegewezen, zodat roltoewijzingen niet nodig zijn op hoofdmapniveau. Gebruikers hebben geen toegang tot de hoofdbeheergroep wanneer deze wordt gemaakt. Om te voorkomen dat de drempel van het vinden van de Azure AD Global Admins om beheergroepen te kunnen gebruiken te hoog is, wordt het maken van de eerste beheergroepen op hoofdmapniveau toegestaan.

Azure Cloud Shell

Azure host Azure Cloud Shell, een interactieve shell-omgeving die u via uw browser kunt gebruiken. U kunt Bash of PowerShell gebruiken met Cloud Shell om met Azure-services te werken. U kunt de vooraf geïnstalleerde Cloud Shell-opdrachten gebruiken om de code in dit artikel uit te voeren zonder dat u iets hoeft te installeren in uw lokale omgeving.

Om Azure Cloud Shell op te starten:

Optie Voorbeeld/koppeling
Selecteer Uitproberen in de rechterbovenhoek van een code- of opdrachtblok. Als u Try It selecteert, wordt de code of opdracht niet automatisch gekopieerd naar Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Ga naar https://shell.azure.com, of selecteer de knop Cloud Shell starten om Cloud Shell in uw browser te openen. Button to launch Azure Cloud Shell.
Klik op de knop Cloud Shell in het menu in de balk rechtsboven in de Azure-portal. Screenshot that shows the Cloud Shell button in the Azure portal

Azure Cloud Shell gebruiken:

  1. Start Cloud Shell.

  2. Selecteer de knop Kopiëren op een codeblok (of opdrachtblok) om de code of opdracht te kopiëren.

  3. Plak de code of opdracht in de Cloud Shell-sessie door Ctrl+Shift+V in Windows en Linux te selecteren of door Cmd+Shift+V te selecteren in macOS.

  4. Selecteer Enter om de code of opdracht uit te voeren.

Installatie van toepassing

Als u .NET Core voor het beheren van beheergroepen wilt inschakelen, maakt u een nieuwe consoletoepassing en installeert u de vereiste pakketten.

  1. Controleer of de meest recente versie van .NET Core is geïnstalleerd (minimaal 3.1.8). Als deze nog niet is geïnstalleerd, downloadt u deze op dotnet.microsoft.com.

  2. Initialiseer een nieuwe .NET Core-consoletoepassing met de naam mgCreate:

    dotnet new console --name "mgCreate"
    
  3. Wijzig de mappen in de nieuwe projectmap en installeer de vereiste pakketten voor 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. Vervang de standaard program.cs door de volgende code en sla het bijgewerkte bestand op:

    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. Bouw en publiceer de consoletoepassing mgCreate:

    dotnet build
    dotnet publish -o {run-folder}
    

De beheergroep maken

In deze quickstart maakt u een nieuwe beheergroep in de hoofdbeheergroep.

  1. Wijzig mappen in de {run-folder} die u hebt gedefinieerd met de vorige opdracht dotnet publish.

  2. Voer de volgende opdracht in de terminal in:

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

In de voorgaande opdrachten wordt de volgende informatie gebruikt:

  • Vervang {tenantId} door uw tenant-id
  • {clientId} - vervang door de client-id van uw service-principal
  • {clientSecret} - vervang door het clientgeheim van uw service-principal
  • {groupID} - vervang door de id voor uw nieuwe beheergroep
  • {displayName} - vervang door de beschrijvende naam voor uw nieuwe beheergroep

Het resultaat is een nieuwe beheergroep in de hoofdbeheergroep.

Resources opschonen

  • Verwijder de nieuwe beheergroep via de portal.

  • Als u de .NET Core-consoletoepassing en de geïnstalleerde pakketten wilt verwijderen, kunt u dit doen door de projectmap mgCreate te verwijderen.

Volgende stappen

In deze quickstart hebt u een beheergroep gemaakt om uw resource-hiërarchie te organiseren. De beheergroep kan abonnementen of andere beheergroepen bevatten.

Ga verder met het volgende voor meer informatie over beheergroepen en het beheren van uw resource-hiërarchie: