Dela via


Ansluta till Azure med hjälp av en Azure Resource Manager-tjänstanslutning

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Du kan använda en Azure Resource Manager-tjänstanslutning för att ansluta till Azure-resurser som Azure Key Vault. Om du använder en Resource Manager-tjänstanslutning kan du använda en pipeline för att distribuera till en Azure-resurs som en Azure App Service-app utan att autentisera varje gång.

Du har flera alternativ för att ansluta till Azure med hjälp av Azure Resource Manager-tjänstanslutningar:

  • Tjänstens huvudnamn med arbetsbelastningsidentitetsfederation
  • Tjänstens huvudnamn med hemlighet
  • Systemtilldelad hanterad identitet
  • Offentlig profil

Tjänstanslutningen använder ett huvudnamn för tjänsten för att autentisera med Azure-resurser.

Skapa en Azure Resource Manager-tjänstanslutning som använder arbetsbelastningsidentitetsfederation

Arbetsbelastningsidentitetsfederation använder OpenID Connect (OIDC) för att autentisera med Microsoft Entra-skyddade resurser utan att använda hemligheter. Du kan automatiskt skapa arbetsbelastningsidentitetsfederationen för autentisering eller skapa den manuellt.

Vi rekommenderar att du använder den här metoden om alla följande objekt är sanna för ditt scenario:

  • Du har rollen Ägare för din Azure-prenumeration.
  • Du ansluter inte till Azure Stack - eller Azure US Government-miljöerna .
  • Alla Marketplace-tilläggsuppgifter som du använder uppdateras för att stödja arbetsbelastningsidentitetsfederation.

Skapa en tjänstanslutning med arbetsbelastningsidentitetsfederation (automatiskt)

Med det här valet frågar Azure DevOps automatiskt efter den prenumeration, hanteringsgrupp eller Mašinsko učenje arbetsyta som du vill ansluta till och skapar en arbetsbelastningsidentitetsfederation för autentisering.

  1. I Azure DevOps-projektet går du till Projektinställningar>Tjänstanslutningar.

    Mer information finns i Öppna projektinställningar.

  2. Välj Ny tjänstanslutning och sedan Azure Resource Manager och Nästa.

    Skärmbild som visar valet av Azure Resource Manager.

  3. Välj Arbetsbelastningsidentitetsfederation (automatisk) och Nästa.

    Skärmbild av val av autentiseringsmetod för autentiseringsmetod för arbetsbelastningsidentitetsfederation (automatisk).

  4. Välj en omfångsnivå. Välj Prenumeration, hanteringsgrupp eller Mašinsko učenje arbetsyta. Hanteringsgrupper är containrar som hjälper dig att hantera åtkomst, principer och efterlevnad i flera prenumerationer. En Mašinsko učenje arbetsyta är en plats där du kan skapa maskininlärningsartefakter.

    • Ange följande parametrar för prenumerationsomfånget :

      Parameter Description
      Abonnemang Obligatoriskt. Välj Azure-prenumerationen.
      Resursgrupp Obligatoriskt. Ange namnet på Azure-prenumerationen.
    • För omfånget Hanteringsgrupp väljer du Azure-hanteringsgruppen.

    • Ange följande parametrar för omfånget Mašinsko učenje Arbetsyta:

      Parameter Description
      Abonnemang Obligatoriskt. Välj Azure-prenumerationen.
      Resursgrupp Obligatoriskt. Välj den resursgrupp som innehåller arbetsytan.
      Mašinsko učenje arbetsyta Obligatoriskt. Välj arbetsytan Azure Mašinsko učenje.
  5. Ange ett namn på tjänstanslutningen.

  6. Du kan också ange en beskrivning för tjänstanslutningen.

  7. Välj Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.

  8. Välj Spara.

När den nya tjänstanslutningen har skapats kopierar du anslutningsnamnet och klistrar in det i koden som värde för azureSubscription.

För att distribuera till en specifik Azure-resurs behöver aktiviteten mer data om den resursen. Gå till resursen i Azure-portalen och kopiera sedan data till koden. Om du till exempel vill distribuera en webbapp kopierar du namnet på Azure App Service-appen och klistrar in den i koden som värde för WebAppName.

Skapa tjänstanslutning med arbetsbelastningsidentitetsfederation (manuell)

Använd det här alternativet om du vill skapa en tjänstanslutning manuellt som använder en befintlig arbetsbelastningsidentitetsfederation för autentisering.

  1. I Azure DevOps-projektet går du till Projektinställningar>Tjänstanslutningar.

    Mer information finns i Öppna projektinställningar.

  2. Välj Ny tjänstanslutning och sedan Azure Resource Manager och Nästa.

    Skärmbild av val av autentiseringsmetod för autentiseringsmetod för arbetsbelastningsidentitetsfederation (manuell).

  3. Välj Arbetsbelastningsidentitetsfederation (manuell) och Nästa.

    Skärmbild som visar hur du väljer en anslutningstyp för arbetsbelastningsidentitetstjänsten.

  4. I steg 1: Grundläggande:

    1. Ange ett namn på tjänstanslutningen
    2. Du kan också ange en Beskrivning.
    3. Välj Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.
    4. Välj Nästa.
  5. I steg 2: Information om tjänstens huvudnamn:

    Steg 2: Information om tjänstens huvudnamn innehåller följande parametrar. Du kan ange eller välja följande parametrar:

    Parameter Description
    Utfärdare Obligatoriskt. DevOps skapar automatiskt utfärdarens URL skapas automatiskt
    Ämnesidentifierare Obligatoriskt. DevOps skapar automatiskt ämnesidentifieraren.
    Miljö Obligatoriskt. Välj en molnmiljö att ansluta till. Om du väljer Azure Stack anger du miljö-URL:en, som liknar https://management.local.azurestack.external.
    1. Välj omfångsnivå. Välj Prenumeration, hanteringsgrupp eller Mašinsko učenje arbetsyta. Hanteringsgrupper är containrar som hjälper dig att hantera åtkomst, principer och efterlevnad i flera prenumerationer. En Mašinsko učenje arbetsyta är en plats där du kan skapa maskininlärningsartefakter.

      • Ange följande parametrar för prenumerationsomfånget :

        Parameter Description
        Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
        Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
      • Ange följande parametrar för hanteringsgruppens omfång:

        Parameter Description
        Hanteringsgrupps-ID Obligatoriskt. Ange Azure-hanteringsgruppens ID.
        Namn på hanteringsgrupp Obligatoriskt. Ange namnet på Azure-hanteringsgruppen.
      • Ange följande parametrar för omfånget Mašinsko učenje Arbetsyta:

        Parameter Description
        Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
        Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
        Resursgrupp Obligatoriskt. Välj den resursgrupp som innehåller arbetsytan.
        ML-arbetsytans namn Obligatoriskt. Ange namnet på den befintliga Azure Mašinsko učenje-arbetsytan.
        ML-arbetsyta Obligatoriskt. Ange platsen för den befintliga Azure Mašinsko učenje-arbetsytan.
    2. I avsnittet Autentisering anger eller väljer du följande parametrar:

      Parameter Description
      Tjänstens huvudnamn-ID Obligatoriskt. Ange tjänstens huvudnamns-ID.
      Klientorganisations-ID Obligatoriskt. Ange innehavar-ID:t.
    3. I avsnittet Information anger du följande parametrar:

      Parameter Description
      Anslutningsnamn Obligatoriskt. Namnet som du använder för att referera till den här tjänstanslutningen i aktivitetsegenskaper. Inte namnet på din Azure-prenumeration.
      Beskrivning Valfritt. Ange en beskrivning av tjänstanslutningen.
    4. I avsnittet Säkerhet väljer du Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.

    5. Välj Verifiera och spara för att verifiera och skapa tjänstanslutningen.

När den nya tjänstanslutningen har skapats kopierar du anslutningsnamnet och klistrar in det i koden som värde för azureSubscription.

För att distribuera till en specifik Azure-resurs behöver aktiviteten mer data om den resursen. Gå till resursen i Azure-portalen och kopiera sedan data till koden. Om du till exempel vill distribuera en webbapp kopierar du namnet på Azure App Service-appen och klistrar in den i koden som värde för WebAppName.

Konvertera en befintlig Azure Resource Manager-tjänstanslutning för att använda arbetsbelastningsidentitetsfederation

Du kan snabbt konvertera en befintlig Azure Resource Manager-tjänstanslutning för att använda arbetsbelastningsidentitetsfederation för autentisering i stället för tjänstens huvudnamn. Du kan använda konverteringsverktyget för tjänstanslutning i Azure DevOps om tjänstanslutningen uppfyller följande krav:

  • Azure DevOps skapade ursprungligen tjänstanslutningen. Om du skapar tjänstanslutningen manuellt kan du inte konvertera tjänstanslutningen med hjälp av konverteringsverktyget för tjänstanslutning eftersom Azure DevOps inte har behörighet att ändra sina egna autentiseringsuppgifter.
  • Endast ett projekt använder tjänstanslutningen. Du kan inte konvertera anslutningar mellan služba za upravljanje projektom.

Så här konverterar du en tjänstanslutning:

  1. I Azure DevOps-projektet går du till Projektinställningar>Tjänstanslutningar.

    Mer information finns i Öppna projektinställningar.

  2. Välj den tjänstanslutning som du vill konvertera för att använda arbetsbelastningsidentitet.

  3. Välj Konvertera.

    Skärmbild som visar hur du väljer konvertera för federerade autentiseringsuppgifter.

    Om du har en befintlig autentiseringsuppgift för tjänstens huvudnamn med en hemlighet som har upphört att gälla ser du ett annat alternativ att konvertera.

    Skärmbild som visar alternativet att konvertera för att använda federerade autentiseringsuppgifter när du har ett utgånget certifikat.

  4. Välj Konvertera igen för att bekräfta att du vill skapa en ny tjänstanslutning.

    Konverteringen kan ta några minuter. Om du vill återställa anslutningen måste du återställa den inom sju dagar.

Konvertera flera Azure Resource Manager-tjänstanslutningar med ett skript

Använd ett skript för att uppdatera flera tjänstanslutningar samtidigt för att nu använda arbetsbelastningsidentitetsfederation för autentisering.

Det här PowerShell-skriptexemplet kräver två parametrar: Azure DevOps-organisation (exempel: https://dev.azure.com/fabrikam-tailspin) och Azure DevOps-projekt (exempel: Space game web agent). Skriptet hämtar sedan de associerade tjänstanslutningarna för ditt Azure DevOps-projekt och din organisation.

När du konverterar tjänstanslutningar till att använda arbetsbelastningsidentitetsfederation uppmanas du att bekräfta uppdateringen för varje anslutning som inte redan använder den. När bekräftelsen har bekräftats uppdaterar skriptet dessa tjänstanslutningar via Azure DevOps REST API för att använda arbetsbelastningsidentitetsfederation.

Skriptet kräver Att PowerShell 7.3 eller senare och Azure CLI körs. Spara skriptet i en .ps1 fil och kör det med 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)'"
}

Återställa en befintlig Azure Resource Manager-tjänstanslutning som använder en hemlighet för tjänstens huvudnamn

Du kan återställa en konverterad automatisk tjänstanslutning med dess hemlighet i sju dagar. Efter sju dagar skapar du en ny hemlighet manuellt.

Om du skapar och konverterar tjänstanslutningen manuellt kan du inte återställa tjänstanslutningen med hjälp av konverteringsverktyget för tjänstanslutning eftersom Azure DevOps inte har behörighet att ändra sina egna autentiseringsuppgifter.

Så här återställer du en tjänstanslutning:

  1. I Azure DevOps-projektet går du till Pipelines>Service-anslutningar.

  2. Välj en befintlig tjänstanslutning som ska återställas.

  3. Välj Återställ konvertering till det ursprungliga schemat.

    Skärmbild som visar hur du väljer återställ för en federerad autentiseringsuppgift.

  4. Välj Återställ igen för att bekräfta ditt val.

Skapa en Azure Resource Manager-tjänstanslutning som använder en hemlighet för tjänstens huvudnamn

Du kan konfigurera en tjänstanslutning för att autentisera med Azure-resurser med hjälp av en hemlighet för tjänstens huvudnamn. Den här metoden är användbar när du behöver ytterligare begränsa behörigheter för Azure-resurser som användarna har åtkomst till via tjänstanslutningen.

Du kan välja att konfigurera tjänstanslutningen manuellt eller automatiskt. Det är bästa praxis att använda den automatiska metoden om du har loggat in som ägare av Azure Pipelines-organisationen och Azure-prenumerationen, och du inte behöver begränsa behörigheterna för Azure-resurser som användarna har åtkomst till via tjänstanslutningen ytterligare.

Vi rekommenderar att du använder den här metoden om alla följande objekt är sanna för ditt scenario:

  • Du är inloggad som ägare till Azure Pipelines-organisationen och Azure-prenumerationen.
  • Du behöver inte ytterligare begränsa behörigheter för Azure-resurser som användarna får åtkomst till via tjänstanslutningen.
  • Du ansluter inte till Azure Stack eller till ett Azure Government-moln.
  • Du ansluter inte från Azure DevOps Server 2019 eller tidigare versioner av Team Foundation Server.

Så här skapar du tjänstanslutningen:

  1. I Azure DevOps-projektet går du till Projektinställningar>Tjänstanslutningar.

    Mer information finns i Öppna projektinställningar.

  2. Välj Ny tjänstanslutning och sedan Azure Resource Manager och Nästa.

    Skärmbild som visar valet av Azure Resource Manager.

  3. Välj Tjänstens huvudnamn (automatiskt) och Nästa.

    Skärmbild som visar val av autentiseringsmetod för tjänstens huvudnamn (automatisk).

  4. Välj omfångsnivå. Välj Prenumeration, hanteringsgrupp eller Mašinsko učenje arbetsyta. Hanteringsgrupper är containrar som hjälper dig att hantera åtkomst, principer och efterlevnad i flera prenumerationer. En Mašinsko učenje arbetsyta är en plats där du kan skapa maskininlärningsartefakter.

    • Ange följande parametrar för prenumerationsomfånget :

      Parameter Description
      Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
      Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
    • För omfånget Hanteringsgrupp anger du följande parametrar och väljer Azure-hanteringsgruppen.

    • Ange följande parametrar för omfånget Mašinsko učenje Arbetsyta:

      Parameter Description
      Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
      Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
      Resursgrupp Obligatoriskt. Välj den resursgrupp som innehåller arbetsytan.
      ML-arbetsytans namn Obligatoriskt. Ange namnet på den befintliga Azure Mašinsko učenje-arbetsytan.
      ML-arbetsyta Obligatoriskt. Ange platsen för den befintliga Azure Mašinsko učenje-arbetsytan.
  5. Ange ett namn på tjänstanslutningen.

  6. Du kan också ange en beskrivning för tjänstanslutningen.

  7. Välj Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.

  8. Välj Spara.

När den nya tjänstanslutningen har skapats:

  • Om du använder den klassiska redigeraren väljer du det anslutningsnamn som du tilldelade i azure-prenumerationsinställningen för din pipeline.
  • Om du använder en YAML-fil kopierar du anslutningsnamnet till koden som värde för azureSubscription.

Om du vill distribuera till en specifik Azure-resurs lägger du till mer information om resursen i uppgiften:

  • Om du använder den klassiska redigeraren väljer du data som ska läggas till i uppgiften. Välj till exempel App Service-namnet.
  • Om du använder en YAML-fil går du till resursen i Azure-portalen. Kopiera de data som du behöver och klistra in dem i aktivitetskoden. Om du till exempel vill distribuera en webbapp kopierar du namnet på App Service-appen och klistrar in den som värde för WebAppName i aktiviteten YAML.

Kommentar

När du följer den här metoden ansluter Azure DevOps med Microsoft Entra-ID och skapar en appregistrering med en hemlighet som är giltig i tre månader. När tjänstanslutningen snart upphör att gälla visar Microsoft Entra-ID:t den här uppmaningen: Ett certifikat eller en hemlighet upphör snart att gälla. Skapa en ny. I det här scenariot måste du uppdatera tjänstanslutningen.

Om du vill uppdatera en tjänstanslutning går du till Azure DevOps-portalen, redigerar anslutningen och väljer sedan Verifiera. När du har sparat redigeringen är tjänstanslutningen giltig i ytterligare tre månader.

Vi rekommenderar att du använder arbetsbelastningsidentitetsfederation i stället för att skapa en hemlighet. Om du använder arbetsbelastningsidentitetsfederation behöver du inte rotera hemligheter och appregistreringen bibehåller sitt avsedda syfte. Om du vill börja använda arbetsbelastningsidentitetsfederation går du till sidan för tjänstanslutningsinformation och väljer Konvertera. Tjänstanslutningen konverteras till att använda arbetsbelastningsidentitetsfederation i stället för en hemlighet. Mer information finns i Konvertera en befintlig Azure Resource Manager-tjänstanslutning för att använda arbetsbelastningsidentitetsfederation.

Mer information finns i Felsöka en Azure Resource Manager-tjänstanslutning.

Om du har problem med att använda den här metoden (till exempel inga prenumerationer som visas i listrutan) eller om du vill begränsa användarbehörigheter kan du i stället använda tjänstens huvudnamn eller en virtuell dator med en hanterad identitet.

Skapa en Azure Resource Manager-tjänstanslutning som använder ett befintligt huvudnamn för tjänsten

Om du vill använda en fördefinierad uppsättning åtkomstbehörigheter och du inte redan har definierat ett huvudnamn för tjänsten för det här ändamålet följer du någon av dessa självstudier för att skapa ett nytt huvudnamn för tjänsten:

Så här skapar du en tjänstanslutning som använder ett befintligt huvudnamn för tjänsten:

  1. I Azure DevOps-projektet går du till Projektinställningar>Tjänstanslutningar.

    Mer information finns i Öppna projektinställningar.

  2. Välj Ny tjänstanslutning och sedan Azure Resource Manager och Nästa.

    Skärmbild som visar valet av Azure Resource Manager.

  3. Välj Tjänstens huvudnamn (manuell) och Nästa.

    Skärmbild som visar val av autentiseringsmetod för tjänstens huvudnamn (manuell).

  4. I dialogrutan Ny Azure-tjänstanslutning väljer du Miljö. Om du väljer Azure Stack anger du miljö-URL:en, som liknar https://management.local.azurestack.external.

  5. Välj omfångsnivå. Välj Prenumeration, hanteringsgrupp eller Mašinsko učenje arbetsyta. Hanteringsgrupper är containrar som hjälper dig att hantera åtkomst, principer och efterlevnad i flera prenumerationer. En Mašinsko učenje arbetsyta är en plats där du kan skapa maskininlärningsartefakter.

    • Ange följande parametrar för prenumerationsomfånget :

      Parameter Description
      Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
      Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
    • Ange följande parametrar för hanteringsgruppens omfång:

      Parameter Description
      Hanteringsgrupps-ID Obligatoriskt. Ange Azure-hanteringsgruppens ID.
      Namn på hanteringsgrupp Obligatoriskt. Ange namnet på Azure-hanteringsgruppen.
    • Ange följande parametrar för omfånget Mašinsko učenje Arbetsyta:

      Parameter Description
      Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
      Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
      Resursgrupp Obligatoriskt. Välj den resursgrupp som innehåller arbetsytan.
      ML-arbetsytans namn Obligatoriskt. Ange namnet på den befintliga Azure Mašinsko učenje-arbetsytan.
      ML-arbetsyta Obligatoriskt. Ange platsen för den befintliga Azure Mašinsko učenje-arbetsytan.
  6. I avsnittet Autentisering anger eller väljer du följande parametrar:

    Parameter Description
    Tjänstens huvudnamn-ID Obligatoriskt. Ange tjänstens huvudnamns-ID.
    Referens Välj Nyckel eller certifikat för tjänstens huvudnamn. Om du har valt Tjänstens huvudnyckel anger du nyckeln (lösenordet). Om du har valt Certifikat anger du certifikatet.
    Klientorganisations-ID Obligatoriskt. Ange innehavar-ID:t.
    Verifiera Välj för att verifiera de inställningar som du har angett.
  7. I avsnittet Information anger du följande parametrar:

    Parameter Description
    Anslutningsnamn Obligatoriskt. Namnet som du använder för att referera till den här tjänstanslutningen i aktivitetsegenskaper. Inte namnet på din Azure-prenumeration.
    Beskrivning Valfritt. Ange en beskrivning av tjänstanslutningen.
    Säkerhet Välj Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.
  8. Välj Verifiera och spara för att verifiera och skapa tjänstanslutningen.

När den nya tjänstanslutningen har skapats:

  • Om du använder tjänstanslutningen i användargränssnittet väljer du det anslutningsnamn som du tilldelade i azure-prenumerationsinställningen för din pipeline.
  • Om du använder tjänstanslutningen i en YAML-fil kopierar du anslutningsnamnet och klistrar in det i koden som värde för azureSubscription.

Om det behövs ändrar du tjänstens huvudnamn för att exponera lämpliga behörigheter.

Mer information om autentisering med hjälp av tjänstens huvudnamn finns i Använda rollbaserad åtkomstkontroll för att hantera åtkomst till dina Azure-prenumerationsresurser eller blogginlägget Automatisera en Distribution av azure-resursgrupper med hjälp av tjänstens huvudnamn i Visual Studio.

Mer information finns i Felsöka Azure Resource Manager-tjänstanslutningar.

Skapa en Azure Resource Manager-tjänstanslutning till en virtuell dator som använder en hanterad identitet

Kommentar

Om du vill använda en hanterad identitet för att autentisera måste du använda en lokalt installerad agent på en virtuell Azure-dator (VM).

Du kan konfigurera lokalt installerade agenter på virtuella Azure-datorer för att använda en Hanterad Azure-identitet i Microsoft Entra-ID. I det här scenariot använder du den systemtilldelade hanterade identiteten (tjänstens huvudnamn) för att ge agenterna åtkomst till alla Azure-resurser som stöder Microsoft Entra-ID, till exempel en instans av Azure Key Vault.

  1. I Azure DevOps-projektet går du till Projektinställningar>Tjänstanslutningar.

    Mer information finns i Öppna projektinställningar.

  2. Välj Ny tjänstanslutning och sedan Azure Resource Manager och Nästa.

    Skärmbild som visar hur du väljer en tjänstanslutningstyp.

  3. Välj Hanterad identitet för autentiseringsmetoden.

    Skärmbild som visar hur du väljer metoden för hanterad tjänstidentitetsautentisering.

  4. För Miljö väljer du miljönamnet (molnalternativen Azure Cloud, Azure Stack eller Government).

  5. Välj omfångsnivå. Välj Prenumeration, hanteringsgrupp eller Mašinsko učenje arbetsyta. Hanteringsgrupper är containrar som hjälper dig att hantera åtkomst, principer och efterlevnad i flera prenumerationer. En Mašinsko učenje arbetsyta är en plats där du kan skapa maskininlärningsartefakter.

    • Ange följande parametrar för prenumerationsomfånget :

      Parameter Description
      Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
      Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
    • Ange följande parametrar för hanteringsgruppens omfång:

      Parameter Description
      Hanteringsgrupps-ID Obligatoriskt. Ange Azure-hanteringsgruppens ID.
      Namn på hanteringsgrupp Obligatoriskt. Ange namnet på Azure-hanteringsgruppen.
    • Ange följande parametrar för omfånget Mašinsko učenje Arbetsyta:

      Parameter Description
      Prenumerations-ID Obligatoriskt. Ange Azure-prenumerations-ID:t.
      Prenumerationsnamn Obligatoriskt. Ange namnet på Azure-prenumerationen.
      Resursgrupp Obligatoriskt. Välj den resursgrupp som innehåller arbetsytan.
      ML-arbetsytans namn Obligatoriskt. Ange namnet på den befintliga Azure Mašinsko učenje-arbetsytan.
      ML-arbetsyta Obligatoriskt. Ange platsen för den befintliga Azure Mašinsko učenje-arbetsytan.
  6. Ange klientorganisations-ID :t.

  7. Ange namnet på tjänstanslutningen.

  8. Du kan också ange en beskrivning för tjänstanslutningen.

  9. Välj Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.

  10. Välj Spara.

  11. När den nya tjänstanslutningen har skapats:

    • Om du använder tjänstanslutningen i användargränssnittet väljer du det anslutningsnamn som du tilldelade i azure-prenumerationsinställningen för din pipeline.
    • Om du använder tjänstanslutningen i en YAML-fil kopierar du anslutningsnamnet till koden som värde för azureSubscription.
  12. Kontrollera att den virtuella datorn (agenten) har rätt behörigheter.

    Om koden till exempel behöver anropa Azure Resource Manager tilldelar du den virtuella datorn rätt roll med hjälp av rollbaserad åtkomstkontroll (RBAC) i Microsoft Entra-ID.

    Mer information finns i Hur kan jag använda hanterade identiteter för Azure-resurser? och Använda rollbaserad åtkomstkontroll för att hantera åtkomst till dina Azure-prenumerationsresurser.

Mer information om processen finns i Felsöka Azure Resource Manager-tjänstanslutningar.

Skapa en tjänstanslutning med en publiceringsprofil

Du kan skapa en tjänstanslutning med hjälp av en publiceringsprofil. Du kan använda en publiceringsprofil för att skapa en tjänstanslutning till en Azure App Service.

  1. I Azure DevOps-projektet går du till Projektinställningar>Tjänstanslutningar.

    Mer information finns i Öppna projektinställningar.

  2. Välj Ny tjänstanslutning och sedan Azure Resource Manager och Nästa.

    Skärmbild av valet av Azure Resource Manager.

  3. Välj Publicera profil för autentiseringsmetoden och välj Nästa.

    Skärmbild av val av autentiseringsmetod för publiceringsprofil.

  4. Ange följande parametrar:

    Parameter Description
    Abonnemang Obligatoriskt. Välj en befintlig Azure-prenumeration. Om inga Azure-prenumerationer eller instanser visas kan du läsa Felsöka Azure Resource Manager-tjänstanslutningar.
    WebApp Obligatoriskt. Ange namnet på Azure App Service-appen.
    Namn på tjänstanslutning Obligatoriskt. Namnet som du använder för att referera till den här tjänstanslutningen i aktivitetsegenskaper. Inte namnet på din Azure-prenumeration.
    Beskrivning Valfritt. Beskrivningen av tjänstanslutningen.
  5. Välj Bevilja åtkomstbehörighet till alla pipelines för att tillåta att alla pipelines använder den här tjänstanslutningen. Om du inte väljer det här alternativet måste du manuellt bevilja åtkomst till varje pipeline som använder den här tjänstanslutningen.

  6. Välj Spara.

När den nya tjänstanslutningen har skapats:

  • Om du använder tjänstanslutningen i användargränssnittet väljer du det anslutningsnamn som du tilldelade i azure-prenumerationsinställningen för din pipeline.
  • Om du använder tjänstanslutningen i en YAML-fil kopierar du anslutningsnamnet och klistrar in det i koden som värde för azureSubscription.

Ansluta till ett Azure Government-moln

Information om hur du ansluter till ett Azure Government-moln finns i Ansluta från Azure Pipelines (Azure Government Cloud).

Anslut till Azure Stack

Information om hur du ansluter till Azure Stack finns i följande artiklar:

Hjälp och support