Share via


Inicio rápido: Creación de un grupo de administración con .NET Core

Los grupos de administración son contenedores que ayudan a administran el acceso, las directivas y el cumplimiento de varias suscripciones. Cree estos contenedores para construir una jerarquía eficaz y eficiente que pueda usarse con Azure Policy y los controles de acceso basados en roles de Azure. Para obtener más información sobre los grupos de administración, consulte Organización de los recursos con grupos de administración de Azure.

El primer grupo de administración creado en el directorio puede tardar hasta 15 minutos en completarse. Hay procesos que se ejecutan la primera vez para configurar el servicio de grupos de administración dentro de Azure para su directorio. Recibirá una notificación cuando finalice el proceso. Para obtener más información, vea Instalación inicial de los grupos de administración.

Requisitos previos

  • Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.

  • Una entidad de servicio de Azure, que incluya clientId y clientSecret. Si no tiene una entidad de servicio para usarla con Azure Policy o si desea crear una, consulte Bibliotecas de administración de Azure para la autenticación de .NET. Omita el paso en el que se instalan los paquetes de .NET Core, ya que lo haremos en los pasos siguientes.

  • Si la protección de jerarquías no está habilitada, cualquier usuario de Azure AD del inquilino puede crear un grupo de administración sin tener el permiso de escritura del grupo de administración asignado. Este nuevo grupo de administración pasa a ser un elemento secundario del grupo de administración raíz o del grupo de administración predeterminado y al creador se le asigna el rol de "Propietario". El servicio del grupo de administración ofrece esta funcionalidad para que las asignaciones de roles no sean necesarias en el nivel raíz. Ningún usuario tiene acceso al grupo de administración raíz cuando se crea. Para sortear el obstáculo de buscar administradores globales de Azure AD para empezar a usar grupos de administración, se permite la creación de grupos de administración iniciales en el nivel raíz.

Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.

Para iniciar Azure Cloud Shell:

Opción Ejemplo o vínculo
Seleccione Pruébelo en la esquina superior derecha de un bloque de código o de comandos. Solo con seleccionar Pruébelo no se copia automáticamente el código o comando en Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. Button to launch Azure Cloud Shell.
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Para usar Azure Cloud Shell:

  1. Inicie Cloud Shell.

  2. Seleccione el botón Copiar en un bloque de código (o bloque de comandos) para copiar el código o comando.

  3. Pegue el código o comando en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.

  4. Seleccione Enter para ejecutar el código o comando.

Configuración de la aplicación

Para habilitar .NET Core para administrar Azure grupos de administración, cree una aplicación de consola e instale los paquetes necesarios.

  1. Compruebe que está instalada la versión más reciente de .NET Core (3.1.8 como mínimo). Si aún no lo está, descárguela en dotnet.microsoft.com.

  2. Inicialice una nueva aplicación de consola de .NET Core denominada "mgCreate":

    dotnet new console --name "mgCreate"
    
  3. Cambie los directorios a la nueva carpeta del proyecto e instale los paquetes necesarios para 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. Reemplace el archivo program.cs predeterminado por el código siguiente y guarde el archivo actualizado:

    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. Compile y publique la aplicación de consola mgCreate:

    dotnet build
    dotnet publish -o {run-folder}
    

Creación del grupo de administración

En este inicio rápido, creará un nuevo grupo de administración en el grupo de administración raíz.

  1. Cambie los directorios a {run-folder}, que ha definido con el comando dotnet publish anterior.

  2. En el terminal, escriba el siguiente comando:

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

Los comandos anteriores usan la siguiente información:

  • {tenantId}: reemplácelo por su identificador de inquilino
  • {clientId}: reemplácelo por el identificador de cliente de la entidad de servicio
  • {clientSecret}: reemplácelo por el secreto de cliente de la entidad de servicio
  • {groupID}: reemplácelo por el id. del grupo de administración
  • {displayName}: reemplácelo por el nombre descriptivo del grupo de administración

El resultado es un nuevo grupo de administración en el grupo de administración raíz.

Limpieza de recursos

  • Elimine el grupo de administración nuevo a través del portal.

  • Si desea quitar las aplicaciones de consola de .NET Core y los paquetes instalados, elimine la carpeta del proyecto mgCreate.

Pasos siguientes

En este inicio rápido, ha creado un grupo de administración para organizar una jerarquía de recursos. El grupo de administración puede contener suscripciones u otros grupos de administración.

Para más información acerca de los grupos de administración y cómo administrar la jerarquía de recursos, vaya a: