Condividi tramite


Connettersi ad Azure usando una connessione al servizio Azure Resource Manager

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

È possibile usare una connessione al servizio Azure Resource Manager per connettersi alle risorse di Azure, ad esempio Azure Key Vault. Se si usa una connessione al servizio Resource Manager, è possibile usare una pipeline per eseguire la distribuzione in una risorsa di Azure, ad esempio un'app del servizio app Azure senza eseguire l'autenticazione ogni volta.

Sono disponibili più opzioni di autenticazione per la connessione ad Azure usando le connessioni al servizio Azure Resource Manager:

  • Entità servizio con federazione dell'identità del carico di lavoro
  • Entità servizio con segreto
  • Identità gestita assegnata dal sistema
  • Profilo pubblico

La connessione al servizio usa un'entità servizio per l'autenticazione con le risorse di Azure.

Creare una connessione al servizio Azure Resource Manager che usa la federazione dell'identità del carico di lavoro

La federazione dell'identità del carico di lavoro usa OpenID Connect (OIDC) per eseguire l'autenticazione con le risorse protette di Microsoft Entra senza usare segreti. È possibile creare automaticamente la federazione dell'identità del carico di lavoro per l'autenticazione o crearla manualmente.

Si consiglia di adottare questo approccio se tutti gli elementi seguenti sono veri per lo scenario in questione:

  • Si ha il ruolo di proprietario per la sottoscrizione di Azure.
  • Non ci si connette ad Azure Stack o agli ambienti di Azure US Government.
  • Tutte le attività delle estensioni del Marketplace usate vengono aggiornate per supportare la federazione delle identità del carico di lavoro.

Creare una connessione al servizio con la federazione dell'identità del carico di lavoro (automatica)

Con questa selezione, Azure DevOps esegue automaticamente query per la sottoscrizione, il gruppo di gestione o l'area di lavoro di Machine Learning a cui connettersi e crea una federazione dell'identità del carico di lavoro per l'autenticazione.

  1. Nel progetto Azure DevOps passare a Impostazioni progetto>Connessioni del servizio.

    Per altre informazioni, vedere Aprire le impostazioni del progetto.

  2. Selezionare Nuova connessione al servizio, quindi selezionare Azure Resource Manager e Avanti.

    Screenshot che mostra la scelta della selezione di Azure Resource Manager.

  3. Selezionare Federazione dell'identità del carico di lavoro (automatica) e Avanti.

    Screenshot della selezione del metodo di autenticazione automatico della federazione dell'identità del carico di lavoro.

  4. Selezionare un livello 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 Ambito sottoscrizione immettere i parametri seguenti:

      Parametro Descrizione
      Abbonamento Obbligatorio. Selezionare l’abbonamento di Azure.
      Gruppo di risorse Obbligatorio. Immettere il nome della sottoscrizione di Azure.
    • Per l'ambito del gruppo di gestione selezionare il gruppo di gestione di Azure.

    • Per l'ambito dell'area di lavoro di Machine Learning, immettere i parametri seguenti:

      Parametro Descrizione
      Abbonamento Obbligatorio. Selezionare l’abbonamento di Azure.
      Gruppo di risorse Obbligatorio. Selezionare il gruppo di risorse contenente l'area di lavoro.
      Area di lavoro di Machine Learning Obbligatorio. Selezionare l'area di lavoro di Azure Machine Learning.
  5. Immettere un nome di connessione al servizio.

  6. Facoltativamente, immettere una descrizione per la connessione al servizio.

  7. Selezionare Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se non si seleziona questa opzione, è necessario concedere manualmente l'accesso a ogni pipeline che usa questa connessione al servizio.

  8. Seleziona Salva.

Dopo aver creato la nuova connessione al servizio, copiare il nome della connessione e incollarlo nel codice come valore per azureSubscription.

Per eseguire la distribuzione in una risorsa di Azure specifica, l'attività richiede più dati su tale risorsa. Passare alla risorsa nella portale di Azure e quindi copiare i dati nel codice. Ad esempio, per distribuire un'app Web, copiare il nome dell'app del servizio app Azure e incollarlo nel codice come valore per WebAppName.

Creare una connessione al servizio con la federazione delle identità del carico di lavoro (manuale)

Usare questa opzione per creare manualmente una connessione al servizio che usa una federazione di identità del carico di lavoro esistente per l'autenticazione.

  1. Nel progetto Azure DevOps passare a Impostazioni progetto>Connessioni del servizio.

    Per altre informazioni, vedere Aprire le impostazioni del progetto.

  2. Selezionare Nuova connessione al servizio, quindi selezionare Azure Resource Manager e Avanti.

    Screenshot della selezione del metodo di autenticazione manuale della federazione dell'identità del carico di lavoro.

  3. Selezionare Federazione dell'identità del carico di lavoro (manuale) e Avanti.

    Screenshot che mostra la selezione di un tipo di connessione del servizio identità del carico di lavoro.

  4. Nel passaggio 1: Nozioni di base:

    1. Immettere un nome di connessione al servizio
    2. Facoltativamente, immettere una descrizione.
    3. Selezionare Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se non si seleziona questa opzione, è necessario concedere manualmente l'accesso a ogni pipeline che usa questa connessione al servizio.
    4. Selezionare Avanti.
  5. Nel passaggio 2: Dettagli entità servizio:

    Passaggio 2: Dettagli entità servizio contiene i parametri seguenti. È possibile immettere o selezionare i parametri seguenti:

    Parametro Descrizione
    Autorità di certificazione Obbligatorio. DevOps crea automaticamente l'URL dell'autorità di certificazione viene creato automaticamente
    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 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 area di lavoro ML Obbligatorio. Immettere il nome dell'area di lavoro di Azure Machine Learning esistente.
        Percorso area di lavoro ML Obbligatorio. Immettere il percorso dell'area di lavoro di Azure Machine Learning esistente.
    2. Nella sezione Autenticazione immettere o selezionare i parametri seguenti:

      Parametro Descrizione
      ID entità servizio Obbligatorio. Immettere l'ID entità servizio.
      Tenant Id Obbligatorio. Immetti l'ID tenant.
    3. Nella sezione Dettagli immettere i parametri seguenti:

      Parametro Descrizione
      Nome connessione Obbligatorio. Nome usato per fare riferimento a questa connessione al servizio nelle proprietà dell'attività. Non il nome della sottoscrizione di Azure.
      Descrizione Facoltativo. Immettere una descrizione della connessione al servizio.
    4. Nella sezione Sicurezza selezionare Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se non si seleziona questa opzione, è necessario concedere manualmente l'accesso a ogni pipeline che usa questa connessione al servizio.

    5. Selezionare Verifica e salva per convalidare e creare la connessione al servizio.

Dopo aver creato la nuova connessione al servizio, copiare il nome della connessione e incollarlo nel codice come valore per azureSubscription.

Per eseguire la distribuzione in una risorsa di Azure specifica, l'attività richiede più dati su tale risorsa. Passare alla risorsa nella portale di Azure e quindi copiare i dati nel codice. Ad esempio, per distribuire un'app Web, copiare il nome dell'app del servizio app Azure e incollarlo nel codice come valore per WebAppName.

Convertire una connessione al servizio Azure Resource Manager esistente per usare la federazione dell'identità del carico di lavoro

È possibile convertire rapidamente una connessione al servizio Azure Resource Manager esistente per usare la federazione dell'identità del carico di lavoro per l'autenticazione anziché un'entità servizio. È possibile usare lo strumento di conversione della connessione al servizio in Azure DevOps se la connessione al servizio soddisfa questi requisiti:

  • Azure DevOps ha originariamente creato la connessione al servizio. Se si crea manualmente la connessione al servizio, non è possibile convertire la connessione al servizio usando lo strumento di conversione della connessione al servizio perché Azure DevOps non dispone delle autorizzazioni per modificare le proprie credenziali.
  • Solo un progetto usa la connessione al servizio. Non è possibile convertire connessioni tra servizio di progetto.

Per convertire una connessione al servizio:

  1. Nel progetto Azure DevOps passare a Impostazioni progetto>Connessioni del servizio.

    Per altre informazioni, vedere Aprire le impostazioni del progetto.

  2. Selezionare la connessione al servizio da convertire per usare l'identità del carico di lavoro.

  3. Seleziona Converti.

    Screenshot che mostra la selezione della conversione per le credenziali federate.

    Se si dispone di una credenziale dell'entità servizio esistente con un segreto scaduto, viene visualizzata un'opzione diversa da convertire.

    Screenshot che mostra l'opzione per la conversione per l'uso delle credenziali federate quando si dispone di un certificato scaduto.

  4. Selezionare di nuovo Converti per confermare di voler creare una nuova connessione al servizio.

    La conversione potrebbe richiedere alcuni minuti. Se si desidera ripristinare la connessione, è necessario ripristinarla entro sette giorni.

Convertire più connessioni al servizio Azure Resource Manager con uno script

Usare uno script per aggiornare più connessioni al servizio contemporaneamente per usare ora la federazione dell'identità del carico di lavoro per l'autenticazione.

Questo script di PowerShell di esempio richiede due parametri: l'organizzazione Azure DevOps (ad esempio) https://dev.azure.com/fabrikam-tailspine il progetto Azure DevOps (ad esempio: Space game web agent). Lo script recupera quindi le connessioni al servizio associate per il progetto e l'organizzazione di Azure DevOps.

Quando si convertono le connessioni al servizio per l'uso della federazione dell'identità del carico di lavoro, viene richiesto di confermare l'aggiornamento per ogni connessione non già in uso. Dopo la conferma, lo script aggiorna queste connessioni al servizio tramite l'API REST di Azure DevOps per usare la federazione delle identità del carico di lavoro.

Lo script richiede l'esecuzione di PowerShell 7.3 o versione successiva e dell'interfaccia della riga di comando di Azure. Salvare lo script in un .ps1 file ed eseguirlo usando PowerShell 7.

#!/usr/bin/env pwsh
<# 
.SYNOPSIS 
    Convert multiple Azure Resource Manager service connection(s) to use Workload identity federation

.LINK
    https://aka.ms/azdo-rm-workload-identity-conversion

.EXAMPLE
    ./convert_azurerm_service_connection_to_oidc_simple.ps1 -Project <project> -OrganizationUrl https://dev.azure.com/<organization>
#> 

#Requires -Version 7.3

param ( 
    [parameter(Mandatory=$true,HelpMessage="Name of the Azure DevOps Project")]
    [string]
    [ValidateNotNullOrEmpty()]
    $Project,

    [parameter(Mandatory=$true,HelpMessage="Url of the Azure DevOps Organization")]
    [uri]
    [ValidateNotNullOrEmpty()]
    $OrganizationUrl
) 
$apiVersion = "7.1"
$PSNativeCommandArgumentPassing = "Standard" 

#-----------------------------------------------------------
# Log in to Azure
$azdoResource = "499b84ac-1321-427f-aa17-267ca6975798" # application id of Azure DevOps 
az login --allow-no-subscriptions --scope ${azdoResource}/.default
$OrganizationUrl = $OrganizationUrl.ToString().Trim('/')

#-----------------------------------------------------------
# Retrieve the service connection
$getApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints?authSchemes=ServicePrincipal&type=azurerm&includeFailed=false&includeDetails=true&api-version=${apiVersion}"
az rest --resource $azdoResource -u "${getApiUrl} " -m GET --query "sort_by(value[?authorization.scheme=='ServicePrincipal' && data.creationMode=='Automatic' && !(isShared && serviceEndpointProjectReferences[0].projectReference.name!='${Project}')],&name)" -o json `
        | Tee-Object -Variable rawResponse | ConvertFrom-Json | Tee-Object -Variable serviceEndpoints | Format-List | Out-String | Write-Debug
if (!$serviceEndpoints -or ($serviceEndpoints.count-eq 0)) {
    Write-Warning "No convertible service connections found"
    exit 1
}

foreach ($serviceEndpoint in $serviceEndpoints) {
    # Prompt user to confirm conversion
    $choices = @(
        [System.Management.Automation.Host.ChoiceDescription]::new("&Convert", "Converting service connection '$($serviceEndpoint.name)'...")
        [System.Management.Automation.Host.ChoiceDescription]::new("&Skip", "Skipping service connection '$($serviceEndpoint.name)'...")
        [System.Management.Automation.Host.ChoiceDescription]::new("&Exit", "Exit script")
    )
    $prompt = $serviceEndpoint.isShared ? "Convert shared service connection '$($serviceEndpoint.name)'?" : "Convert service connection '$($serviceEndpoint.name)'?"
    $decision = $Host.UI.PromptForChoice([string]::Empty, $prompt, $choices, $serviceEndpoint.isShared ? 1 : 0)

    if ($decision -eq 0) {

        Write-Host "$($choices[$decision].HelpMessage)"
    } elseif ($decision -eq 1) {
        Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
        continue 
    } elseif ($decision -ge 2) {
        Write-Host "$($PSStyle.Formatting.Warning)$($choices[$decision].HelpMessage)$($PSStyle.Reset)"
        exit 
    }

    # Prepare request body
    $serviceEndpoint.authorization.scheme = "WorkloadIdentityFederation"
    $serviceEndpoint.data.PSObject.Properties.Remove('revertSchemeDeadline')
    $serviceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
    $serviceEndpoint | ConvertTo-Json -Depth 4 -Compress | Set-Variable serviceEndpointRequest
    $putApiUrl = "${OrganizationUrl}/${Project}/_apis/serviceendpoint/endpoints/$($serviceEndpoint.id)?operation=ConvertAuthenticationScheme&api-version=${apiVersion}"
    # Convert service connection
    az rest -u "${putApiUrl} " -m PUT -b $serviceEndpointRequest --headers content-type=application/json --resource $azdoResource -o json `
            | ConvertFrom-Json | Set-Variable updatedServiceEndpoint

    $updatedServiceEndpoint | ConvertTo-Json -Depth 4 | Write-Debug
    if (!$updatedServiceEndpoint) {
        Write-Debug "Empty response"
        Write-Error "Failed to convert service connection '$($serviceEndpoint.name)'"
        exit 1
    }
    Write-Host "Successfully converted service connection '$($serviceEndpoint.name)'"
}

Ripristinare una connessione al servizio Azure Resource Manager esistente che usa un segreto dell'entità servizio

È possibile ripristinare una connessione automatica del servizio convertita con il relativo segreto per sette giorni. Dopo sette giorni, creare manualmente un nuovo segreto.

Se si crea e si converte manualmente la connessione al servizio, non è possibile ripristinare la connessione al servizio usando lo strumento di conversione della connessione al servizio perché Azure DevOps non dispone delle autorizzazioni per modificare le proprie credenziali.

Per ripristinare una connessione al servizio:

  1. Nel progetto Azure DevOps passare a Connessioni al>servizio pipeline.

  2. Selezionare una connessione al servizio esistente da ripristinare.

  3. Selezionare Ripristina conversione nello schema originale.

    Screenshot che mostra la selezione di ripristino per una credenziale federata.

  4. Selezionare Di nuovo Ripristina per confermare la scelta.

Creare una connessione al servizio Azure Resource Manager che usa un segreto dell'entità servizio

È possibile configurare una connessione al servizio per l'autenticazione con le risorse di Azure usando un segreto dell'entità servizio. Questo approccio è utile quando è necessario limitare ulteriormente le autorizzazioni per le risorse di Azure a cui gli utenti accedono tramite la connessione al servizio.

È possibile scegliere di configurare la connessione al servizio manualmente o automaticamente. È consigliabile usare l'approccio automatico se è stato eseguito l'accesso come proprietario dell'organizzazione di Azure Pipelines e della sottoscrizione di Azure e non è necessario limitare ulteriormente le autorizzazioni per le risorse di Azure a cui gli utenti accedono tramite la connessione al servizio.

Si consiglia di adottare questo approccio se tutti gli elementi seguenti sono veri per lo scenario in questione:

  • L'accesso è stato eseguito come proprietario dell'organizzazione di Azure Pipelines e della sottoscrizione di Azure.
  • Non è necessario limitare ulteriormente le autorizzazioni per le risorse di Azure a cui gli utenti accedono tramite la connessione al servizio.
  • Non ci si connette ad Azure Stack o a un cloud Azure per enti pubblici.
  • Non ci si connette da Azure DevOps Server 2019 o versioni precedenti di Team Foundation Server .

Per creare la connessione al servizio:

  1. Nel progetto Azure DevOps passare a Impostazioni progetto>Connessioni del servizio.

    Per altre informazioni, vedere Aprire le impostazioni del progetto.

  2. Selezionare Nuova connessione al servizio, quindi selezionare Azure Resource Manager e Avanti.

    Screenshot che mostra la selezione di Azure Resource Manager.

  3. Selezionare Entità servizio (automatico) e Avanti.

    Screenshot che mostra la selezione di un metodo di autenticazione dell'entità servizio (automatica).

  4. Selezionare il livello 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 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, selezionare il 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 area di lavoro ML Obbligatorio. Immettere il nome dell'area di lavoro di Azure Machine Learning esistente.
      Percorso area di lavoro ML Obbligatorio. Immettere il percorso dell'area di lavoro di Azure Machine Learning esistente.
  5. Immettere un nome di connessione al servizio.

  6. Facoltativamente, immettere una descrizione per la connessione al servizio.

  7. Selezionare Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se non si seleziona questa opzione, è necessario concedere manualmente l'accesso a ogni pipeline che usa questa connessione al servizio.

  8. Seleziona Salva.

Dopo aver creato la nuova connessione al servizio:

  • Se si usa l'editor classico, selezionare il nome della connessione assegnato nell'impostazione della sottoscrizione di Azure della pipeline.
  • Se si usa un file YAML, copiare il nome della connessione nel codice come valore per azureSubscription.

Per eseguire la distribuzione in una risorsa di Azure specifica, aggiungere altre informazioni sulla risorsa all'attività:

  • Se si usa l'editor classico, selezionare i dati da aggiungere all'attività. Ad esempio, selezionare il nome servizio app.
  • Se si usa un file YAML, passare alla risorsa nella portale di Azure. Copiare i dati necessari e incollarli nel codice dell'attività. Ad esempio, per distribuire un'app Web, copiare il nome dell'app servizio app e incollarlo come valore per WebAppName nell'attività YAML.

Nota

Quando si segue questo approccio, Azure DevOps si connette con Microsoft Entra ID e crea una registrazione dell'app con un segreto valido per tre mesi. Quando la connessione al servizio sta per scadere, microsoft Entra ID visualizza questa richiesta: un certificato o un segreto sta per scadere a breve. Crearne uno nuovo. In questo scenario è necessario aggiornare la connessione al servizio.

Per aggiornare una connessione al servizio, nel portale di Azure DevOps modificare la connessione e quindi selezionare Verifica. Dopo aver salvato la modifica, la connessione al servizio è valida per altri tre mesi.

È consigliabile usare la federazione delle identità del carico di lavoro anziché creare un segreto. Se si usa la federazione delle identità del carico di lavoro, non è necessario ruotare i segreti e la registrazione dell'app mantiene lo scopo previsto. Per iniziare a usare la federazione dell'identità del carico di lavoro, passare alla pagina dei dettagli della connessione del servizio e selezionare Converti. La connessione al servizio viene convertita in modo da usare la federazione dell'identità del carico di lavoro anziché un segreto. Per altre informazioni, vedere Convertire una connessione al servizio Azure Resource Manager esistente per usare la federazione delle identità del carico di lavoro.

Per altre informazioni, vedere Risolvere i problemi di una connessione al servizio Azure Resource Manager.

Se si verificano problemi con questo approccio, ad esempio senza sottoscrizioni visualizzate nell'elenco a discesa, oppure se si desidera limitare le autorizzazioni utente, è possibile usare invece un'entità servizio o una macchina virtuale con un'identità gestita.

Creare una connessione al servizio Azure Resource Manager che usa un'entità servizio esistente

Se si vuole usare un set predefinito di autorizzazioni di accesso e non si dispone già di un'entità servizio definita a questo scopo, seguire una di queste esercitazioni per creare una nuova entità servizio:

Per creare una connessione al servizio che usa un'entità servizio esistente:

  1. Nel progetto Azure DevOps passare a Impostazioni progetto>Connessioni del servizio.

    Per altre informazioni, vedere Aprire le impostazioni del progetto.

  2. Selezionare Nuova connessione al servizio, quindi selezionare Azure Resource Manager e Avanti.

    Screenshot che mostra la selezione di Azure Resource Manager.

  3. Selezionare Entità servizio (manuale) e Avanti.

    Screenshot che mostra la selezione di un metodo di autenticazione dell'entità servizio (manuale).

  4. Nella finestra di dialogo Nuova connessione al servizio di Azure selezionare Ambiente. Se si seleziona Azure Stack, immettere l'URL dell'ambiente, che è simile a https://management.local.azurestack.external.

  5. 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 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 area di lavoro ML Obbligatorio. Immettere il nome dell'area di lavoro di Azure Machine Learning esistente.
      Percorso area di lavoro ML Obbligatorio. Immettere il percorso dell'area di lavoro di Azure Machine Learning esistente.
  6. Nella sezione Autenticazione immettere o selezionare i parametri seguenti:

    Parametro Descrizione
    ID entità servizio Obbligatorio. Immettere l'ID entità servizio.
    Credenziali Selezionare Chiave dell'entità servizio o Certificato. Se è stata selezionata la chiave dell'entità servizio, immettere la chiave (password). Se è stato selezionato Certificato, immettere il certificato.
    Tenant Id Obbligatorio. Immetti l'ID tenant.
    Verificare Selezionare questa opzione per convalidare le impostazioni immesse.
  7. Nella sezione Dettagli immettere i parametri seguenti:

    Parametro Descrizione
    Nome connessione Obbligatorio. Nome usato per fare riferimento a questa connessione al servizio nelle proprietà dell'attività. Non il nome della sottoscrizione di Azure.
    Descrizione Facoltativo. Immettere una descrizione della connessione al servizio.
    Sicurezza Selezionare Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se non si seleziona questa opzione, è necessario concedere manualmente l'accesso a ogni pipeline che usa questa connessione al servizio.
  8. Selezionare Verifica e salva per convalidare e creare la connessione al servizio.

Dopo aver creato la nuova connessione al servizio:

  • Se si usa la connessione al servizio nell'interfaccia utente, selezionare il nome della connessione assegnato nell'impostazione della sottoscrizione di Azure della pipeline.
  • Se si usa la connessione al servizio in un file YAML, copiare il nome della connessione e incollarlo nel codice come valore per azureSubscription.

Se necessario, modificare l'entità servizio per esporre le autorizzazioni appropriate.

Per altre informazioni sull'autenticazione tramite un'entità servizio, vedere Usare il controllo degli accessi in base al ruolo per gestire l'accesso alle risorse della sottoscrizione di Azure o il post di blog Automatizzare una distribuzione di un gruppo di risorse di Azure usando un'entità servizio in Visual Studio.

Per altre informazioni, vedere Risolvere i problemi relativi alle connessioni al servizio Azure Resource Manager.

Creare una connessione al servizio Azure Resource Manager a una macchina virtuale che usa un'identità gestita

Nota

Per usare un'identità gestita per l'autenticazione, è necessario usare un agente self-hosted in una macchina virtuale di Azure.

È possibile configurare agenti self-hosted nelle macchine virtuali di Azure per usare un'identità gestita di Azure nell'ID Microsoft Entra. In questo scenario si usa l'identità gestita assegnata dal sistema (entità servizio) per concedere agli agenti l'accesso a qualsiasi risorsa di Azure che supporti l'ID Microsoft Entra, ad esempio un'istanza di Azure Key Vault.

  1. Nel progetto Azure DevOps passare a Impostazioni progetto>Connessioni del servizio.

    Per altre informazioni, vedere Aprire le impostazioni del progetto.

  2. Selezionare Nuova connessione al servizio, quindi selezionare Azure Resource Manager e Avanti.

    Screenshot che mostra la scelta di un tipo di connessione del servizio.

  3. Selezionare Identità gestita per il metodo di autenticazione.

    Screenshot che mostra l'accesso alla selezione del metodo di autenticazione dell'identità del servizio gestito.

  4. Per Ambiente selezionare il nome dell'ambiente (Cloud di Azure, Azure Stack o opzioni cloud per enti pubblici).

  5. Selezionare il livello 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 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 area di lavoro ML Obbligatorio. Immettere il nome dell'area di lavoro di Azure Machine Learning esistente.
      Percorso area di lavoro ML Obbligatorio. Immettere il percorso dell'area di lavoro di Azure Machine Learning esistente.
  6. Immettere l'ID tenant.

  7. Immettere il nome della connessione al servizio.

  8. Facoltativamente, immettere una descrizione per la connessione al servizio.

  9. Selezionare Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se non si seleziona questa opzione, è necessario concedere manualmente l'accesso a ogni pipeline che usa questa connessione al servizio.

  10. Seleziona Salva.

  11. Dopo aver creato la nuova connessione al servizio:

    • Se si usa la connessione al servizio nell'interfaccia utente, selezionare il nome della connessione assegnato nell'impostazione della sottoscrizione di Azure della pipeline.
    • Se si usa la connessione al servizio in un file YAML, copiare il nome della connessione nel codice come valore per azureSubscription.
  12. Assicurarsi che la macchina virtuale (agente) disponga delle autorizzazioni appropriate.

    Ad esempio, se il codice deve chiamare Azure Resource Manager, assegnare alla macchina virtuale il ruolo appropriato usando il controllo degli accessi in base al ruolo in Microsoft Entra ID.

    Per altre informazioni, vedere Come è possibile usare le identità gestite per le risorse di Azure? e Usare il controllo degli accessi in base al ruolo per gestire l'accesso alle risorse della sottoscrizione di Azure.

Per altre informazioni sul processo, vedere Risolvere i problemi relativi alle connessioni al servizio Azure Resource Manager.

Creare una connessione al servizio usando un profilo di pubblicazione

È possibile creare una connessione al servizio usando un profilo di pubblicazione. È possibile usare un profilo di pubblicazione per creare una connessione al servizio a un servizio app Azure.

  1. Nel progetto Azure DevOps passare a Impostazioni progetto>Connessioni del servizio.

    Per altre informazioni, vedere Aprire le impostazioni del progetto.

  2. Selezionare Nuova connessione al servizio, quindi selezionare Azure Resource Manager e Avanti.

    Screenshot della selezione di Azure Resource Manager.

  3. Selezionare Pubblica profilo per il metodo di autenticazione e selezionare Avanti.

    Screenshot della selezione del metodo di autenticazione del profilo di pubblicazione.

  4. Immettere i parametri seguenti:

    Parametro Descrizione
    Abbonamento Obbligatorio. Selezionare una sottoscrizione di Azure esistente. Se non vengono visualizzate sottoscrizioni o istanze di Azure, vedere Risolvere i problemi relativi alle connessioni al servizio Azure Resource Manager.
    WebApp Obbligatorio. Immettere il nome dell'app del servizio app Azure.
    Nome connessione del servizio Obbligatorio. Nome usato per fare riferimento a questa connessione al servizio nelle proprietà dell'attività. Non il nome della sottoscrizione di Azure.
    Descrizione Facoltativo. Descrizione della connessione al servizio.
  5. Selezionare Concedi l'autorizzazione di accesso a tutte le pipeline per consentire a tutte le pipeline di usare questa connessione al servizio. Se non si seleziona questa opzione, è necessario concedere manualmente l'accesso a ogni pipeline che usa questa connessione al servizio.

  6. Seleziona Salva.

Dopo aver creato la nuova connessione al servizio:

  • Se si usa la connessione al servizio nell'interfaccia utente, selezionare il nome della connessione assegnato nell'impostazione della sottoscrizione di Azure della pipeline.
  • Se si usa la connessione al servizio in un file YAML, copiare il nome della connessione e incollarlo nel codice come valore per azureSubscription.

Connettersi a un cloud Azure per enti pubblici

Per informazioni sulla connessione a un cloud Azure per enti pubblici, vedere Connettersi da Azure Pipelines (Azure per enti pubblici Cloud).

Connettersi ad Azure Stack

Per informazioni sulla connessione ad Azure Stack, vedere gli articoli seguenti:

Assistenza e supporto