Avvio rapido: 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.

  • Gli utenti di Microsoft Entra ID nel tenant possono creare un Gruppo di gestione senza l’autorizzazione di scrittura del Gruppo di gestione assegnata a loro se la protezione della gerarchia non è abilitata. 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. Quando viene creato il gruppo di gestione radice, gli utenti non hanno accesso a esso. Per iniziare a usare i gruppi di gestione, il servizio consente la creazione dei gruppi di gestione iniziali a livello di radice. Per altre informazioni, vedere Gruppo di gestione radice per ogni directory.

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 contenuto in questo articolo senza dover installare strumenti nell'ambiente locale.

Per avviare Azure Cloud Shell:

Opzione Esempio/Collegamento
Selezionare Prova nell'angolo superiore destro di un blocco di codice o di comando. Quando si seleziona Prova, il codice o il comando non viene copiato automaticamente in Cloud Shell. Screenshot che mostra un esempio di Prova per Azure Cloud Shell.
Passare a https://shell.azure.com o selezionare il pulsante Avvia Cloud Shell per aprire Cloud Shell nel browser. Pulsante per avviare Azure Cloud Shell.
Selezionare il pulsante Cloud Shell nella barra dei menu nell'angolo in alto a destra del portale di Azure. Screenshot che mostra il pulsante Cloud Shell nel portale di Azure

Per usare Azure Cloud Shell:

  1. Avviare Cloud Shell.

  2. Selezionare il pulsante Copia in un blocco di codice (o in un blocco di comando) 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 o selezionando CMD+MAIUSC+V in macOS.

  4. Premere Invio per eseguire il codice o il comando.

Aggiungere il pacchetto del gruppo di gestione

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

  1. Controllare che sia installata l'ultima versione 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. In un ambiente Go a scelta, 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 prescelto, è il momento di configurare l'applicazione Go che può 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