Convertire le connessioni di servizio dal provider di emissione Azure DevOps al provider di emissione Microsoft Entra

È necessario convertire le connessioni di servizio che usano la federazione delle identità dei carichi di lavoro con il provider di emissione di Azure DevOps affinché usino il provider di emissione di Microsoft Entra. L'autorità emittente Azure DevOps usa il https://vstoken.dev.azure.com prefisso , mentre l'autorità emittente Microsoft Entra usa il https://login.microsoftonline.com/ prefisso .

Questa conversione non è limitata alle connessioni del servizio Azure Resource Manager. Si applica a qualsiasi connessione al servizio per la federazione delle identità dei carichi di lavoro che usa l'emittente Azure DevOps, incluse le connessioni di servizio Azure Resource Manager (ARM), le connessioni di servizio Docker e le connessioni di servizio create dalle estensioni.

Le connessioni al servizio che usano già l'autorità di certificazione Microsoft Entra non sono interessate.

Importante

L'emittente di Azure DevOps per le connessioni di servizio di Workload Identity Federation (WIF) verrà ritirato il 1° luglio 2027.

Questa deprecazione si applica solo alle connessioni di servizio idonee in Azure cloud pubblico che usano applicazioni Microsoft Entra a tenant singolo o identità gestite. Le connessioni al servizio destinate a cloud non pubblici, ad esempio Azure per enti pubblici, Azure gestite da 21Vianet o Azure Stack e le connessioni al servizio che usano applicazioni multi-tenant non rientrano nell'ambito di questa deprecazione. L'autorità emittente di Azure DevOps continua a essere supportata per tali scenari.

Perché è necessaria la conversione

La federazione delle identità del carico di lavoro consente ad Azure Pipelines di autenticarsi senza dover archiviare segreti a lungo termine. In precedenza, le connessioni al servizio di federazione delle identità dei carichi di lavoro usavano l'emittente Azure DevOps. Microsoft sta ora standardizzando l'autorità di certificazione Microsoft Entra per la federazione delle identità del carico di lavoro tra i servizi e le connessioni di servizio più recenti usano l'autorità di certificazione Microsoft Entra per impostazione predefinita.

Per evitare errori di autenticazione dopo la dismissione del provider di emissione di Azure DevOps, converti le connessioni di servizio interessate in modo che usino il provider di emissione di Microsoft Entra.

Quali connessioni al servizio sono interessate

Una connessione al servizio è interessata se utilizza la federazione delle identità del carico di lavoro con l'autorità emittente di Azure DevOps. Il requisito di conversione si basa sull'emittente utilizzato dalla connessione al servizio, non sul tipo di connessione al servizio.

Le connessioni al servizio interessate possono includere connessioni al servizio Azure Resource Manager, connessioni al servizio Docker e connessioni al servizio create dalle estensioni se usano la federazione delle identità del carico di lavoro con l'issuer di Azure DevOps.

Prima di iniziare

Prima di convertire una connessione al servizio, assicurarsi di disporre dell'autorizzazione per gestire la connessione al servizio in Azure DevOps.

Se è possibile modificare la connessione al servizio in Azure DevOps ma non si dispone dell'autorizzazione per aggiornare l'identità in Azure o Microsoft Entra, è comunque possibile avviare la conversione. Azure DevOps fornisce i valori dell'autorità emittente e dell'identificatore del soggetto che è possibile distribuire a un amministratore di Azure o al proprietario dell'identità per completare la configurazione delle credenziali federate.

Area Autorizzazione necessaria
Azure DevOps Autorizzazione dell'amministratore della connessione al servizio o dell'amministratore dell'endpoint per la connessione al servizio.
Identità gestita assegnata dall'utente Autorizzazione per aggiornare l'identità gestita e aggiungere credenziali federate. Il ruolo minimo potrebbe essere Collaboratore credenziali federate identità gestita, Collaboratore identità gestita o un altro ruolo che consente di creare credenziali federate.
Registrazione dell'app Accesso proprietario alla registrazione dell'app o a un altro ruolo Microsoft Entra che consente di gestire le credenziali federate.
Risorsa Azure di destinazione Autorizzazione per assegnare l'identità al ruolo necessario, ad esempio Collaboratore, nella sottoscrizione, nel gruppo di risorse o nella risorsa.

Convertire automaticamente una connessione al servizio interessata

Usare l'esperienza di conversione in Azure DevOps quando è disponibile. In questo modo la connessione al servizio viene aggiornata automaticamente in modo da usare l'emittente Microsoft Entra.

Le connessioni al servizio interessate vengono visualizzate nella parte superiore dell'elenco di connessioni al servizio con un avviso che indica che richiedono un'azione. Convertire la connessione al servizio esistente anziché ricrearla. Il riutilizzo della connessione al servizio esistente consente di evitare aggiornamenti non necessari alle pipeline che lo fanno già riferimento.

Per convertire una connessione al servizio:

  1. In Azure DevOps passare a Impostazioni di Project>Connessioni del servizio.

  2. Trova la connessione di servizio contrassegnata con l'avviso relativo all'emittente Azure DevOps.

    Screenshot che mostra le connessioni al servizio contrassegnate con l'avviso dell'autorità di certificazione Azure DevOps.

  3. Aprire la connessione al servizio e quindi selezionare Aggiorna.

    Schermata che mostra l'azione Aggiorna per una connessione al servizio contrassegnata.

  4. Selezionare di nuovo Aggiorna per confermare la scelta e aggiornare la connessione al servizio in modo che usi l'emittente Entra.

  5. Un riquadro mostra che l'aggiornamento è in corso. L'aggiornamento può richiedere alcuni minuti. Al termine dell'aggiornamento, una finestra di dialogo conferma che la conversione è riuscita. La connessione al servizio usa ora l'emittente Microsoft Entra.

    Screenshot che mostra una conferma dell'esito positivo della conversione della connessione al servizio.

Convertire manualmente una connessione al servizio interessata

Se la conversione automatica non riesce, è possibile aggiungere manualmente le credenziali federate alla registrazione dell'app o all'identità gestita usata dalla connessione al servizio.

Il fallback manuale potrebbe essere necessario quando:

  • Non si dispone dell'autorizzazione per aggiornare l'identità in Microsoft Entra.
  • Un altro team è proprietario dell'identità.
  • La conversione automatica non può creare o aggiornare le credenziali federate.

Per creare le credenziali federate e completare la conversione della connessione al servizio, seguire questa procedura:

  1. In Azure DevOps, se la conversione automatica ha esito negativo, Azure DevOps fornisce istruzioni per completare la conversione manualmente. In queste istruzioni trovare e copiare i valori issuer e Subject identifier .

  2. Aprire il collegamento fornito in Azure DevOps per passare a Azure e quindi passare al pannello Credenziali federate della registrazione dell'app o dell'identità gestita.

  3. Selezionare Aggiungi credenziali e quindi selezionare Altro.

  4. Immettere i valori issuer e Subject identifier copiati da Azure DevOps.

    Screenshot che mostra l'immissione dei valori dell'autorità di certificazione e dell'identificatore del soggetto quando si aggiungono credenziali federate in Azure.

  5. Completare i campi rimanenti e quindi creare le credenziali federate.

  6. Tornare a Azure DevOps e verificare le credenziali per attivare la connessione al servizio.

  7. Attendere alcuni istanti affinché la credenziale federata venga propagata e quindi selezionare Riprovare in Azure DevOps per completare la conversione della connessione al servizio.

    Screenshot che mostra le istruzioni di conversione manuale in Azure DevOps.

Limitations

Alcuni scenari non rientrano in questa deprecazione né nella procedura di conversione iniziale.

  • Le connessioni al servizio destinate a cloud non pubblici non rientrano nell'ambito.
  • Le connessioni al servizio che usano applicazioni multi-tenant non rientrano nell'ambito.

Risolvere i problemi degli scenari di federazione delle identità dei carichi di lavoro

Quando si convertono o si usano le connessioni al servizio, possono verificarsi i problemi seguenti:

La pipeline mostra un avviso relativo a un emittente Azure DevOps deprecato

Un avviso della pipeline indica che la pipeline usa una connessione al servizio della federazione delle identità del carico di lavoro che usa ancora l'autorità emittente di Azure DevOps deprecata.

Per risolvere l'avviso:

  1. Apri la connessione al servizio collegata nell'avviso.
  2. Convertire la connessione al servizio per usare l'autorità di certificazione Microsoft Entra.
  3. Se la conversione automatica non viene completata, seguire la procedura di conversione manuale descritta in Impostare una connessione al servizio identità del carico di lavoro Resource Manager.
  4. Esegui di nuovo la pipeline dopo aver convertito la connessione al servizio.

La conversione automatica non riesce

Azure DevOps tenta prima di convertire automaticamente la connessione di servizio. La conversione può non riuscire se Azure DevOps non può aggiornare la registrazione o l'identità gestita dell'app associata.

Per risolvere il problema:

  1. Verifica di disporre dell'autorizzazione di amministratore delle connessioni di servizio o di amministratore degli endpoint in Azure DevOps.
  2. Verificare che l'utente o il proprietario dell'identità possa aggiungere credenziali federate alla registrazione dell'app associata o all'identità gestita.
  3. Copiare i valori Issuer, Subject identifier e Audience visualizzati in Azure DevOps.
  4. Aggiungere le credenziali federate all'identità associata in Azure o Microsoft Entra.
  5. Tornare alla connessione al servizio Azure DevOps e completare la configurazione.

È possibile modificare la connessione al servizio ma non è possibile aggiungere le credenziali federate

Le autorizzazioni della connessione al servizio di Azure DevOps non concedono l'autorizzazione di aggiornare le identità in Azure o Microsoft Entra. La registrazione dell'app o l'identità gestita potrebbe essere di proprietà di un utente o di un team diverso.

Per risolvere il problema, chiedere a un amministratore di Azure, al proprietario della registrazione dell'app o al proprietario dell'identità gestita di aggiungere le credenziali federate. Specificare i valori issuer, Subject identifier e Audience generati dalla connessione al servizio Azure DevOps.

I valori delle credenziali federate non corrispondono

Una connessione al servizio di identità del carico di lavoro dipende dalla corrispondenza dei valori delle credenziali federate. Se l'autorità emittente, l'identificatore del soggetto o il gruppo di destinatari in Azure o Microsoft Entra non corrisponde ai valori generati da Azure DevOps, l'autenticazione può non riuscire.

Per risolvere il problema:

  1. Aprire la connessione al servizio in Azure DevOps.
  2. Copiare i valori issuer, Subject identifier e Audience generati.
  3. Aprire la registrazione dell'app associata o l'identità gestita in Azure o Microsoft Entra.
  4. Confrontare i valori delle credenziali federate.
  5. Aggiornare o ricreare le credenziali federate in modo che i valori corrispondano.

Non si sa chi è proprietario della registrazione dell'app o dell'identità gestita

Alcune organizzazioni separano l'amministrazione di Azure DevOps dall'amministrazione delle identità di Azure o di Microsoft Entra. Se l'amministratore della connessione al servizio corrente non possiede l'identità, l'amministratore potrebbe non essere in grado di completare la conversione.

Per risolvere il problema:

  • Per le registrazioni app, verificare i proprietari delle registrazioni app in Microsoft Entra.
  • Per le identità gestite, controllare chi ha assegnazioni di ruolo sull'identità gestita o sul relativo gruppo di risorse.
  • Se non è possibile identificare il proprietario, contattare l'amministratore tenant o l'amministratore della sottoscrizione.

La connessione al servizio usa un'app multi-tenant

Gli scenari di app multi-tenant non rientrano nell'ambito di questa deprecazione. Le connessioni al servizio che utilizzano applicazioni multi-tenant non devono essere migrate nell'ambito di questa deprecazione e l'issuer di Azure DevOps continua a essere supportato per tali scenari.

Risolvere i problemi di conversione

Durante la conversione, potresti visualizzare errori di autenticazione di Microsoft Entra. Questi errori indicano in genere un problema con l'autorità emittente, l'oggetto, il gruppo di destinatari o la configurazione delle credenziali federate.

La tabella seguente elenca i codici di errore comuni di Microsoft Entra ID e i possibili problemi relativi alle connessioni al servizio di identità del carico di lavoro.

Message Possibile problema
AADSTS700016: l'applicazione con identificatore '****' non è stata trovata L'identità usata per la connessione al servizio non esiste più, potrebbe essere stata rimossa dalla connessione al servizio o configurata in modo non corretto. Se si configura manualmente la connessione al servizio con un'identità creata in modo preliminare, assicurarsi che appID/clientId sia configurato correttamente.
AADSTS7000215: è stato fornito un segreto client non valido. Stai utilizzando una connessione al servizio con una credenziale scaduta. Convertire la connessione al servizio in federazione dell'identità del carico di lavoro e sostituire il segreto scaduto con credenziali federate.
AADSTS700024: L'asserzione del client non è compresa nell'intervallo di tempo valido Se l'errore si verifica dopo circa 1 ora, usa invece una connessione di servizio con Workload identity federation e Managed Identity. I token di identità gestita hanno una durata di circa 24 ore.
Se l'errore si verifica prima di 1 ora ma dopo 10 minuti, spostare all'inizio dello script i comandi che richiedono implicitamente un token di accesso per accedere ad esempio all'archiviazione di Azure. Il token di accesso viene memorizzato nella cache per i comandi successivi.
AADSTS70021: nessun record di identità federato corrispondente trovato per l'asserzione presentata. Emittente dell'asserzione: https://app.vstoken.visualstudio.com. Non è stata creata alcuna credenziale federata o l'URL dell'emittente non è corretto. L'URL dell'autorità emittente corretta ha il formato https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. È possibile correggere l'URL dell'autorità di certificazione modificando e quindi salvando una connessione al servizio. Se Azure DevOps non ha creato il tuo identificatore, è necessario aggiornare manualmente l'emittente. È possibile trovare l'autorità emittente corretta nella finestra di dialogo di modifica della connessione al servizio o nella risposta se si utilizza l'API REST.
AADSTS70021: nessun record di identità federato corrispondente trovato per l'asserzione presentata. Emittente dell'asserzione: https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX. Soggetto dell'asserzione: sc://<org>/<project>/<service-connection>. L'URL dell'emittente o il soggetto della federazione non corrisponde. L'organizzazione o il progetto di Azure DevOps è stato rinominato o è stata rinominata una connessione al servizio creata manualmente senza aggiornare l'oggetto della federazione nell'identità.
AADSTS700211: nessun record di identità federata corrispondente trovato per l'emittente dell'asserzione presentata Non è stata creata alcuna credenziale federata o l'URL dell'emittente non è corretto.
AADSTS700213: nessun record di identità federato corrispondente trovato per l'oggetto dell'asserzione presentato Non è stata creata alcuna credenziale federata o l'oggetto non è corretto.
AADSTS700223 La federazione dell’identità per i carichi di lavoro è limitata o disabilitata nel tenant di Microsoft Entra. In questo scenario può essere invece possibile usare un'identità gestita per la federazione. Per altre informazioni, vedi Identità del carico di lavoro con identità gestita.
AADSTS70025: l'applicazione client non ha credenziali di identità federate configurate Assicurarsi che le credenziali federate siano configurate nella registrazione dell'app o nell'identità gestita.
Microsoft Entra ha rifiutato il token rilasciato da Azure DevOps con codice di errore AADSTS700238 La federazione delle identità dei carichi di lavoro è stata limitata nel tenant di Microsoft Entra. L'emittente per la tua organizzazione (https://login.microsoftonline.com/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX) non è autorizzato a utilizzare la federazione dell'identità dei carichi di lavoro con il tipo di identità dei carichi di lavoro (registrazione delle app e/o identità gestita) che stai utilizzando. Chiedere all'amministratore tenant o al team di amministrazione di Microsoft Entra di consentire la federazione delle identità del carico di lavoro per l'organizzazione Azure DevOps.
AADSTS70052: l'identità deve essere un'identità gestita, un'app a tenant singolo o un account di servizio Le registrazioni di app multi-tenant con signInAudience: AzureADMultipleOrgs non sono attualmente supportate dall'emittente Microsoft Entra. Usare signInAudience: AzureADMyOrg e dividere l'accesso a più tenant per utilizzare collegamenti di servizio diversi per ogni tenant. Se si dipende dalle operazioni ARM che accedono a più tenant in una singola richiesta (ad esempio, il Peering cross-tenant delle reti virtuali) è possibile contattare il supporto per far sì che l'organizzazione di Azure DevOps utilizzi invece l'emittente Azure DevOps.
AADSTS900382: Il client riservato non è supportato in Cross Cloud Alcuni cloud sovrani bloccano la federazione dell'identità dei carichi di lavoro.

L'errore AADSTS che vedi non è elencato sopra? Controllare i codici di errore di autenticazione e autorizzazione di Microsoft Entra.

Per altre informazioni, vedere Risolvere i problemi relativi alle connessioni al servizio identità del carico di lavoro.