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

Questo articolo elenca altri metodi che le app possono usare per eseguire l'autenticazione alle risorse di Azure. I metodi in questo articolo sono meno comunemente usati; quando possibile, è consigliabile usare uno dei metodi descritti nell'autenticazione di app Python in Azure usando la panoramica di Azure SDK.

Autenticazione interattiva del browser

Questo metodo autentica in modo interattivo un'applicazione tramite InteractiveBrowserCredential mediante la raccolta delle 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, l'uso dell'autenticazione interattiva del browser è sconsigliato per tutto, tranne 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 l'autenticazione del codice del dispositivo descritta più avanti. L'esecuzione di questo processo è necessaria 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, quindi selezionare Autenticazione.

  3. In Impostazioni avanzate, selezionare Sì per Consenti i 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 desidera accedere. Microsoft Graph è 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 flusso di codice del dispositivo in Active Directory, potrebbe essere necessario che l'applicazione sia multi-tenant. Per apportare questa modifica, passare al pannello Autenticazione , selezionare Account in qualsiasi directory organizzativa (in Tipi 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 InteractiveBrowserCredential per l'autenticazione con SubscriptionClient:

# Show Azure subscription information

import os
from azure.identity import InteractiveBrowserCredential
from azure.mgmt.resource import SubscriptionClient

credential = InteractiveBrowserCredential()
subscription_client = SubscriptionClient(credential)

subscription = next(subscription_client.subscriptions.list())
print(subscription.subscription_id)

per un controllo più esatto, ad esempio l'impostazione degli URI di reindirizzamento, è possibile fornire argomenti specifici a InteractiveBrowserCredential, ad esempio redirect_uri.

Autenticazione con 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 delle 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.