Impostare manualmente una connessione al servizio identità del carico di lavoro di Azure Resource Manager

servizi Azure DevOps | Azure DevOps Server | Azure DevOps Server 2022

Quando si risolvono i problemi di una connessione del servizio dell'identità del carico di lavoro di Azure Resource Manager, potrebbe essere necessario configurare manualmente la connessione del servizio anziché usare lo strumento automatizzato disponibile in Azure DevOps.

Prima di iniziare una configurazione manuale, provare l'approccio automatizzato.

Per l'autenticazione, è possibile usare un'identità gestita o una registrazione dell'app. L'opzione identità gestita è utile se non si dispone delle autorizzazioni per creare entità servizio o se si usa un tenant Microsoft Entra diverso rispetto all'utente di Azure DevOps.

deprecazione dell'autorità emittente Azure DevOps

Le connessioni di servizio di federazione delle identità dei carichi di lavoro dell'autorità emittente di Azure DevOps sono in fase di deprecazione. Se la connessione al servizio è contrassegnata come deprecata, convertila nell'emittente Microsoft Entra.

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 e connessioni al servizio che usano applicazioni multi-tenant non rientrano nell'ambito di questa deprecazione. Se si dispone di una connessione al servizio esistente che usa l'autorità emittente Azure DevOps, converta la connessione esistente anziché creare una nuova connessione in sostituzione. Vedere Convertire le connessioni al servizio per maggiori dettagli.

Autorizzazioni necessarie

Per configurare o convertire una connessione al servizio identità del carico di lavoro, potrebbero essere necessarie autorizzazioni sia in Azure DevOps che in Azure o Microsoft Entra.

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.

Le autorizzazioni di Azure DevOps e le autorizzazioni di Azure sono separate. Un utente potrebbe essere in grado di modificare una connessione al servizio in Azure DevOps, ma deve comunque richiedere assistenza da un amministratore o un proprietario dell'identità Azure per aggiungere le credenziali federate in Azure o Microsoft Entra.

Panoramica del processo di installazione

Il diagramma seguente illustra i passaggi generali per configurare una connessione al servizio identità del carico di lavoro:

Diagramma che mostra i due percorsi facoltativi durante la configurazione dell'identità del carico di lavoro.

Convertire le connessioni al servizio esistenti

Se una connessione al servizio esistente usa l'autorità di certificazione Azure DevOps deprecata, convertirla in modo da usare l'autorità di certificazione Microsoft Entra.

Usare la conversione automatica quando disponibile

  1. In Azure DevOps, apri il progetto e vai a Impostazioni progetto>Pipelines>Connessioni di servizio.

  2. Selezionare la connessione al servizio contrassegnata come deprecata.

  3. Selezionare l'opzione per aggiornare la connessione al servizio.

  4. Lasciare Azure DevOps tentare la conversione.

Se la conversione ha esito positivo, la connessione al servizio usa l'autorità di certificazione Microsoft Entra e non sono necessarie altre configurazioni manuali. Per informazioni dettagliate sui passaggi di conversione, vedere Convertire le connessioni al servizio .

Usare la conversione manuale quando la conversione automatica non viene completata

Se Azure DevOps non è in grado di aggiornare automaticamente l'identità, vengono visualizzati i valori delle credenziali federate da aggiungere in Azure o Microsoft Entra. Usare i valori visualizzati in Azure DevOps per creare le credenziali federate sull'identità associata alla connessione al servizio.

Per Azure DevOps sono necessari i valori seguenti:

  • Emittente
  • Identificatore del soggetto

Dopo aver aggiunto le credenziali federate in Azure o Microsoft Entra, tornare alla connessione al servizio in Azure DevOps e completare la configurazione. Per i passaggi di conversione dettagliati, vedere Convertire le connessioni al servizio.

Limitations

Il processo di deprecazione dell'emittente di Azure DevOps non si applica a tutti gli scenari di identità del carico di lavoro.

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

Configurare una connessione al servizio di identità di carico di lavoro

Per configurare manualmente l'autenticazione dell'identità gestita per Azure Pipelines, seguire questa procedura per creare un'identità gestita nel portale di Azure, stabilire una connessione al servizio in Azure DevOps, aggiungere credenziali federate e concedere le autorizzazioni necessarie. Seguire questa procedura in questo ordine:

  1. Creare l'identità gestita in portale di Azure.
  2. Creare la connessione al servizio in Azure DevOps e salvare come bozza.
  3. Aggiungere una credenziale federata all'identità gestita in portale di Azure.
  4. Concedere le autorizzazioni all'identità gestita in portale di Azure.
  5. Salvare la connessione al servizio in Azure DevOps.

È anche possibile usare l'API REST per questo processo.

Prerequisiti per l'autenticazione dell'identità gestita

Creare un'identità gestita in portale di Azure

  1. Accedere al portale di Azure.

  2. Nella casella di ricerca immettere identità gestite.

  3. Seleziona Crea.

  4. Nel riquadro Crea identità gestita assegnata dall'utente immettere o selezionare i valori per gli elementi seguenti:

    • Sottoscrizione: selezionare la sottoscrizione in cui creare l'identità gestita assegnata dall'utente.
    • Gruppo di risorse: selezionare un gruppo di risorse in cui creare l'identità gestita assegnata dall'utente oppure selezionare Crea nuovo per creare un nuovo gruppo di risorse.
    • Area: selezionare un'area per distribuire l'identità gestita assegnata dall'utente ,ad esempio Stati Uniti orientali.
    • Nome: immettere il nome per l'identità gestita assegnata dall'utente, ad esempio UADEVOPS.
  5. Selezionare Rivedi e crea per creare una nuova identità gestita. Al termine della distribuzione selezionare Vai alla risorsa.

  6. Copiare i valori di Sottoscrizione, ID sottoscrizione e ID client per l'identità gestita da usare in un secondo momento.

  7. All'interno dell'identità gestita in portale di Azure passare a Impostazioni>Proprietà.

  8. Copiare il valore Tenant Id da usare in un secondo momento.

Creare una connessione al servizio per l'autenticazione dell'identità gestita in Azure DevOps

  1. In Azure DevOps, aprite il vostro progetto e passate a >Pipeline>Connessioni del servizio.

  2. Selezionare Nuova connessione al servizio.

  3. Selezionare Azure Resource Manager.

  4. Selezionare il tipo di identità Registrazione app o Identità gestita (manuale) e quindi selezionare la credenziale della federazione dell'identità di carico di lavoro.

    Screenshot che mostra come selezionare la connessione di servizio Identità del carico di lavoro per l'identità gestita.

  5. Per Nome connessione del servizio immettere un valore, uamanagedidentityad esempio . Questo valore verrà usato nell'identificatore del soggetto delle credenziali federate.

  6. Selezionare Avanti.

  7. Nel passaggio 2: Dettagli registrazione app:

    Passaggio 2: I dettagli di registrazione dell'app contengono i parametri seguenti. Immettere o selezionare i parametri seguenti:

    Parametro Descrizione
    Emittente Obbligatorio. DevOps crea automaticamente l'URL dell'autorità di certificazione.
    Identificatore del soggetto Obbligatorio. DevOps crea automaticamente l'identificatore del soggetto.
    Ambiente Obbligatorio. Scegliere un ambiente cloud a cui connettersi. Se si seleziona Azure Stack, immettere l'URL dell'ambiente, che è simile a https://management.local.azurestack.external.
    1. Selezionare il livello di ambito. Selezionare Sottoscrizione, Gruppo di gestione o Area di lavoro di Machine Learning. I gruppi di gestione sono contenitori che consentono di gestire l'accesso, i criteri e la conformità tra più sottoscrizioni. Un'area di lavoro di Machine Learning consente di creare artefatti di Machine Learning.

      • Per l'Ambito Sottoscrizione, immettere i parametri seguenti:

        Parametro Descrizione
        ID sottoscrizione Obbligatorio. Immettere l'ID sottoscrizione di Azure.
        Nome sottoscrizione Obbligatorio. Immettere il nome della sottoscrizione di Azure.
      • Per l'ambito del gruppo di gestione immettere i parametri seguenti:

        Parametro Descrizione
        ID gruppo di gestione Obbligatorio. Immettere l'ID del gruppo di gestione di Azure.
        Nome gruppo di gestione Obbligatorio. Immettere il nome del gruppo di gestione di Azure.
      • Per l'ambito dell'area di lavoro di Machine Learning, immettere i parametri seguenti:

        Parametro Descrizione
        ID sottoscrizione Obbligatorio. Immettere l'ID sottoscrizione di Azure.
        Nome sottoscrizione Obbligatorio. Immettere il nome della sottoscrizione di Azure.
        Gruppo di risorse Obbligatorio. Selezionare il gruppo di risorse contenente l'area di lavoro.
        Nome dell'area di lavoro ML Obbligatorio. Immettere il nome dell'area di lavoro di Azure Machine Learning esistente.
        Percorso dell'area di lavoro per il Machine Learning Obbligatorio. Immettere l'ubicazione dell'area di lavoro esistente di Azure Machine Learning.
    2. Nella sezione Autenticazione immettere o selezionare i parametri seguenti:

      Parametro Descrizione
      ID client dell'applicazione Obbligatorio. Immettere l'ID cliente per l'identità gestita.
      ID della directory (tenant) Obbligatorio. Immettere l'ID tenant della propria identità gestita.
    3. Nella sezione Sicurezza , se si seleziona Concedi l'autorizzazione di accesso a tutte le pipeline, tutte le pipeline possono usare questa connessione. Non usare questa opzione. Autorizzare invece ogni pipeline singolarmente a usare la connessione al servizio.

  8. In Azure DevOps, copiare i valori generati per Issuer (Emittente) e Subject identifier (Identificatore del soggetto).

  9. Selezionare Mantieni come bozza per salvare una bozza di credenziale. Non è possibile completare la configurazione finché l'identità gestita non ha credenziali federate in portale di Azure.

Aggiungere una credenziale federata in portale di Azure

  1. In una nuova finestra del browser, all'interno dell'identità gestita nel portale di Azure, passare a Impostazioni>Credenziali federate.

  2. Selezionare Aggiungi credenziali.

  3. Selezionare lo scenario Altro emittente.

  4. Incollare i valori per Issuer e Subject identifier copiati dal progetto Azure DevOps nelle credenziali federate nel portale di Azure. In Tipo selezionare Identificatore soggetto esplicito.

    Screenshot del confronto delle credenziali federate in Azure DevOps e nel portale di Azure.

  5. Immettere il nome delle credenziali federate.

  6. Selezionare Aggiungi.

Concedere le autorizzazioni all'identità gestita in portale di Azure

  1. In portale di Azure passare alla risorsa di Azure per cui si vogliono concedere le autorizzazioni, ad esempio un gruppo di risorse.

  2. Seleziona Controllo di accesso (IAM).

    Screenshot che mostra la selezione di Controllo di accesso nel menu delle risorse.

  3. Selezionare Aggiungi un'assegnazione di ruolo. Assegna il ruolo necessario all'identità gestita (ad esempio, "Collaboratore").

  4. Selezionare Rivedi e assegna.

Salvare la connessione al servizio Azure DevOps

  1. In Azure DevOps, torna alla connessione al servizio di bozza.

  2. Selezionare Completare configurazione.

  3. Selezionare Verifica e salva. Al termine di questo passaggio, l'identità gestita è completamente configurata.