Schnellstart: Erstellen einer Verwaltungsgruppe mit .NET Core

Bei Verwaltungsgruppen handelt es sich um Container, mit denen Sie Zugriff, Richtlinien und Konformität abonnementübergreifend verwalten können. Erstellen Sie diese Container, um eine effektive und effiziente Hierarchie zu erstellen, die mit Azure Policy und mit der rollenbasierten Zugriffssteuerung (Role-Based Access Controls, RBAC) von Azure verwendet werden kann. Weitere Informationen zu Verwaltungsgruppen finden Sie unter Organisieren von Ressourcen mit Azure-Verwaltungsgruppen.

Es kann bis zu 15 Minuten dauern, bis die Erstellung der ersten Verwaltungsgruppe im Verzeichnis abgeschlossen ist. Bei der ersten Erstellung werden Prozesse zum Einrichten des Verwaltungsgruppendiensts in Azure für Ihr Verzeichnis ausgeführt. Sie erhalten eine Benachrichtigung, wenn der Vorgang abgeschlossen ist. Weitere Informationen finden Sie unter Erstmalige Einrichtung von Verwaltungsgruppen.

Voraussetzungen

  • Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

  • Ein Azure-Dienstprinzipal, einschließlich clientId und clientSecret. Falls Sie nicht über einen Dienstprinzipal für die Verwendung mit Azure Policy verfügen oder einen neuen erstellen möchten, helfen Ihnen die Informationen unter Azure-Verwaltungsbibliotheken für die .NET-Authentifizierung weiter. Überspringen Sie den Schritt zum Installieren der .NET Core-Pakete, weil wir dies in den nächsten Schritten durchführen.

  • Alle Azure AD-Benutzer im Mandanten können eine Verwaltungsgruppe erstellen, ohne dafür die Schreibberechtigung für die Verwaltungsgruppe zu benötigen, wenn der Hierarchieschutz nicht aktiviert ist. Diese neue Verwaltungsgruppe ist dann der Stammverwaltungsgruppe oder der Standardverwaltungsgruppe untergeordnet, und dem Ersteller wird die Rolle „Besitzer“ zugewiesen. Der Verwaltungsgruppendienst ermöglicht dies, damit Rollen nicht auf Stammebene zugewiesen werden müssen. Bei der Erstellung der Stammverwaltungsgruppe hat kein Benutzer auf sie Zugriff. Der Sinn dahinter, dass Verwaltungsgruppen zu Beginn auf Stammebene erstellt werden können, ist die Vermeidung der Hürde, erst nach den globalen Administratoren für Azure AD suchen zu müssen, bevor Verwaltungsgruppen verwendet werden können.

Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.

Starten von Azure Cloud Shell:

Option Beispiel/Link
Wählen Sie rechts oben in einem Code- oder Befehlsblock die Option Ausprobieren aus. Durch die Auswahl von Ausprobieren wird der Code oder Befehl nicht automatisch in Cloud Shell kopiert. Screenshot that shows an example of Try It for Azure Cloud Shell.
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. Button to launch Azure Cloud Shell.
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. Screenshot that shows the Cloud Shell button in the Azure portal

So verwenden Sie Azure Cloud Shell:

  1. Starten Sie Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.

  3. Fügen Sie den Code oder Befehl mit STRG+UMSCHALT+V unter Windows und Linux oder CMD+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.

  4. Drücken Sie die EINGABETASTE, um den Code oder Befehl auszuführen.

Anwendungseinrichtung

Erstellen Sie eine neue Konsolenanwendung, und installieren Sie die erforderlichen Pakete, um für .NET Core das Verwalten von Verwaltungsgruppen zu ermöglichen.

  1. Überprüfen Sie, ob die aktuelle .NET Core-Version (mindestens 3.1.8) installiert ist. Falls nicht, können Sie sie unter dotnet.microsoft.com herunterladen.

  2. Initialisieren Sie eine neue .NET Core-Konsolenanwendung mit dem Namen „mgCreate“:

    dotnet new console --name "mgCreate"
    
  3. Ändern Sie die Verzeichnisse in den neuen Projektordner, und installieren Sie die erforderlichen Pakete 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. Ersetzen Sie die Standarddatei program.cs durch den folgenden Code, und speichern Sie die aktualisierte Datei:

    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. Kompilieren und veröffentlichen Sie die Konsolenanwendung mgCreate:

    dotnet build
    dotnet publish -o {run-folder}
    

Erstellen der Verwaltungsgruppe

In dieser Schnellstartanleitung erstellen Sie eine neue Verwaltungsgruppe in der Stammverwaltungsgruppe.

  1. Ändern Sie die Verzeichnisse in den {run-folder}, den Sie mit dem vorherigen dotnet publish-Befehl definiert haben.

  2. Geben Sie den folgenden Befehl in das Terminal ein:

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

In diesen Befehlen werden folgende Informationen verwendet:

  • Ersetzen Sie {tenantId} durch Ihre Mandanten-ID.
  • {clientId}: Ersetzen Sie diese ID durch die Client-ID Ihres Dienstprinzipals.
  • {clientSecret}: Ersetzen Sie dieses Geheimnis durch den geheimen Clientschlüssel Ihres Dienstprinzipals.
  • {groupID}: Ersetzen Sie diese Variable durch die ID der neuen Verwaltungsgruppe.
  • {displayName}: Ersetzen Sie diese Variable durch den Anzeigenamen der neuen Verwaltungsgruppe.

Das Ergebnis ist eine neue Verwaltungsgruppe in der Stammverwaltungsgruppe.

Bereinigen von Ressourcen

  • Löschen Sie die neue Ressourcengruppe über das Portal.

  • Falls Sie die .NET Core-Konsolenanwendung und die installierten Pakete entfernen möchten, löschen Sie den Projektordner mgCreate.

Nächste Schritte

In dieser Schnellstartanleitung haben Sie eine Verwaltungsgruppe zum Organisieren der Ressourcenhierarchie erstellt. Die Verwaltungsgruppe kann Abonnements oder andere Verwaltungsgruppen enthalten.

Weitere Informationen zu Verwaltungsgruppen und zur Verwaltung Ihrer Ressourcenhierarchie finden Sie im folgenden Artikel: