Dela via


Autentiseringsmetoder för Azure DevOps

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022 | Azure DevOps Server 2020

Den här artikeln beskriver autentiseringsmetoder för Azure DevOps-integrering och hjälper dig att välja det bästa alternativet för ditt scenario. Moderna autentiseringsmetoder som Microsoft Entra ID ger förbättrad säkerhet och den bästa metoden för nya program.

Viktigt!

Vi rekommenderar Microsoft Entra ID-autentisering för nya program som integreras med Azure DevOps Services. Använd personliga åtkomsttoken sparsamt och använd dem endast när Microsoft Entra-ID inte är tillgängligt.

OAuth 2.0- och Microsoft Entra-ID-autentisering är endast tillgängliga för Azure DevOps Services, inte För Azure DevOps Server.

För lokala scenarier använder du .NET-klientbibliotek, Windows-autentisering eller personliga åtkomsttoken.

Autentiseringsmetoder efter scenario

Välj lämplig autentiseringsmetod baserat på programtyp och krav.

Apptyp beskrivning Exempel Rekommenderad metod Kodexempel
Webb-/skrivbordsappar Interaktiva program som använder aktuella ramverk React-app, .NET-skrivbordsapp Microsoft Entra OAuth med Microsoft Authentication Library (MSAL) Hanterad klientkonsolapp
Tjänst-/bakgrundsappar Program som körs utan användarinteraktion Azure Functions, bakgrundstjänster Tjänstens huvudnamn och hanterade identiteter Tjänstens huvudnamn
Äldre klientappar Befintliga program som använder klientbibliotek Konsolappar med Azure DevOps .NET-bibliotek .NET-klientbibliotek med OAuth Konsolapp för klientbibliotek
Headless/CLI-appar Icke-inaktiva kommandoradsverktyg Skapa skript, automatiseringsverktyg Flöde för beviljande av enhetsauktorisering Enhetsprofil
Azure DevOps-tillägg Tillägg som körs i Azure DevOps Anpassade instrumentpanelswidgetar och arbetsobjektformulär SDK för Azure DevOps-webbtillägg Lägga till en instrumentpanelswidget
Azure DevOps Server-appar Lokala Azure DevOps Server-integreringar Anpassade servertillägg .NET-klientbibliotek eller Windows-autentisering Konsolapp för klientbibliotek
Personliga/ad hoc-skript Snabbskript för personligt bruk PowerShell-skript, curl-kommandon Personliga åtkomsttoken Kom igång med REST-API:erna

Förslag för att komma igång

Följande avsnitt innehåller rekommendationer för att komma igång i olika scenarier.

Nya program

Befintliga applikationer

  • Planera migrering från personliga åtkomsttoken till Microsoft Entra ID-autentisering.
  • Överväg tidslinjen för autentiseringsmigrering för att förbättra Azure DevOps och minska användningen av personliga åtkomsttokenar.
  • Granska din aktuella autentiseringsmetod mot bästa praxis för säkerhet.

Azure DevOps Server

  • Använd .NET-klientbibliotek med Windows-autentisering när det är möjligt.
  • Använd personliga åtkomsttoken för Azure DevOps Server-scenarier när de är acceptabla.
  • Planera för framtida migrering av Azure DevOps Services för att dra nytta av modern autentisering.

Svar på vanliga frågor

Följande avsnitt innehåller svar på vanliga frågor.

Ska jag använda Microsoft Entra ID OAuth eller personliga åtkomsttoken?

Använd Microsoft Entra ID OAuth i följande scenarier:

  • Nya program och integreringar
  • Produktionsarbetsbelastningar som kräver robust säkerhet
  • Program som behöver integrering av företagsidentiteter
  • Långsiktiga projekt med efterlevnadskrav

Använd endast personliga åtkomsttoken i följande scenarier:

  • Personliga skript och ad hoc-uppgifter
  • Äldre program under migreringsplaneringen
  • Azure DevOps Server-scenarier där modern autentisering inte är tillgänglig

Ska jag använda tjänstens huvudnamn eller användardelegering för autentisering?

Använd tjänstens huvudnamn eller hanterade identiteter i följande scenarier:

  • Skapa program som fungerar oberoende (bakgrundstjänster, automatisering).
  • Skapa appar som inte kräver användarinteraktion.
  • Implementera tjänst-till-tjänst-kommunikation.
  • Skapa pipelines för kontinuerlig integrering och kontinuerlig leverans (CI/CD) eller automatiserade arbetsflöden.

Använd användardelegering (OAuth med användarmedgivande) i följande scenarier:

  • Skapa program som fungerar för mänskliga användare.
  • Skapa interaktiva appar där användare loggar in med sina egna autentiseringsuppgifter.
  • Implementera funktioner som kräver användarspecifika behörigheter.
  • Skapa appar som respekterar användarnas individuella åtkomsträttigheter.

Hur autentiserar jag med både Azure DevOps Services och Azure DevOps Server?

Det bästa sättet är att skapa separata autentiseringssökvägar:

  • Azure DevOps Services: Använd Microsoft Entra ID OAuth.
  • Azure DevOps Server: Använd .NET-klientbibliotek med Windows-autentisering eller personliga åtkomsttoken.

requestContext Använd metoden för att identifiera tjänsttypen och tillämpa lämplig autentiseringsmetod.

Varför kan inte mitt tjänstkonto komma åt Azure DevOps-API:er?

Här följer några vanliga problem som kan påverka åtkomsten till tjänstkontot:

  • Tjänstkontot är inte "materialiserat": Använd rätt inloggningsmetod. Tjänstkonton behöver interaktiva inloggningsbehörigheter eller korrekt Microsoft Entra-ID-registrering.
  • Otillräckliga behörigheter: Kontrollera att tjänstkontot har lämpliga Azure DevOps-behörigheter.
  • Autentiseringsmetod: Använd tjänstens huvudnamn eller hanterade identiteter i stället för att försöka autentisera som ett tjänstkonto.

Hur migrerar jag från personliga åtkomsttoken till modern autentisering?

Följ de här stegen:

  1. Identifiera aktuell användning av personlig åtkomsttoken i dina program.

  2. Välj en alternativ autentiseringsmetod:

    • Microsoft Entra ID OAuth för användardelegaterade scenarier
    • Tjänsthuvudnamn för tjänst-till-tjänst-scenarier
  3. Uppdatera autentiseringskoden med Azure DevOps-autentiseringsexempel för migrering.

  4. Testa ändringarna noggrant innan du tar bort personliga åtkomsttokenberoenden.

  5. Övervaka och verifiera den nya autentiseringsmetoden.

Implementeringsprocedurer

När du har valt autentiseringsmetod för ditt scenario slutför du implementeringen: