Démarrage rapide : Créer un groupe d’administration avec Go

Les groupes d’administration sont des conteneurs qui vous aident à gérer l’accès, la stratégie et la conformité dans plusieurs abonnements. Créez ces conteneurs pour construire une hiérarchie efficace utilisable avec Azure Policy et les contrôles d’accès en fonction du rôle Azure. Pour plus d’informations sur les groupes d’administration, consultez Organiser vos ressources avec des groupes d’administration Azure.

La création du premier groupe d’administration dans l’annuaire peut nécessiter jusqu’à 15 minutes. En effet, des processus s’exécutent la première fois pour configurer le service des groupes d’administration dans Azure pour votre annuaire. Vous recevez une notification quand le processus est terminé. Pour plus d’informations, consultez la configuration initiale des groupes d’administration.

Prérequis

  • Si vous n’avez pas d’abonnement Azure, créez un compte gratuit avant de commencer.

  • Un principal de service Azure, y compris les clientId et clientSecret. Si vous n’avez pas de principal de service à utiliser avec Azure Policy ou si souhaitez en créer un, consultez Authentification des bibliothèques de gestion Azure pour .NET. Ignorez l’étape d’installation des packages .NET Core, car nous l’effectuerons dans les prochaines étapes.

  • Tout utilisateur Azure AD dans le locataire peut créer un groupe d’administration sans l’autorisation d’écriture du groupe d’administration attribuée à cet utilisateur si la protection de la hiérarchie n’est pas activée. Ce nouveau groupe d’administration devient alors un enfant du groupe d’administration racine ou le groupe d’administration par défaut, et le rôle « Propriétaire » est attribué au créateur. Le service de groupe d’administration offre cette possibilité afin que les attributions de rôles ne soient pas nécessaires au niveau de la racine. Aucun utilisateur n’a accès au groupe d’administration racine lors de sa création. Pour éviter l’obstacle que constitue la recherche des administrateurs généraux Azure AD pour commencer à utiliser des groupes d’administration, nous autorisons la création des groupes d’administration initiaux au niveau racine.

Azure Cloud Shell

Azure héberge Azure Cloud Shell, un environnement d’interpréteur de commandes interactif que vous pouvez utiliser dans votre navigateur. Vous pouvez utiliser Bash ou PowerShell avec Cloud Shell pour utiliser les services Azure. Vous pouvez utiliser les commandes préinstallées Cloud Shell pour exécuter le code de cet article sans avoir à installer quoi que ce soit dans votre environnement local.

Pour démarrer Azure Cloud Shell :

Option Exemple/Lien
Sélectionnez Essayer dans le coin supérieur droite d’un bloc de codes ou de commandes. La sélection de Essayer ne copie pas automatiquement le code ni la commande dans Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Accédez à https://shell.azure.com ou sélectionnez le bouton Lancer Cloud Shell pour ouvrir Cloud Shell dans votre navigateur. Button to launch Azure Cloud Shell.
Sélectionnez le bouton Cloud Shell dans la barre de menus en haut à droite du portail Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Pour utiliser Azure Cloud Shell :

  1. Démarrez Cloud Shell.

  2. Sélectionnez le bouton Copier sur un bloc de codes (ou un bloc de commandes) pour copier le code ou la commande.

  3. Collez le code ou la commande dans la session Cloud Shell en sélectionnant Ctrl+Maj+V sur Windows et Linux ou en sélectionnant Cmd+Maj+V sur macOS.

  4. Sélectionnez Entrer pour exécuter le code ou la commande.

Ajouter le package de groupes d’administration

Pour permettre à Go de gérer des groupes d’administration, le package doit être ajouté. Ce package fonctionne partout où Go peut être utilisé, notamment avec bash sur Windows 10 ou par le biais d’une installation locale.

  1. Vérifiez que la version la plus récente de Go est installée (1.15 au minimum). Si ce n’est pas le cas, téléchargez-la à l’adresse Golang.org.

  2. Vérifiez que la version la plus récente d’Azure CLI est installée (2.5.1 au minimum). Si ce n’est pas le cas, consultez Installer Azure CLI.

    Notes

    Azure CLI est nécessaire pour permettre à Go d’utiliser la méthode auth.NewAuthorizerFromCLI() dans l’exemple suivant. Pour plus d’informations sur les autres options, consultez Azure SDK pour Go - Autres détails d’authentification.

  3. S’authentifier par le biais d’Azure CLI.

    az login
    
  4. Dans l’environnement Go de votre choix, installez les packages nécessaires pour les groupes d’administration :

    # 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
    

Configuration des applications

Les packages Go étant ajoutés à l’environnement de votre choix, il est temps de configurer l’application Go qui peut créer un groupe d’administration.

  1. Créez l’application Go et enregistrez la source suivante sous 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. Générez l’application Go :

    go build mgCreate.go
    
  3. Créez un groupe d’administration à l’aide de l’application Go compilée. Remplacez <Name> par le nom de votre nouveau groupe d’administration :

    mgCreate "<Name>"
    

Le résultat est un nouveau groupe d’administration dans le groupe d’administration racine.

Nettoyer les ressources

Si vous souhaitez supprimer les packages installés de votre environnement Python, vous pouvez utiliser la commande suivante :

# 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

Étapes suivantes

Dans ce guide de démarrage rapide, vous avez créé un groupe d’administration pour organiser votre hiérarchie de ressources. Le groupe d’administration peut contenir des abonnements ou d’autres groupes d’administration.

Pour en savoir plus sur les groupes d’administration et sur la gestion de votre hiérarchie de ressources, consultez :