Metodi aggiuntivi per l'autenticazione alle risorse di Azure dalle app Go

Questo articolo elenca altri metodi che le app possono usare per eseguire l'autenticazione alle risorse di Azure. Questi metodi sono meno comunemente usati. Quando possibile, usare uno dei metodi descritti nell'autenticazione delle app Go in Azure usando la panoramica di Azure SDK.

Autenticazione interattiva del browser

Questo metodo autentica un'applicazione tramite InteractiveBrowserCredential raccogliendo le credenziali utente nel sistema predefinito.

L'autenticazione interattiva del browser abilita l'applicazione per tutte le operazioni consentite dalle credenziali di accesso interattive. Di conseguenza, se si è il proprietario o l'amministratore della sottoscrizione, il codice ha accesso intrinseco alla maggior parte delle risorse in tale sottoscrizione senza dover assegnare autorizzazioni specifiche. Per questo motivo, usare l'autenticazione interattiva del browser solo per la sperimentazione.

Abilitare le applicazioni per l'autenticazione interattiva del browser

Seguire questa procedura per consentire all'applicazione di eseguire l'autenticazione tramite il flusso interattivo del browser. Questi passaggi funzionano anche per 'autenticazione del codice del dispositivo descritto più avanti. È necessario seguire questo processo solo se si usa InteractiveBrowserCredential nel codice.

  1. Nel portale di Azure passare a Microsoft Entra ID e selezionare Registrazioni app nel menu a sinistra.

  2. Selezionare la registrazione per l'app e quindi selezionare Autenticazione.

  3. In Impostazioni avanzateselezionare Sì per Consenti flussi client pubblici.

  4. Selezionare Salva per applicare le modifiche.

  5. Per autorizzare l'applicazione per risorse specifiche, passare alla risorsa in questione, selezionare Autorizzazioni API e abilitare Microsoft Graph e altre risorse a cui si vuole accedere. Microsoft Graph è in genere abilitato per impostazione predefinita.

    Importante

    È anche necessario essere l'amministratore del tenant per concedere il consenso all'applicazione quando si accede per la prima volta.

Se non è possibile configurare l'opzione "device code flow" nell'ID Microsoft Entra, potrebbe essere necessario che la tua applicazione sia multitenant. Per apportare questa modifica, passare al pannello Autenticazione , selezionare Account in qualsiasi directory organizzativa (inTipi di account supportati) e quindi selezionare Sì per Consenti flussi client pubblici.

Esempio di uso di InteractiveBrowserCredential

Nell'esempio seguente viene illustrato l'uso di un InteractiveBrowserCredential per autenticarsi con il SubscriptionsClient nel pacchetto armsubscription:

package main

import (
	"context"
	"log"

	"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
	"github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/subscription/armsubscription"
)

func main() {
	cred, err := azidentity.NewInteractiveBrowserCredential(nil)
	if err != nil {
		// TODO: handle error
	}
	ctx := context.Background()
	clientFactory, err := armsubscription.NewClientFactory(cred, nil)
	if err != nil {
		// TODO: handle error
	}
	res, err := clientFactory.NewSubscriptionsClient().Get(ctx, "<your_subscription_id>", nil)
	if err != nil {
		// TODO: handle error
	}
	// You could use response here. We use blank identifier for just demo purposes.
	_ = res
}

Per un controllo più preciso, come la configurazione degli URI di reindirizzamento, è possibile fornire argomenti specifici, come RedirectURL a InteractiveBrowserCredential, tramite il tipo InteractiveBrowserCredentialOptions.

Autenticazione del codice del dispositivo

Questo metodo autentica in modo interattivo un utente nei dispositivi con interfaccia utente limitata (in genere dispositivi senza tastiera):

  1. Quando l'applicazione tenta di eseguire l'autenticazione, le credenziali richiedono all'utente un URL e un codice di autenticazione.
  2. L'utente visita l'URL su un dispositivo abilitato per browser separato (un computer, uno smartphone e così via) e immette il codice.
  3. L'utente segue un normale processo di autenticazione nel browser.
  4. Al termine dell'autenticazione, l'applicazione viene autenticata nel dispositivo.

Per altre informazioni, vedere Microsoft Identity Platform e il flusso di concessione di autorizzazioni per dispositivi OAuth 2.0.

L'autenticazione del codice del dispositivo in un ambiente di sviluppo abilita l'applicazione per tutte le operazioni consentite dalle credenziali di accesso interattive. Di conseguenza, se si è il proprietario o l'amministratore della sottoscrizione, il codice ha accesso intrinseco alla maggior parte delle risorse in tale sottoscrizione senza dover assegnare autorizzazioni specifiche. Tuttavia, è possibile usare questo metodo con un ID client specifico, anziché l'impostazione predefinita, per cui è possibile assegnare autorizzazioni specifiche.

Usare il DeviceCodeCredential tipo del azidentity pacchetto per implementare l'autenticazione del codice del dispositivo.