Dela via


Om autentisering, auktorisering och säkerhetsprinciper

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

Azure DevOps använder en kombination av säkerhetsbegrepp för att säkerställa att endast behöriga användare kan komma åt dess funktioner, funktioner och data. Åtkomst bestäms av två nyckelprocesser: autentisering, som verifierar en användares autentiseringsuppgifter och auktorisering, som beviljar behörigheter baserat på kontorättigheter. Tillsammans styr dessa processer vad varje användare kan göra i Azure DevOps.

Den här artikeln utökar Komma igång med behörigheter, åtkomst och säkerhetsgrupper och hjälper administratörer att förstå olika kontotyper, autentiserings- och auktoriseringsmetoder samt säkerhetsprinciper som är tillgängliga för att skydda Azure DevOps-miljöer.


Kontotyper

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

Autentisering

  • Användarautentiseringsuppgifter
  • Windows-autentisering
  • Tvåfaktorsautentisering (2FA)
  • SSH-nyckelautentisering
  • Microfost Entra-token
  • Personlig å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åda Azure DevOps stöder programutveckling från planering till distribution. Varje plattform använder Microsoft Azures plattform som en tjänstinfrastruktur och tjänster, 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 projekt är säkra, tillgängliga, säkra och privata finns i översikten över Azure DevOps-dataskydd.

Konton

Även om mänskliga användarkonton är det primära fokuset har Azure DevOps även stöd för olika typer av konton för olika åtgärder:

  • 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 som inte kommer från Microsoft. 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 som inte kommer från Microsoft.

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 som inte kommer från Microsoft. 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 som inte kommer från Microsoft.

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 en användares identitet baserat på de autentiseringsuppgifter som angavs under inloggningen till Azure DevOps. Azure DevOps integreras med flera identitetssystem för att hantera autentisering:

  • Microsoft Entra-ID: Rekommenderas för organisationer som hanterar en stor grupp användare. Ger robust, molnbaserad autentisering och användarhantering.
  • Microsoft-konto (MSA): Passar för mindre användarbaser som har åtkomst till Azure DevOps-organisationer. Stödjer autentisering via molnet.
  • Active Directory (AD): Rekommenderas för lokala distributioner med många användare med hjälp av din befintliga AD-infrastruktur.

Microsoft Entra-ID och Microsoft-konton har båda stöd för molnautentisering. Mer information finns i Om åtkomst till Azure DevOps med Microsoft Entra-ID.

För lokala miljöer använder du Active Directory för att effektivt hantera användaråtkomst. Läs mer i Konfigurera grupper för användning i lokala distributioner.

Autentisera programmatiskt

Få åtkomst till din Azure DevOps-organisation programmatiskt utan att ange användarnamn och lösenord upprepade gånger genom att välja någon av de tillgängliga autentiseringsmetoderna. Använd följande metoder för att automatisera arbetsflöden, integrera med REST-API:er eller skapa anpassade program:

  • Använd OAuth för att skapa program som utför åtgärder för användarnas räkning. Användarna måste godkänna appen. För nya appar använder du Microsoft Entra OAuth.
  • Använd tjänstens huvudnamn eller hanterade identiteter för att automatisera arbetsflöden eller skapa verktyg som regelbundet har åtkomst till organisationsresurser. Utfärda Microsoft Entra-token för själva programmet.
  • Använd Microsoft Entra-ID för säker, molnbaserad autentisering och användarhantering.
  • Använd personliga åtkomsttoken (PAT) för ad hoc-begäranden eller tidiga prototyper. Undvik PAT för långsiktig apputveckling, eftersom de är mer mottagliga för läckor och missbruk.

Tips/Råd

Lagra alltid autentiseringsuppgifter på ett säkert sätt och följ metodtipsen för att hantera autentiseringsmetoder.

Som standard tillåter din organisation åtkomst för alla autentiseringsmetoder. Organisationsadministratörer kan begränsa åtkomsten till dessa autentiseringsmetoder genom att inaktivera säkerhetsprinciper. Klientadministratörer kan ytterligare minska PAT-risken genom att begränsa hur de kan skapas.

Auktorisering

Auktorisering avgör om en autentiserad identitet har de behörigheter som krävs för att få åtkomst till en specifik tjänst, funktion, funktion, objekt eller metod i Azure DevOps. Auktoriseringskontroller utförs alltid efter lyckad autentisering – om autentiseringen misslyckas utvärderas aldrig auktoriseringen. Även efter autentiseringen kan användare eller grupper nekas åtkomst till vissa åtgärder om de saknar nödvändiga behörigheter.

Azure DevOps hanterar auktorisering via behörigheter som tilldelats direkt till användare eller ärvts via säkerhetsgrupper eller roller. Åtkomstnivåer och funktionsflaggor kan ytterligare styra åtkomsten till specifika funktioner. Mer information om dessa auktoriseringsmetoder finns i Komma igång med behörigheter, åtkomst och säkerhetsgrupper.

Säkerhetsnamnområden och behörigheter

Säkerhetsnamnområden definierar användaråtkomstnivåer för specifika åtgärder på Azure DevOps-resurser.

  • Varje resursfamilj, till exempel arbetsobjekt eller Git-lagringsplatser, har ett eget unikt namnområde.
  • Inom varje namnområde kan det finnas flera åtkomstkontrollistor (ACL:er).
    • Varje ACL innehåller en token, en ärvningsflagga och en eller flera åtkomstkontrollposter (ACE).
    • Varje ACE anger en identitetsbeskrivning, en bitmask för tillåtna behörigheter och en bitmask för nekade behörigheter.

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

Säkerhetsprinciper

För att skydda din organisation och kod kan administratörer på organisationsnivå (projektsamlingsadministratör) eller innehavarnivå (Azure DevOps-administratör) aktivera eller inaktivera olika säkerhetsprinciper, beroende på principomfånget. Viktiga principer att överväga är:

Om din organisation är ansluten till Microsoft Entra-ID har du åtkomst till följande andra säkerhetsfunktioner:

Granska och konfigurera dessa principer för att stärka organisationens säkerhetsstatus och säkerställa efterlevnad av dina krav på datasekretess och åtkomst.

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.

Om du vill begränsa åtkomsten för specifika användare, till exempel Intressenter, Microsoft Entra-gästanvändare eller medlemmar i en viss säkerhetsgrupp, aktiverar du funktionen Begränsa användarnas synlighet och samarbete till specifika projekts förhandsversionsfunktion för din organisation. När den här funktionen är aktiverad begränsas alla användare eller grupper som läggs till i gruppen Project-Scoped Användare på följande sätt:

  • Åtkomsten är begränsad till sidorna Översikt och Projekt i Organisationsinställningar.
  • Användare kan bara ansluta till och visa projekt som de uttryckligen läggs till i.
  • Användare kan bara välja användar- och gruppidentiteter som uttryckligen läggs till i samma projekt.

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

Varning

Tänk på följande begränsningar när du använder den här förhandsgranskningsfunktionen:

  • 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.
  • Användare i den begränsade gruppen kan bara välja användare som uttryckligen läggs till i Azure DevOps och inte användare som har åtkomst via Microsoft Entra-gruppmedlemskap.
  • 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.

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 andra funktioner utöver de funktioner som beskrivs i den här artikeln. Mer information finns i följande artiklar.

Nästa steg