Share via


Guida introduttiva: Creare un gruppo di gestione con Go

I gruppi di gestione sono contenitori che semplificano la gestione dell'accesso, dei criteri e della conformità tra più sottoscrizioni. Creare questi contenitori per creare una gerarchia efficiente ed efficace utilizzabile con Criteri di Azure e Controllo degli accessi in base al ruolo di Azure. Per altre informazioni sui gruppi di gestione, vedere Organizzare le risorse con i gruppi di gestione di Azure.

La creazione del primo gruppo di gestione nella directory può richiedere fino a 15 minuti. La prima volta vengono eseguiti processi che eseguono la configurazione del servizio dei gruppi di gestione all'interno di Azure per la directory. Al termine dei processi, si riceve una notifica. Per altre informazioni, vedere Configurazione iniziale dei gruppi di gestione.

Prerequisiti

  • Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

  • Un'entità servizio di Azure, tra cui clientId e clientSecret. Se non si hanno entità servizio da usare con Criteri di Azure o se ne vuole creare una nuova, vedere Librerie di gestione di Azure per l'autenticazione .NET. Ignorare il passaggio per installare i pacchetti di .NET Core perché questa operazione verrà descritta nei passaggi successivi.

  • Se la protezione della gerarchia non è abilitata, qualsiasi utente di Azure AD nel tenant può creare un gruppo di gestione senza avere autorizzazioni di scrittura assegnate per tale gruppo di gestione. Questo nuovo gruppo di gestione diventa un elemento figlio del gruppo di gestione radice o del gruppo di gestione predefinito e all'autore viene assegnato il ruolo "Proprietario". Il servizio del gruppo di gestione offre questa possibilità per evitare che siano necessarie assegnazioni di ruolo a livello di radice. Nessun utente ha accesso al gruppo di gestione radice quando viene creato. Per evitare il problema di reperire gli amministratori globali di Azure AD per iniziare a usare i gruppi di gestione, è consentita la creazione dei gruppi di gestione iniziali al livello radice.

Azure Cloud Shell

Azure Cloud Shell è un ambiente di shell interattivo ospitato in Azure e usato tramite il browser. È possibile usare Bash o PowerShell con Cloud Shell per usare i servizi di Azure. È possibile usare i comandi preinstallati di Cloud Shell per eseguire il codice in questo articolo, senza dover installare alcun elemento nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un codice o di un blocco di comandi. Selezionando Prova non viene copiato automaticamente il codice o il comando in Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Button to launch Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot that shows the Cloud Shell button in the Azure portal

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o blocco di comandi) per copiare il codice o il comando.

  3. Incollare il codice o il comando nella sessione di Cloud Shell selezionando CTRL+MAIUSC+V in Windows e Linux oppure selezionando CMD+MAIUSC+V in macOS.

  4. Selezionare INVIO per eseguire il codice o il comando.

Aggiungere il pacchetto del gruppo di gestione

Per abilitare Go per gestire i gruppi di gestione, è necessario aggiungere il pacchetto. Questo pacchetto funziona ovunque sia possibile usare Go, sia con Bash in Windows 10 o con installazione locale.

  1. Verificare che sia installata la versione più recente di Go (almeno 1.15). Se non è ancora installata, scaricarla dal sito Golang.org.

  2. Controllare che sia installata l'interfaccia della riga di comando di Azure più recente o almeno la versione 2.5.1. Se non è ancora installata, vedere Installare l'interfaccia della riga di comando di Azure.

    Nota

    L'interfaccia della riga di comando di Azure è necessaria per consentire a Go di usare il metodo auth.NewAuthorizerFromCLI() nell'esempio seguente. Per informazioni sulle altre opzioni, vedere Azure SDK per Go - Altri dettagli sull'autenticazione.

  3. Eseguire l'autenticazione tramite l'interfaccia della riga di comando di Azure.

    az login
    
  4. Nell'ambiente Go preferito installare i pacchetti necessari per i gruppi di gestione:

    # 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
    

Configurazione dell'applicazione

Con i pacchetti Go aggiunti all'ambiente preferito, è possibile configurare l'applicazione Go in grado di creare un gruppo di gestione.

  1. Creare l'applicazione Go e salvare l'origine seguente come 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. Compilare l'applicazione Go:

    go build mgCreate.go
    
  3. Creare un gruppo di gestione usando l'applicazione Go compilata. Sostituire <Name> con il nome del nuovo gruppo di gestione:

    mgCreate "<Name>"
    

Il risultato è un nuovo gruppo di gestione nel gruppo di gestione radice.

Pulire le risorse

Per rimuovere i pacchetti installati dall'ambiente Go, usare il comando seguente:

# 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

Passaggi successivi

In questo argomento di avvio rapido è stato creato un gruppo di gestione per organizzare la gerarchia delle risorse. Il gruppo di gestione può contenere sottoscrizioni o altri gruppi di gestione.

Per altre informazioni sui gruppi di gestione e su come gestire la gerarchia delle risorse, continuare con:

Gestire le risorse con i gruppi di gestione