Inicio rápido: Creación de un grupo de administración con Go

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.

Incorporación del paquete del grupo de administración

Para habilitar Go para administrar grupos de administración, el paquete debe agregarse. Este paquete funciona siempre que se pueda usar Go, lo que incluye bash en Windows 10 o instalado localmente.

  1. Compruebe que está instalada la versión más reciente de Go (al menos la 1.15). Si aún no está instalada, descárguela en Golang.org.

  2. Compruebe que está instalada la versión más reciente de la CLI de Azure (al menos la 2.5.1). Si aún no está instalada, consulte Instalación de la CLI de Azure.

    Nota

    Se requiere la CLI de Azure para permitir que Go utilice el método auth.NewAuthorizerFromCLI() en el ejemplo siguiente. Para más información sobre otras opciones, consulte Azure SDK para Go: Detalles de autenticación.

  3. Autentíquese mediante la CLI de Azure.

    az login
    
  4. En el entorno de Go que elija, instale los paquetes necesarios para los grupos de administración:

    # 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
    

Configuración de la aplicación

Con los paquetes de Go agregados al entorno elegido, es el momento de configurar la aplicación de Go para crear un grupo de administración.

  1. Cree la aplicación Go y guarde el siguiente origen como 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. Compile la aplicación Go:

    go build mgCreate.go
    
  3. Cree un grupo de administración mediante la aplicación Go creada. Reemplace <Name> por el nombre del grupo de administración nuevo:

    mgCreate "<Name>"
    

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

Limpieza de recursos

Si desea quitar los paquetes instalados del entorno de Go, puede hacerlo mediante el comando siguiente:

# 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

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: