Freigeben über


Schnellstart: Erstellen einer Verwaltungsgruppe mit Go

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.

  • Jeder Microsoft Entra ID-Benutzer im Mandanten kann 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. Wenn die Stammverwaltungsgruppe erstellt wird, haben Benutzer keinen Zugriff darauf. Für den Einstieg in die Verwendung von Verwaltungsgruppen ermöglicht der Dienst die Erstellung der anfänglichen Verwaltungsgruppen auf der Stammebene. Weitere Informationen finden Sie unter Stammverwaltungsgruppe für jedes Verzeichnis.

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: Beispiel von „Jetzt testen“ für 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. Schaltfläche zum Starten von Azure Cloud Shell.
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. Screenshot: Schaltfläche „Cloud Shell“ im 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.

Hinzufügen des Verwaltungsgruppenpakets

Das Paket muss hinzugefügt werden, um in Go die Verwaltung von Verwaltungsgruppen zu ermöglichen. Dieses Paket funktioniert überall dort, wo Go verwendet werden kann. Dies schließt Bash unter Windows 10 oder eine lokale Installation ein.

  1. Überprüfen Sie, ob die aktuelle Go-Version (mindestens 1.15) installiert ist. Falls sie noch nicht installiert ist, laden Sie die Version von Golang.org herunter.

  2. Überprüfen Sie, ob die aktuelle Azure CLI-Version (mindestens 2.5.1) installiert ist. Falls sie noch nicht installiert ist, lesen Sie den Artikel Installieren der Azure CLI.

    Hinweis

    Die Azure CLI ist erforderlich, um Go die Verwendung der auth.NewAuthorizerFromCLI()-Methode im folgenden Beispiel zu ermöglichen. Weitere Informationen zu anderen Optionen finden Sie unter Azure SDK für Go – Weitere Authentifizierungsdetails.

  3. Führen Sie die Authentifizierung über Azure CLI aus.

    az login
    
  4. Installieren Sie in der Go-Umgebung Ihrer Wahl die erforderlichen Pakete für Verwaltungsgruppen:

    # Add the management group package for Go
    go install github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups@latest
    
    # Add the Azure auth package for Go
    go install github.com/Azure/go-autorest/autorest/azure/auth@latest
    

Anwendungseinrichtung

Wurden die Go-Pakete der Umgebung Ihrer Wahl hinzugefügt, ist es an der Zeit, die Go-Anwendung einzurichten, die eine Verwaltungsgruppe erstellen kann.

  1. Erstellen Sie die Go-Anwendung, und speichern Sie die folgende Quelle als mgCreate.go:

    package main
    
    import (
      "context"
      "fmt"
      "os"
    
      mg "github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups"
      "github.com/Azure/go-autorest/autorest/azure/auth"
    )
    
    func main() {
      // Get variables from command line arguments
      var mgName = os.Args[1]
    
      // Create and authorize a client
      mgClient := mg.NewClient()
      authorizer, err := auth.NewAuthorizerFromCLI()
      if err == nil {
        mgClient.Authorizer = authorizer
      } else {
        fmt.Printf(err.Error())
      }
    
      // Create the request
      Request := mg.CreateManagementGroupRequest{
        Name: &mgName,
      }
    
      // Run the query and get the results
      var results, queryErr = mgClient.CreateOrUpdate(context.Background(), mgName, Request, "no-cache")
      if queryErr == nil {
        fmt.Printf("Results: " + fmt.Sprint(results) + "\n")
      } else {
        fmt.Printf(queryErr.Error())
      }
    }
    
  2. Erstellen Sie die Go-Anwendung:

    go build mgCreate.go
    
  3. Erstellen Sie mithilfe der kompilierten Go-Anwendung eine Verwaltungsgruppe. Ersetzen Sie <Name> durch den Namen Ihrer neuen Verwaltungsgruppe:

    mgCreate "<Name>"
    

Das Ergebnis ist eine neue Verwaltungsgruppe in der Stammverwaltungsgruppe.

Bereinigen von Ressourcen

Wenn Sie die installierten Pakete aus Ihrer Go-Umgebung entfernen möchten, können Sie dazu den folgenden Befehl verwenden:

# Remove the installed packages from the Go environment
go clean -i github.com/Azure/azure-sdk-for-go/services/resources/mgmt/2020-05-01/managementgroups
go clean -i github.com/Azure/go-autorest/autorest/azure/auth

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: