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. Während der Erstellung der Stammverwaltungsgruppe 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. | |
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen. | |
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus. |
So verwenden Sie Azure Cloud Shell:
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock (oder Befehlsblock) aus, um den Code oder Befehl zu kopieren.
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.
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.
Ü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.
Ü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.Führen Sie die Authentifizierung über Azure CLI aus.
az login
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.
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()) } }
Erstellen Sie die Go-Anwendung:
go build mgCreate.go
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: