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.

  • 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.

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: