Condividi tramite


Risolvere i problemi correlati alle connessioni al servizio Azure Resource Manager

Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019

Questo articolo presenta gli scenari di risoluzione dei problemi comuni che consentono di risolvere i problemi che possono verificarsi durante la creazione di una connessione al servizio Azure Resource Manager. Vedere Gestire le connessioni al servizio per informazioni su come creare, modificare e proteggere le connessioni al servizio.

Cosa accade quando si crea una connessione al servizio Azure Resource Manager?

Se non si ha una connessione al servizio, è possibile crearne una come indicato di seguito:

  1. Nel progetto selezionare Impostazioni progetto e quindi Connessioni al servizio.

    Screenshot che mostra come accedere alle connessioni al servizio dalle impostazioni del progetto

  2. Selezionare Nuova connessione al servizio per aggiungere una nuova connessione al servizio e quindi selezionare Azure Resource Manager. Al termine, selezionare Avanti.

    Screenshot che mostra i tipi di connessioni al servizio.

  3. Selezionare Registrazione app (automatica) e Federazione dell'identità del carico di lavoro come credenziale.

  4. Selezionare Sottoscrizione e quindi selezionare la sottoscrizione dall'elenco a discesa. Compilare il resto del modulo e quindi selezionare Salva al termine.

Quando si salva la nuova connessione al servizio Azure Resource Manager, Azure DevOps esegue le azioni seguenti:

  1. Si connette al tenant di Microsoft Entra per alla sottoscrizione selezionata.
  2. Crea un'applicazione in Microsoft Entra ID per conto dell'utente.
  3. Assegna l'applicazione come collaboratore alla sottoscrizione selezionata.
  4. Crea una connessione al servizio Azure Resource Manager usando i dettagli dell'applicazione.

Nota

Per creare connessioni al servizio, aggiungere il gruppo Creator di endpoint nelle impostazioni del progetto: Impostazioni>progetto Connessioni>del servizio Sicurezza. I collaboratori vengono aggiunti a questo gruppo per impostazione predefinita.

Scenari di risoluzione dei problemi

Quando si creano connessioni al servizio, possono verificarsi i problemi seguenti:

L'utente dispone solo dell'autorizzazione guest nella directory

  1. Accedere al portale di Azure usando un account amministratore. L'account deve essere un proprietario o un amministratore dell'account utente.

  2. Selezionare Microsoft Entra ID nella barra di spostamento a sinistra.

  3. Assicurarsi di modificare la directory appropriata corrispondente alla sottoscrizione utente. In caso contrario, selezionare Cambia directory e accedere usando le credenziali appropriate, se necessario.

  4. Selezionare Utenti nella sezione Gestisci .

  5. Selezionare Impostazioni utente.

  6. Selezionare Gestisci impostazioni di collaborazione esterna nella sezione Utenti esterni.

  7. Modificare le autorizzazioni utente guest sono limitate su No.

In alternativa, se si è pronti a concedere le autorizzazioni a livello di amministratore utente, è possibile rendere l'utente membro di un ruolo di amministratore. Effettua i passaggi seguenti:

Avviso

L'assegnazione di utenti al ruolo di amministratore globale consente di leggere e modificare ogni impostazione amministrativa nell'organizzazione Microsoft Entra. Come procedura consigliata, assegnare questo ruolo a meno di cinque persone nell'organizzazione.

  1. Accedere al portale di Azure usando un account amministratore. L'account deve essere un proprietario o un amministratore dell'account utente.

  2. Nel riquadro di spostamento a sinistra seleziona Microsoft Entra ID.

  3. Assicurarsi di modificare la directory appropriata corrispondente alla sottoscrizione utente. In caso contrario, selezionare Cambia directory e accedere usando le credenziali appropriate, se necessario.

  4. Selezionare Utenti nella sezione Gestisci .

  5. Usare la casella di ricerca per cercare l'utente che si vuole gestire.

  6. Selezionare Ruolo directory nella sezione Gestisci e quindi modificare il ruolo. Al termine, seleziona Salva.

L'applicazione delle modifiche a livello globale richiede in genere da 15 a 20 minuti. L'utente può quindi provare a ricreare la connessione al servizio.

L'utente non è autorizzato ad aggiungere applicazioni nella directory

È necessario disporre delle autorizzazioni per aggiungere applicazioni integrate nella directory. L'amministratore della directory dispone delle autorizzazioni per modificare questa impostazione.

  1. Selezionare Microsoft Entra ID nel riquadro di spostamento sinistro.

  2. Assicurarsi di modificare la directory appropriata corrispondente alla sottoscrizione utente. In caso contrario, selezionare Cambia directory e accedere usando le credenziali appropriate, se necessario.

  3. Selezionare Utenti e quindi Impostazioni utente.

  4. In Registrazioni app e quindi modificare l'opzione Utenti possono registrare le applicazioni in .

È anche possibile creare l'entità servizio con un utente esistente che dispone già delle autorizzazioni necessarie in Microsoft Entra ID. Per altre informazioni, vedere Creare una connessione al servizio Azure Resource Manager esistente con un'entità servizio esistente.

Impossibile ottenere un token di accesso o non è stato trovato un token di aggiornamento valido

Questi errori si verificano in genere quando la sessione è scaduta. Per risolvere questi problemi:

  1. Disconnettersi da Azure DevOps.
  2. Aprire una finestra del browser InPrivate o in incognito e passare ad Azure DevOps.
  3. Accedere usando le credenziali appropriate.
  4. Selezionare l'organizzazione e il progetto.
  5. Creare la connessione al servizio.

Impossibile assegnare il ruolo Collaboratore

Questo errore si verifica in genere quando non si dispone dell'autorizzazione di scrittura per la sottoscrizione di Azure selezionata.

Per risolvere questo problema, chiedere all'amministratore della sottoscrizione di assegnare il ruolo appropriato in Microsoft Entra ID.

La sottoscrizione non è elencata durante la creazione di una connessione al servizio

  • Massimo 50 sottoscrizioni di Azure elencate nei vari menu a discesa della sottoscrizione di Azure (fatturazione, connessione al servizio e così via): se si configura una connessione al servizio e si hanno più di 50 sottoscrizioni di Azure, alcune delle sottoscrizioni non sono elencate. In questo scenario completare i passaggi seguenti:

    1. Creare un nuovo utente Microsoft Entra nativo nell'istanza di Microsoft Entra della sottoscrizione di Azure.
    2. Configurare l'utente di Microsoft Entra in modo che disponga delle autorizzazioni appropriate per configurare la fatturazione o creare connessioni al servizio. Per altre informazioni, vedere Aggiungere un utente che possa configurare la fatturazione per Azure DevOps.
    3. Aggiungere l'utente Di Microsoft Entra all'organizzazione Azure DevOps con un livello di accesso stakeholder e quindi aggiungerlo al gruppo Project Collection Administrators (per la fatturazione) oppure assicurarsi che l'utente disponga di autorizzazioni sufficienti nel progetto Team per creare connessioni al servizio.
    4. Accedere ad Azure DevOps con le nuove credenziali utente e configurare la fatturazione. Nell'elenco viene visualizzata una sola sottoscrizione di Azure.
  • Token utente precedente memorizzato nella cache in Azure DevOps Services: se la sottoscrizione di Azure non è elencata quando si crea una connessione al servizio Azure Resource Manager (ARM), potrebbe essere dovuta a un token utente precedente memorizzato nella cache in Azure DevOps Services. Questo scenario non è immediatamente ovvio perché la schermata di elenco delle sottoscrizioni di Azure non visualizza errori o messaggi di avviso che indicano che il token utente non è aggiornato. Per risolvere questo problema, aggiornare manualmente il token utente memorizzato nella cache in Azure DevOps Services seguendo questa procedura:

    1. Disconnettersi da Azure DevOps Services e accedere di nuovo. Questa azione può aggiornare il token utente.
    2. Cancellare la cache e i cookie del browser per assicurarsi che tutti i token precedenti vengano rimossi.
    3. Dal portale di Azure DevOps passare alle connessioni al servizio e riautorizzare la connessione ad Azure. Questo passaggio richiede ad Azure DevOps di usare un nuovo token.

Alcune sottoscrizioni non sono presenti nell'elenco delle sottoscrizioni

  • Modificare le impostazioni dei tipi di account di supporto: questo problema può essere risolto modificando le impostazioni dei tipi di account supportati e definendo chi può usare l'applicazione. Effettua i passaggi seguenti:

    1. Accedere al portale di Azure.
    2. Se si ha accesso a più tenant, usare il filtro Directory e sottoscrizione nel menu in alto per selezionare il tenant in cui si vuole registrare un'applicazione.

    Screenshot che mostra l'icona della directory e delle sottoscrizioni in portale di Azure.

    1. Selezionare Microsoft Entra ID nel riquadro sinistro.
    2. Selezionare Registrazioni app.
    3. Selezionare l'applicazione dall'elenco delle applicazioni registrate.
    4. In Autenticazione selezionare Tipi di account supportati.
    5. In Tipi di account supportati, Chi può usare questa applicazione o accedere a questa API? selezionare Account in qualsiasi directory organizzativa.

    Screenshot che mostra i tipi di account supportati.

    1. Al termine, seleziona Salva.
  • Token utente precedente memorizzato nella cache in Azure DevOps Services: se la sottoscrizione di Azure non è elencata quando si crea una connessione al servizio Azure Resource Manager (ARM), potrebbe essere dovuta a un token utente precedente memorizzato nella cache in Azure DevOps Services. Questo scenario non è immediatamente ovvio perché la schermata di elenco delle sottoscrizioni di Azure non visualizza errori o messaggi di avviso che indicano che il token utente non è aggiornato. Per risolvere questo problema, aggiornare manualmente il token utente memorizzato nella cache in Azure DevOps Services seguendo questa procedura:

    1. Disconnettersi da Azure DevOps Services e accedere di nuovo. Questa azione può aggiornare il token utente.
    2. Cancellare la cache e i cookie del browser per assicurarsi che tutti i token precedenti vengano rimossi.
    3. Dal portale di Azure DevOps passare alle connessioni al servizio e riautorizzare la connessione ad Azure. Questo passaggio richiede ad Azure DevOps di usare un nuovo token.

Token dell'entità servizio scaduto

Un problema che spesso si verifica con le entità servizio create automaticamente è che il token dell'entità servizio scade e deve essere rinnovato. Tuttavia, se si verifica un problema con l'aggiornamento del token, vedere Il token di aggiornamento valido non è stato trovato.

Se il token è scaduto, potrebbe essere visualizzato uno dei messaggi di errore:

  • AADSTS7000215: Invalid client secret is provided
  • AADSTS7000222: The provided client secret keys for app '***' are expired
  • Invalid client id or client secret

Per rinnovare il token di accesso per un'entità servizio creata automaticamente:

  1. Passare a Project settings Service connections (Connessioni al servizio)>e quindi selezionare la connessione al servizio da modificare.

  2. Selezionare Modifica nell'angolo in alto a destra e quindi selezionare Verifica.

  3. Seleziona Salva.

Il token dell'entità servizio viene ora rinnovato per altri tre mesi.

Nota

Questa operazione è disponibile anche se il token dell'entità servizio non è scaduto.

Assicurarsi che l'utente che esegue l'operazione disponga delle autorizzazioni appropriate per la sottoscrizione e l'ID Microsoft Entra, perché aggiornerà il segreto per l'app registrata per l'entità servizio. Per altre informazioni, vedere Creare una connessione al servizio Azure Resource Manager usando la sicurezza automatizzata e Cosa accade quando si crea una connessione al servizio Resource Manager?

Impossibile ottenere il token JWT usando l'ID client dell'entità servizio

Questo problema si verifica quando si tenta di verificare una connessione al servizio con un segreto scaduto.

Per risolvere il problema:

  1. Passare a Project settings Service connections (Connessioni al servizio)>e quindi selezionare la connessione al servizio da modificare.

  2. Selezionare Modifica nell'angolo superiore destro e quindi apportare qualsiasi modifica alla connessione al servizio. La modifica più semplice e consigliata consiste nell'aggiungere una descrizione.

  3. Selezionare Salva per salvare la connessione al servizio.

    Nota

    Seleziona Salva. Non provare a verificare la connessione al servizio in questo passaggio.

  4. Uscire dalla finestra di modifica della connessione al servizio e quindi aggiornare la pagina connessioni al servizio.

  5. Selezionare Modifica nell'angolo in alto a destra e quindi selezionare Verifica.

  6. Selezionare Salva per salvare la connessione al servizio.

La sottoscrizione di Azure non viene passata dall'output dell'attività precedente

Quando si imposta la sottoscrizione di Azure in modo dinamico per la pipeline di versione e si vuole usare la variabile di output di un'attività precedente, è possibile che si verifichi questo problema.

Per risolvere il problema, assicurarsi che i valori siano definiti all'interno della sezione variables della pipeline. È quindi possibile passare questa variabile tra le attività della pipeline.

Quali meccanismi di autenticazione sono supportati? Come funzionano le identità gestite?

Una connessione al servizio Azure Resource Manager può connettersi a una sottoscrizione di Azure usando un'autenticazione dell'entità servizio (SPA) o l'autenticazione dell'identità gestita. Le identità gestite per le risorse di Azure offrono ai servizi di Azure un'identità gestita automaticamente in Microsoft Entra ID. È possibile usare questa identità per eseguire l'autenticazione a qualsiasi servizio che supporti l'autenticazione di Microsoft Entra senza rendere persistenti le credenziali nel codice o nella connessione al servizio.

Per informazioni sulle identità gestite per le macchine virtuali, vedere Assegnazione di ruoli.

Nota

Le identità gestite non sono supportate negli agenti ospitati da Microsoft. In questo scenario è necessario configurare un agente self-hosted in una macchina virtuale di Azure e configurare un'identità gestita per tale macchina virtuale.