Dela via


Om säkerhet, autentisering och auktorisering

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

Azure DevOps använder olika säkerhetskoncept för att säkerställa att endast behöriga användare kan komma åt funktioner, funktioner och data. Användare får åtkomst till Azure DevOps genom autentisering av sina säkerhetsautentiseringsuppgifter och auktorisering av sina kontorättigheter för att få åtkomst till specifika funktioner.

Den här artikeln bygger på informationen i Kom igång med behörigheter, åtkomst och säkerhetsgrupper. Administratörer kan dra nytta av att förstå kontotyper, autentiseringsmetoder, auktoriseringsmetoder och principer som används för att skydda Azure DevOps.


Kontotyper

  • Användare
  • Organisationsägare
  • Tjänstkonton
  • Tjänstens huvudnamn eller hanterade identiteter
  • Jobbagenter

Autentisering

  • Användarautentiseringsuppgifter
  • Windows-autentisering
  • Tvåfaktorsautentisering (2FA)
  • SSH-nyckelautentisering
  • Personliga åtkomsttoken
  • Oauth-konfiguration
  • Active Directory-autentiseringsbibliotek

Auktorisering

  • Medlemskap i säkerhetsgrupp
  • Rollbaserad åtkomstkontroll
  • Åtkomstnivåer
  • Funktionsflaggor
  • Säkerhetsnamnområden och behörigheter

Principer

  • URL för sekretesspolicy
  • Anslutnings- och säkerhetsprinciper för program
  • Användarprinciper
  • Git-lagringsplats och grenprinciper


Kontotyper

  • Användare
  • Tjänstkonton
  • Tjänstens huvudnamn eller hanterade identiteter
  • Jobbagenter

Autentisering

  • Användarautentiseringsuppgifter
  • Windows-autentisering
  • Tvåfaktorsautentisering (2FA)
  • SSH-nyckelautentisering
  • Personliga åtkomsttoken
  • Oauth-konfiguration
  • Active Directory-autentiseringsbibliotek

Auktorisering

  • Medlemskap i säkerhetsgrupp
  • Rollbaserade behörigheter
  • Åtkomstnivåer
  • Funktionsflaggor
  • Säkerhetsnamnområden och behörigheter

Principer

  • Git-lagringsplats och grenprinciper

Viktigt!

Azure DevOps stöder inte autentisering med alternativa autentiseringsuppgifter. Om du fortfarande använder alternativa autentiseringsuppgifter rekommenderar vi starkt att du byter till en säkrare autentiseringsmetod.

Både Azure DevOps Services (moln) och Azure DevOps Server (lokalt) stöder programutveckling från planering till distribution. De använder Microsoft Azures infrastruktur och tjänster för plattform som en tjänst, inklusive Azure SQL-databaser, för att tillhandahålla en tillförlitlig, globalt tillgänglig tjänst för dina projekt.

Mer information om hur Microsoft ser till att dina Azure DevOps Services-projekt är säkra, tillgängliga, säkra och privata finns i översikten över Azure DevOps Services-dataskydd.

Accounts

Även om mänskliga användarkonton är det primära fokuset stöder Azure DevOps även olika andra kontotyper för olika åtgärder. Dessa inkluderar följande kontotyper:

  • Organisationsägare: Skaparen av en Azure DevOps Services-organisation eller tilldelad ägare. Information om hur du hittar ägaren för din organisation finns i Leta upp organisationens ägare.
  • Tjänstkonton: Intern Azure DevOps-organisation som används för att stödja en specifik tjänst, till exempel Agent Pool Service, PipelinesSDK. Beskrivningar av tjänstkonton finns i Säkerhetsgrupper, tjänstkonton och behörigheter.
  • Tjänstens huvudnamn eller hanterade identiteter: Microsoft Entra-program eller hanterade identiteter som lagts till i din organisation för att utföra åtgärder för ett program från tredje part. Vissa tjänsthuvudnamn refererar till den interna Azure DevOps-organisationen för att stödja interna åtgärder.
  • Jobbagenter: Interna konton som används för att köra specifika jobb enligt ett vanligt schema.
  • Konton från tredje part: Konton som kräver åtkomst för att stödja webbkrokar, tjänstanslutningar eller andra program från tredje part.

I våra säkerhetsrelaterade artiklar refererar "användare" till alla identiteter som läggs till i användarhubben, vilket kan omfatta mänskliga användare och tjänstens huvudnamn.

  • Tjänstkonton: Intern Azure DevOps-organisation som används för att stödja en specifik tjänst, till exempel Agent Pool Service, PipelinesSDK. Beskrivningar av tjänstkonton finns i Säkerhetsgrupper, tjänstkonton och behörigheter.
  • Tjänstens huvudnamn eller hanterade identiteter: Microsoft Entra-program eller hanterade identiteter som lagts till i din organisation för att utföra åtgärder för ett program från tredje part. Vissa tjänsthuvudnamn refererar till den interna Azure DevOps-organisationen för att stödja interna åtgärder.
  • Jobbagenter: Interna konton som används för att köra specifika jobb enligt ett vanligt schema.
  • Konton från tredje part: Konton som kräver åtkomst för att stödja webbkrokar, tjänstanslutningar eller andra program från tredje part.

Det mest effektiva sättet att hantera konton är genom att lägga till dem i säkerhetsgrupper.

Kommentar

Organisationens ägare och medlemmar i gruppen Projektsamlingsadministratörer beviljas fullständig åtkomst till nästan alla funktioner och funktioner.

Autentisering

Autentisering verifierar ett kontos identitet baserat på de autentiseringsuppgifter som angavs under inloggningen till Azure DevOps. Dessa system integreras med och förlitar sig på säkerhetsfunktionerna i följande andra system:

  • Microsoft Entra ID
  • Microsoft-konto (MSA)
  • Active Directory (AD)

Microsoft Entra ID och MSA stöder molnautentisering. Vi rekommenderar att du använder Microsoft Entra-ID för att hantera en stor grupp användare. För en liten användarbas som har åtkomst till din Azure DevOps-organisation räcker det med Microsoft-konton. Mer information finns i Om åtkomst till Azure DevOps med Microsoft Entra-ID.

För lokala distributioner rekommenderas AD för att hantera en stor grupp användare. Mer information finns i Konfigurera grupper för användning i lokala distributioner.

Autentiseringsmetoder och integrering med andra tjänster och appar

Andra program och tjänster kan integreras med Azure DevOps. Appar kan använda följande autentiseringsmetoder för att komma åt ditt konto utan att upprepade gånger be om autentiseringsuppgifter:

  • Personliga åtkomsttoken (PAT) för att generera token åt dig för:

    • Åtkomst till specifika resurser eller aktiviteter, till exempel byggen eller arbetsobjekt
    • Klienter såsom Xcode och NuGet, som kräver användarnamn och lösenord eftersom grundläggande autentiseringsuppgifter och inte stöder Microsoft-konto- och Microsoft Entra-funktioner, exempelvis multifaktorautentisering
    • Åtkomst till Azure DevOps REST-API:er
  • Azure DevOps OAuth för att generera token för användarnas räkning för åtkomst till REST-API:er. API:erna för konton och profiler stöder endast OAuth.

  • SSH-autentisering för att generera krypteringsnycklar åt dig själv när du använder Linux, macOS eller Windows som kör Git för Windows och inte kan använda Git-autentiseringshanterare eller PAT för HTTPS-autentisering.

  • Tjänstens huvudnamn eller hanterade identiteter för att generera Microsoft Entra-token för ett program eller en tjänst, vanligtvis automatisera arbetsflöden som behöver komma åt Azure DevOps-resurser. De flesta åtgärder som traditionellt utförs av ett tjänstkonto och en PAT kan utföras med hjälp av tjänstens huvudnamn eller hanterade identitet.

Som standard tillåter ditt konto eller din samling åtkomst för alla autentiseringsmetoder. Du kan begränsa åtkomsten genom att specifikt begränsa varje metod. När du nekar åtkomst till en autentiseringsmetod kan ingen app använda den metoden för att komma åt ditt konto. Alla appar som tidigare hade åtkomst får ett autentiseringsfel och kan inte komma åt ditt konto.

Mer information finns i följande artiklar:

Auktorisering

Auktorisering verifierar att identiteten som försöker ansluta har de behörigheter som krävs för att få åtkomst till en tjänst, funktion, ett objekt eller en metod. Auktorisering sker alltid efter lyckad autentisering. Om en anslutning inte autentiseras misslyckas den innan några auktoriseringskontroller utförs. Även om autentiseringen lyckas kan en specifik åtgärd fortfarande vara otillåten om användaren eller gruppen saknar auktorisering.

Auktorisering beror på de behörigheter som tilldelats användaren, antingen direkt eller via medlemskap i en säkerhetsgrupp eller säkerhetsroll. Åtkomstnivåer och funktionsflaggor kan också hantera åtkomst till specifika funktioner. Mer information om dessa auktoriseringsmetoder finns i Kom igång med behörigheter, åtkomst och säkerhetsgrupper.

Säkerhetsnamnområden och behörigheter

Säkerhetsnamnområden avgör användaråtkomstnivåer för specifika åtgärder på resurser.

  • Varje resursfamilj, till exempel arbetsobjekt eller Git-lagringsplatser, har ett unikt namnområde.
  • Varje namnområde innehåller noll eller fler åtkomstkontrollistor (ACL: er).
    • Varje ACL innehåller en token, en ärvd flagga och åtkomstkontrollposter (ACL).
    • Varje ACE har en identitetsbeskrivning, en tillåten behörighetsbitmask och en bitmask för nekad behörighet.

Mer information finns i Säkerhetsnamnområden och behörighetsreferens.

Säkerhetsprinciper

För att skydda din organisation och kod kan du ange olika principer. Mer specifikt kan du aktivera eller inaktivera följande principer:

Allmänt

Anslutnings- och säkerhetsprinciper för program

Använd Microsoft Entra-klientprincipen för att begränsa skapandet av nya organisationer till önskade användare. Den här principen är inaktiverad som standard och gäller endast när organisationen är ansluten till Microsoft Entra-ID. Mer information finns i Begränsa skapandet av organisationen.

Följande principer avgör vilken åtkomst som beviljas användare och program i dina organisationer:

Användarprinciper

  • Extern gäståtkomst (Gäller endast när organisationen är ansluten till Microsoft Entra-ID.): När det är aktiverat kan inbjudningar skickas till e-postkonton för användare som inte är medlemmar i klientorganisationens Microsoft Entra-ID via sidan Användare . Mer information finns i Lägga till externa användare i din organisation.
  • Tillåt team- och projektadministratörer att bjuda in nya användare: Gäller endast när organisationen är ansluten till Microsoft Entra-ID. När det är aktiverat kan team- och projektadministratörer lägga till användare via sidan Användare . Mer information finns i Begränsa nya användarinbjudningar från projekt- och teamadministratörer.
  • Begär åtkomst: Endast giltig när organisationen är ansluten till Microsoft Entra-ID. När det är aktiverat kan användarna begära åtkomst till en resurs. En begäran resulterar i ett e-postmeddelande till administratörerna som ber om granskning och åtkomst efter behov. Mer information finns i Lägga till externa användare i din organisation.
  • Bjud in GitHub-användare: Endast giltigt när organisationen inte är ansluten till Microsoft Entra-ID. När det är aktiverat kan administratörer lägga till användare baserat på sina GitHub-användarkonton från sidan Användare . Mer information finns i Ansluta till GitHub/vanliga frågor och svar.

Gruppen Projektomfattande användare

Som standard kan användare som läggs till i en organisation visa all information och inställningar för organisationen och projektet, inklusive användarlistor, projektlistor, faktureringsinformation, användningsdata med mera.

Viktigt!

  • Funktionerna för begränsad synlighet som beskrivs i det här avsnittet gäller endast interaktioner via webbportalen. Med REST-API:er eller azure devops CLI-kommandon kan projektmedlemmar komma åt begränsade data.
  • Gästanvändare som är medlemmar i den begränsade gruppen med standardåtkomst i Microsoft Entra-ID kan inte söka efter användare med personväljaren. När förhandsgranskningsfunktionen är inaktiverad för organisationen, eller när gästanvändare inte är medlemmar i den begränsade gruppen, kan gästanvändare som förväntat söka i alla Microsoft Entra-användare.

Om du vill begränsa vissa användare, till exempel Intressenter, Microsoft Entra-gästanvändare eller medlemmar i en specifik säkerhetsgrupp, kan du aktivera funktionen Begränsa användarens synlighet och samarbete till specifika projekts förhandsversion för organisationen. När det är aktiverat begränsas alla användare eller grupper som läggs till i gruppen Project-Scoped Users på följande sätt:

  • Kan bara komma åt sidorna Översikt och Projekt i Organisationsinställningar.
  • Kan bara ansluta och visa de projekt som de har lagts till i explicit.
  • Kan bara välja användar- och gruppidentiteter som uttryckligen har lagts till i projektet som de är anslutna till.

Mer information finns i Hantera din organisation, Begränsa användarnas synlighet för projekt och fler och Hantera förhandsgranskningsfunktioner.

Varning

Om du aktiverar funktionen Begränsa användarsynlighet och samarbete till specifika projekt förhindrar du att användare med projektomfattning söker efter användare som har lagts till i organisationen via Microsoft Entra-gruppmedlemskap i stället för via en explicit användarinbjudan. Detta är ett oväntat beteende och en lösning pågår. Lös problemet genom att inaktivera funktionen Begränsa användarens synlighet och samarbete till specifika projekts förhandsversion för organisationen.

Git-lagringsplats och grenprinciper

För att skydda koden kan du ange olika Git-lagringsplatser och grenprinciper. Mer information finns i följande artiklar.

Säkerhet för Azure Repos och Azure Pipelines

Eftersom lagringsplatser och bygg- och versionspipelines utgör unika säkerhetsutmaningar används ytterligare funktioner utöver de funktioner som beskrivs i den här artikeln. Mer information finns i följande artiklar.

Nästa steg