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:
Nel progetto selezionare Impostazioni progetto e quindi Connessioni al servizio.
Selezionare Nuova connessione al servizio per aggiungere una nuova connessione al servizio e quindi selezionare Azure Resource Manager. Al termine, selezionare Avanti.
Selezionare Registrazione app (automatica) come tipo di identità e Federazione dell'identità del carico di lavoro come credenziale.
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:
- Si connette al tenant di Microsoft Entra per alla sottoscrizione selezionata.
- Crea un'applicazione in Microsoft Entra ID per conto dell'utente.
- Assegna l'applicazione come collaboratore alla sottoscrizione selezionata.
- Crea una connessione al servizio Azure Resource Manager usando i dettagli dell'applicazione.
Nota
Per creare connessioni al servizio, è necessario essere assegnati al ruolo di Creator o Administrator per il gruppo Endpoint Creator nelle impostazioni del progetto: Impostazioni del progetto>Connessioni al servizio>Altre azioni>Sicurezza. I collaboratori del progetto 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
- L'utente non è autorizzato ad aggiungere applicazioni nella directory
- Impossibile ottenere un token di accesso o non è stato trovato un token di aggiornamento valido
- Impossibile assegnare il ruolo Collaboratore
- La sottoscrizione non è elencata durante la creazione di una connessione al servizio
- Alcune sottoscrizioni non sono presenti nell'elenco delle sottoscrizioni
- Token dell'entità servizio scaduto
- Non è stato possibile ottenere il token Web JSON (JWT) usando l'ID client dell'entità servizio
- La sottoscrizione di Azure non viene passata dall'output dell'attività precedente
- Quali meccanismi di autenticazione sono supportati? Come funzionano le identità gestite?
L'utente dispone solo dell'autorizzazione guest nella directory
Accedere al portale di Azure usando un account amministratore. L'account deve essere un proprietario o un amministratore dell'account utente
Selezionare Microsoft Entra ID nella barra di spostamento a sinistra.
Assicurarsi di modificare la directory appropriata corrispondente alla sottoscrizione utente. In caso contrario, selezionare Cambia directory e accedere usando le credenziali appropriate, se necessario.
Selezionare Utenti nella sezione Gestisci .
Selezionare Impostazioni utente.
Selezionare Gestisci impostazioni di collaborazione esterna nella sezione Utenti esterni.
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.
Accedere al portale di Azure usando un account amministratore. L'account deve essere un proprietario o un amministratore dell'account utente.
Nel riquadro di spostamento a sinistra seleziona Microsoft Entra ID.
Assicurarsi di modificare la directory appropriata corrispondente alla sottoscrizione utente. In caso contrario, selezionare Cambia directory e accedere usando le credenziali appropriate, se necessario.
Selezionare Utenti nella sezione Gestisci .
Usare la casella di ricerca per cercare l'utente che si vuole gestire.
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.
Selezionare Microsoft Entra ID nel riquadro di spostamento sinistro.
Assicurarsi di modificare la directory appropriata corrispondente alla sottoscrizione utente. In caso contrario, selezionare Cambia directory e accedere usando le credenziali appropriate, se necessario.
Selezionare Utenti e quindi Impostazioni utente.
In Registrazioni app e quindi modificare l'opzione Utenti possono registrare le applicazioni in Sì.
È 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:
- Disconnettersi da Azure DevOps.
- Aprire una finestra del browser InPrivate o in incognito e passare ad Azure DevOps.
- Accedere usando le credenziali appropriate.
- Selezionare l'organizzazione e il progetto.
- 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:
- Creare un nuovo utente Microsoft Entra nativo nell'istanza di Microsoft Entra della sottoscrizione di Azure.
- 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.
- 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.
- 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:
- Disconnettersi da Azure DevOps Services e accedere di nuovo. Questa azione può aggiornare il token utente.
- Cancellare la cache e i cookie del browser per assicurarsi che tutti i token precedenti vengano rimossi.
- 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:
Accedere al portale di Azure.
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.
Selezionare Microsoft Entra ID nel riquadro sinistro.
Selezionare Registrazioni app.
Selezionare l'applicazione dall'elenco delle applicazioni registrate.
In Autenticazione selezionare Tipi di account supportati.
In Tipi di account supportati, Chi può usare questa applicazione o accedere a questa API? selezionare Account in qualsiasi directory organizzativa.
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:
- Disconnettersi da Azure DevOps Services e accedere di nuovo. Questa azione può aggiornare il token utente.
- Cancellare la cache e i cookie del browser per assicurarsi che tutti i token precedenti vengano rimossi.
- 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 entità servizio o segreti creati automaticamente è che il token scade e deve essere rinnovato. Se si verifica un problema con l'aggiornamento del token, vedere Impossibile ottenere un token di accesso o non è stato trovato un token di aggiornamento valido.
Se il token è scaduto, è possibile visualizzare 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 principale del servizio o un segreto creato automaticamente:
Passare a Project settings Service connections (Connessioni al servizio)>e quindi selezionare la connessione al servizio da modificare.
Selezionare Modifica nell'angolo in alto a destra e quindi selezionare Verifica.
Seleziona Salva.
Il token per il principale del servizio o il segreto è stato 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:
Passare a Project settings Service connections (Connessioni al servizio)>e quindi selezionare la connessione al servizio da modificare.
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.
Selezionare Salva per salvare la connessione al servizio.
Nota
Seleziona Salva. Non provare a verificare la connessione al servizio in questo passaggio.
Uscire dalla finestra di modifica della connessione al servizio e quindi aggiornare la pagina connessioni al servizio.
Selezionare Modifica nell'angolo in alto a destra e quindi selezionare Verifica.
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.
La connessione al servizio Azure Resource Manager può connettersi a una sottoscrizione di Azure, a un gruppo di gestione o a un'area di lavoro di Machine Learning usando:
- Registrazione dell'app (consigliata): è possibile autenticare la connessione usando una federazione di identità di carico di lavoro o una chiave segreta.
- Identità gestita: le identità gestite per le risorse di Azure forniscono ai servizi di Azure un'identità gestita automaticamente in Microsoft Entra ID. È anche possibile usare un'identità gestita assegnata dall'agente.
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.