Snabbstart: Skapa en hanteringsgrupp med .NET Core

Hanteringsgrupper är containrar som hjälper dig att hantera åtkomst, principer och efterlevnad i flera prenumerationer. Skapa dessa containrar för att skapa en effektiv och effektiv hierarki som kan användas med Azure Policy och Rollbaserade åtkomstkontroller i Azure. Mer information om hanteringsgrupper finns i Organisera dina resurser med Azure-hanteringsgrupper.

Den första hanteringsgruppen som skapades i katalogen kan ta upp till 15 minuter att slutföra. Det finns processer som körs första gången för att konfigurera hanteringsgruppers tjänst i Azure för din katalog. Du får ett meddelande när processen är klar. Mer information finns i inledande konfiguration av hanteringsgrupper.

Förutsättningar

  • Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

  • Ett Huvudnamn för Azure-tjänsten, inklusive clientId och clientSecret. Om du inte har ett huvudnamn för tjänsten för användning med Azure Policy eller om du vill skapa ett nytt kan du läsa Azure-hanteringsbibliotek för .NET-autentisering. Hoppa över steget för att installera .NET Core-paketen som vi ska göra i nästa steg.

  • Alla Azure AD-användare i klientorganisationen kan skapa en hanteringsgrupp utan skrivbehörighet för hanteringsgruppen som tilldelats användaren om hierarkiskyddet inte är aktiverat. Den här nya hanteringsgruppen blir underordnad rothanteringsgruppen eller standardhanteringsgruppen och skaparen får rolltilldelningen "Ägare". Med hanteringsgruppstjänsten kan du göra det så att rolltilldelningar inte behövs på rotnivå. Inga användare har åtkomst till rothanteringsgruppen när den skapas. För att undvika hinder för att hitta globala Azure AD-administratörer för att börja använda hanteringsgrupper tillåter vi att de första hanteringsgrupperna skapas på rotnivå.

Azure Cloud Shell

Azure är värd för Azure Cloud Shell, en interaktiv gränssnittsmiljö som du kan använda via webbläsaren. Du kan använda antingen Bash eller PowerShell med Cloud Shell för att arbeta med Azure-tjänster. Du kan använda förinstallerade Cloud Shell-kommandon för att köra koden i den här artikeln, utan att behöva installera något i din lokala miljö.

Så här startar du Azure Cloud Shell:

Alternativ Exempel/länk
Välj Prova i det övre högra hörnet i en kod eller ett kommandoblock. Om du väljer Prova kopieras inte koden eller kommandot automatiskt till Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Gå till https://shell.azure.com eller Välj knappen Starta Cloud Shell för att öppna Cloud Shell i webbläsaren. Button to launch Azure Cloud Shell.
Välj knappen Cloud Shell på menyn längst upp till höger i Azure-portalen. Screenshot that shows the Cloud Shell button in the Azure portal

Så här använder du Azure Cloud Shell:

  1. Starta Cloud Shell.

  2. Välj knappen Kopiera i ett kodblock (eller kommandoblock) för att kopiera koden eller kommandot.

  3. Klistra in koden eller kommandot i Cloud Shell-sessionen genom att välja Ctrl+Skift+V i Windows och Linux, eller genom att välja Cmd+Shift+V på macOS.

  4. Välj Retur för att köra koden eller kommandot.

Programkonfiguration

Om du vill aktivera .NET Core för att hantera hanteringsgrupper skapar du ett nytt konsolprogram och installerar de paket som krävs.

  1. Kontrollera att den senaste .NET Core är installerad (minst 3.1.8). Om den inte är installerad än laddar du ned den på dotnet.microsoft.com.

  2. Initiera ett nytt .NET Core-konsolprogram med namnet "mgCreate":

    dotnet new console --name "mgCreate"
    
  3. Ändra kataloger till den nya projektmappen och installera de paket som krävs för 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. Ersätt standardvärdet program.cs med följande kod och spara den uppdaterade filen:

    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. Skapa och publicera mgCreate konsolprogrammet:

    dotnet build
    dotnet publish -o {run-folder}
    

Skapa hanteringsgruppen

I den här snabbstarten skapar du en ny hanteringsgrupp i rothanteringsgruppen.

  1. Ändra kataloger till det {run-folder} du definierade med föregående dotnet publish kommando.

  2. Ange följande kommando i terminalen:

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

Föregående kommandon använder följande information:

  • {tenantId} – Ersätt med ditt klientorganisations-ID
  • {clientId} – Ersätt med klient-ID:t för tjänstens huvudnamn
  • {clientSecret} – Ersätt med klienthemligheten för tjänstens huvudnamn
  • {groupID} – Ersätt med ID:t för den nya hanteringsgruppen
  • {displayName} – Ersätt med det egna namnet för den nya hanteringsgruppen

Resultatet är en ny hanteringsgrupp i rothanteringsgruppen.

Rensa resurser

  • Ta bort den nya hanteringsgruppen via portalen.

  • Om du vill ta bort .NET Core-konsolprogrammet och installerade paket tar du bort projektmappen mgCreate .

Nästa steg

I den här snabbstarten skapade du en hanteringsgrupp för att organisera resurshierarkin. Hanteringsgruppen kan innehålla prenumerationer eller andra hanteringsgrupper.

Om du vill veta mer om hanteringsgrupper och hur du hanterar resurshierarkin fortsätter du till: