Démarrage rapide : Créer un groupe d’administration avec .NET Core

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 Entrée pour exécuter le code ou la commande.

Configuration des applications

Pour permettre à .NET Core de gérer des groupes d’administration, créez une application console et installez les packages nécessaires.

  1. Vérifiez que la version la plus récente de .NET Core est installée (au minimum, la version 3.1.8). Si ce n’est pas le cas, téléchargez-la à l’adresse dotnet.microsoft.com.

  2. Initialisez une nouvelle application console .NET Core nommée « mgCreate » :

    dotnet new console --name "mgCreate"
    
  3. Remplacez les répertoires dans le dossier du nouveau projet, et installez les packages requis pour 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. Remplacez le program.cs par défaut par le code suivant et enregistrez le fichier mis à jour :

    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. Générez et publiez l’application consolemgCreate :

    dotnet build
    dotnet publish -o {run-folder}
    

Créer le groupe d’administration

Dans ce démarrage rapide, vous allez créer un groupe d’administration dans le groupe d’administration racine.

  1. Remplacez les répertoires par le {run-folder} que vous avez défini à l’aide de la commande dotnet publish précédente.

  2. Entrez la commande suivante dans le terminal :

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

Les commandes précédentes utilisent les informations suivantes :

  • Remplacer {tenantId} par l’ID de votre locataire
  • {clientId} - Remplacer l’ID client de votre principal de service
  • {clientSecret} - Remplacer le secret client de votre principal de service
  • {groupID} - Remplacer par l’ID de votre nouveau groupe d’administration
  • {displayName} - Remplacer par le nom convivial de votre nouveau groupe d’administration

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

Nettoyer les ressources

  • Supprimez le nouveau groupe d’administration via le portail.

  • Si vous souhaitez supprimer l’application console .NET Core et les packages installés, supprimez le dossier de projet mgCreate.

É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 :