Informace o zabezpečení, ověřování a autorizaci

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

Azure DevOps využívá mnoho konceptů zabezpečení, aby zajistil přístup jenom uživatelům, kteří by měli mít přístup k funkcím, funkcím a datům. Účty získají přístup k Azure DevOps prostřednictvím ověřování svých přihlašovacích údajů zabezpečení a autorizace oprávnění k účtu pro přístup k funkci nebo funkci.

Tento článek vychází z informací uvedených v části Začínáme s oprávněními, přístupem a skupinami zabezpečení. Správa istrátory využívají výhod porozumění typům účtů, metodám ověřování, metodám autorizace a zásadám používaným k zabezpečení Azure DevOps.


Typy účtů

  • Uživatelé
  • Vlastník organizace
  • Service Accounts
  • Instanční objekty nebo spravované identity
  • Agenti úloh

Authentication

  • Přihlašovací údaje uživatele
  • Ověřování systému Windows
  • Dvojúrovňové ověřování (2FA)
  • Ověřování pomocí klíče SSH
  • Osobní přístupové tokeny (PAT)
  • Konfigurace OAuth
  • Knihovna ověřování služby Active Directory

Autorizace

  • Členství ve skupině zabezpečení
  • Řízení přístupu na základě role
  • Úrovně přístupu
  • Hlavní příznaky
  • Obory názvů zabezpečení a oprávnění

Zásady

  • Adresa URL zásad ochrany osobních údajů
  • Připojení aplikací a zásady zabezpečení
  • Zásady uživatelů
  • Zásady úložiště Git a větví


Typy účtů

  • Uživatelé
  • Service Accounts
  • Instanční objekty nebo spravované identity
  • Agenti úloh

Authentication

  • Přihlašovací údaje uživatele
  • Ověřování systému Windows
  • Dvojúrovňové ověřování (2FA)
  • Ověřování pomocí klíče SSH
  • Osobní přístupové tokeny (PAT)
  • Konfigurace OAuth
  • Knihovna ověřování služby Active Directory

Autorizace

  • Členství ve skupině zabezpečení
  • Oprávnění založená na rolích
  • Úrovně přístupu
  • Hlavní příznaky
  • Obory názvů zabezpečení a oprávnění

Zásady

  • Zásady úložiště Git a větví

Důležité

Azure DevOps už od 2. března 2020 nepodporuje ověřování alternativních přihlašovacích údajů. Pokud stále používáte alternativní přihlašovací údaje, důrazně doporučujeme přejít na bezpečnější metodu ověřování (například osobní přístupové tokeny). Další informace.

Naše cloudová služba, Azure DevOps Services i místní server, Azure DevOps Server, podporují projekty vývoje softwaru od plánování až po nasazení. Azure DevOps používá platformu Microsoft Azure jako infrastrukturu služeb a řadu služeb Azure, včetně databází Azure SQL, k zajištění spolehlivé a globálně dostupné služby pro vaše vývojové projekty.

Další informace o krocích, které Microsoft podnikne, aby vaše projekty byly v Azure DevOps Services v bezpečí, dostupné, zabezpečené a soukromé, najdete v tomto dokumentu white paper s přehledem služby Azure DevOps Services Data Protection.

Účty

Hlavní typy účtů, které vás zajímají, jsou lidské uživatelské účty, které přidáte do organizace nebo projektu, Azure DevOps sice podporuje jiné typy účtů, aby bylo možné provádět různé operace. Patří sem následující typy účtů.

  • Vlastník organizace: Tvůrce organizace Azure DevOps Services nebo přiřazeného vlastníka. Informace o tom, kdo je vlastníkem organizace pro vaši organizaci, najdete v tématu Vyhledání vlastníka organizace.
  • Účty služeb: Interní účty Azure DevOps používané k podpoře konkrétní služby, jako je služba fondu agentů, PipelinesSDK. Popis účtů služeb najdete v tématu Skupiny zabezpečení, účty služeb a oprávnění.
  • Instanční objekty nebo spravované identity: Aplikace Microsoft Entra nebo spravované identity, které byly přidány do vaší organizace za účelem provádění akcí jménem aplikace třetí strany. Některé instanční objekty odkazují na interní účty Azure DevOps, které podporují interní operace.
  • Agenti úloh: Interní účty používané ke spouštění konkrétních úloh v pravidelném plánu.
  • Účty třetích stran: Účty, které vyžadují přístup k podpoře webových hooků, připojení služeb nebo jiných aplikací třetích stran.

V těchto dokumentech můžou uživatelé odkazovat na všechny identity, které byly přidány do centra Users Hub, což může zahrnovat lidské uživatele a instanční objekty.

  • Účty služeb: Interní účty Azure DevOps používané k podpoře konkrétní služby, jako je služba fondu agentů, PipelinesSDK. Popis účtů služeb najdete v tématu Skupiny zabezpečení, účty služeb a oprávnění.
  • Instanční objekty nebo spravované identity: Aplikace Microsoft Entra nebo spravované identity, které byly přidány do vaší organizace za účelem provádění akcí jménem aplikace třetí strany. Některé instanční objekty odkazují na interní účty Azure DevOps, které podporují interní operace.
  • Agenti úloh: Interní účty používané ke spouštění konkrétních úloh v pravidelném plánu.
  • Účty třetích stran: Účty, které vyžadují přístup k podpoře webových hooků, připojení služeb nebo jiných aplikací třetích stran.

Nejúčinnější způsob správy účtů je jejich přidáním do skupin zabezpečení.

Poznámka:

Vlastník organizace a členové skupiny Kolekce projektů Správa istrators mají úplný přístup k většině funkcí a funkcí.

Ověřování

Ověřování ověřuje identitu účtu na základě přihlašovacích údajů zadaných při přihlašování k Azure DevOps. Tyto systémy se integrují a spoléhají na funkce zabezpečení poskytované těmito dalšími systémy:

  • Microsoft Entra ID
  • Účet Microsoft (MSA)
  • Active Directory (AD)

Microsoft Entra ID a MSA podporují cloudové ověřování. Microsoft Entra ID doporučujeme, když potřebujete spravovat velkou skupinu uživatelů. V opačném případě, pokud máte malou uživatelskou základnu pro přístup k organizaci v Azure DevOps, můžete použít účty Microsoft. Další informace najdete v tématu O přístupu k Azure DevOps pomocí Microsoft Entra ID.

Pro místní nasazení se služba AD doporučuje při správě velké skupiny uživatelů. Další informace najdete v tématu Nastavení skupin pro použití v místních nasazeních.

Metody ověřování, integrace s jinými službami a aplikacemi

Ostatní aplikace a služby se můžou integrovat se službami a prostředky v Azure DevOps. Pokud chcete získat přístup k účtu, aniž byste museli několikrát žádat o přihlašovací údaje uživatele, můžou aplikace používat následující metody ověřování.

  • Tokeny PAT pro generování tokenů vaším jménem pro:

    • Přístup ke konkrétním prostředkům nebo aktivitám, jako jsou buildy nebo pracovní položky
    • Klienti, jako je Xcode a NuGet, kteří vyžadují uživatelská jména a hesla jako základní přihlašovací údaje a nepodporují účet Microsoft a funkce Microsoft Entra, jako je například vícefaktorové ověřování
    • Přístup k rozhraním REST API Azure DevOps
  • Azure DevOps OAuth pro generování tokenů jménem uživatelů pro přístup k rozhraním REST API. Rozhraní API pro účty a profily podporují pouze OAuth.

  • Ověřování SSH pro generování vlastních šifrovacích klíčů, když používáte systémy Linux, macOS nebo Windows s Gitem pro Windows a nemůžete k ověřování HTTPS používat správce přihlašovacích údajů Gitu ani tokeny PAT.

  • Instanční objekty nebo spravované identity pro generování tokenů Microsoft Entra jménem aplikace nebo služby, které obvykle automatizují určitý pracovní postup, který potřebuje přístup k prostředkům Azure DevOps. Většinu akcí, které tradičně provádí účet služby a token PAT, je možné provádět pomocí instančního objektu nebo spravované identity.

Ve výchozím nastavení váš účet nebo kolekce umožňuje přístup ke všem metodám ověřování. Přístup můžete omezit, ale pro každou metodu ho musíte omezit konkrétně. Když odepřete přístup k metodě ověřování, nebude tuto metodu pro přístup k vašemu účtu moct používat žádná aplikace. U jakékoli aplikace, která měla dříve přístup, dojde k chybě ověřování a nedostane se k vašemu účtu.

Další informace o tom, jak ukládáme vaše přihlašovací údaje, najdete v tématu Úložiště přihlašovacích údajů pro Azure DevOps.

Další informace o tom, jak zvolit správný mechanismus ověřování, najdete v tématu Pokyny k ověřování.

Autorizace

Autorizace ověřuje, že identita, která se pokouší o připojení, má potřebná oprávnění pro přístup ke službě, funkci, objektu nebo metodě. Autorizace se vždy provádí po úspěšném ověření. Pokud připojení není ověřené, selže před provedením jakékoli kontroly autorizace. Pokud ověření připojení proběhne úspěšně, může být určitá akce stále zakázaná, protože uživatel nebo skupina nemá autorizaci k provedení této akce.

Autorizace závisí na oprávněních přiřazených k účtu. Oprávnění se udělují buď přímo účtu, nebo prostřednictvím členství ve skupině zabezpečení nebo roli zabezpečení. Úrovně přístupu a příznaky funkcí můžou také udělit nebo omezit přístup k určité funkci. Další informace o těchto metodách autorizace najdete v tématu Začínáme s oprávněními, přístupem a skupinami zabezpečení.

Obory názvů a oprávnění zabezpečení

Obory názvů zabezpečení ukládají data, která určují úroveň přístupu, kterou musí účty Azure DevOps provádět s konkrétním prostředkem konkrétní akci. Každá řada prostředků, jako jsou pracovní položky nebo úložiště Git, je zabezpečená prostřednictvím jedinečného oboru názvů. Každý obor názvů zabezpečení obsahuje nula nebo více seznamů řízení přístupu (ACL). Každý seznam ACL obsahuje token, příznak dědění a sadu nulových nebo více položek řízení přístupu (ACL). Každá ACE obsahuje popisovač identity, povolenou masku oprávnění a bitovou masku odepřených oprávnění.

Další informace naleznete v tématu Obory názvů zabezpečení a odkazy na oprávnění.

Zásady zabezpečení

Pokud chcete zabezpečit organizaci a kód, můžete nastavit mnoho zásad. Konkrétně můžete povolit nebo zakázat následující zásady:

OBECNÉ

Připojení aplikací a zásady zabezpečení

Pomocí zásad tenanta Microsoft Entra omezte vytváření nových organizací jenom na požadované uživatele. Tato zásada je ve výchozím nastavení vypnutá a platná pouze v případě, že je organizace připojená k ID Microsoft Entra. Další podrobnosti najdete v omezení vytváření organizace.

Následující zásady určují přístup, který chcete uživatelům a aplikacím poskytnout vašim organizacím:

Zásady uživatelů

  • Externí přístup hostů (platný jenom v případě, že je organizace připojená k Microsoft Entra ID.): Pokud je tato možnost povolená, můžou být pozvánky odeslány e-mailovým účtům uživatelů, kteří nejsou členy tenanta Microsoft Entra ID prostřednictvím stránky Uživatelé . Další informace najdete v tématu Přidání externích uživatelů do vaší organizace.
  • Povolit správcům týmů a projektů pozvat nové uživatele: Platí jenom v případech, kdy je organizace připojená k Microsoft Entra ID. Pokud je tato možnost povolená, můžou správci týmu a projektů přidávat uživatele prostřednictvím stránky Uživatelé . Další informace najdete v tématu Omezení nových pozvánek uživatelů z projectu a týmových Správa istrátorů.
  • Požádat o přístup: Platné pouze v případech, kdy je organizace připojená k MICROSOFT Entra ID. Pokud je tato možnost povolená, můžou si uživatelé vyžádat přístup k prostředku. Žádost vede k e-mailovému oznámení správcům, kteří podle potřeby požadují kontrolu a přístup. Další informace najdete v tématu Přidání externích uživatelů do vaší organizace.
  • Pozvat uživatele GitHubu: Platí jenom v případech, kdy organizace není připojená k Microsoft Entra ID. Pokud je tato možnost povolená, můžou správci přidávat uživatele na základě svých uživatelských účtů GitHubu ze stránky Uživatelé . Další informace najdete v tématu Nejčastější dotazy k ověřování a pozvání uživatelů GitHubu.

Skupina Uživatelé s oborem projektu

Ve výchozím nastavení můžou uživatelé přidaní do organizace zobrazit všechny informace a nastavení organizace a projektu. To zahrnuje zobrazení seznamu uživatelů, seznamu projektů, podrobností o fakturaci, dat o využití a dalších informací, ke kterým se přistupuje prostřednictvím Nastavení organizace.

Důležité

  • Omezené funkce viditelnosti popsané v této části se vztahují pouze na interakce prostřednictvím webového portálu. Pomocí rozhraní REST API nebo azure devops příkazů rozhraní příkazového řádku můžou členové projektu přistupovat k omezeným datům.
  • Uživatelé typu host, kteří jsou členy omezené skupiny s výchozím přístupem v Microsoft Entra ID, nemůžou vyhledávat uživatele s výběrem osob. Když je funkce Preview pro organizaci vypnutá nebo když uživatelé typu host nejsou členy omezené skupiny, můžou uživatelé typu host prohledávat všechny uživatele Microsoft Entra podle očekávání.

Pokud chcete omezit vybrané uživatele, jako jsou účastníci, uživatelé typu host Microsoft Entra nebo členové konkrétní skupiny zabezpečení, můžete povolit funkci Omezit viditelnost uživatelů a spolupráci na konkrétní projekty ve verzi Preview pro organizaci. Po povolení jsou všichni uživatelé nebo skupina přidaní do skupiny Uživatelé s oborem projektu omezeni následujícími způsoby:

  • Má přístup pouze na stránky Přehled a Projekty Nastavení organizace.
  • Může se připojit a zobrazit jenom ty projekty, ke kterým byly přidány explicitně (viz Přidání uživatelů do projektu nebo týmu.
  • Může vybrat pouze identity uživatelů a skupin, které byly přidány explicitně do projektu, ke kterému jsou připojeny.

Další informace najdete v tématu Správa organizace, omezení viditelnosti uživatelů pro projekty a další a správa funkcí ve verzi Preview.

Upozorňující

Pokud je pro organizaci povolená funkce Omezit viditelnost uživatelů a spolupráci na konkrétní projekty ve verzi Preview, nemůžou uživatelé v oboru projektu vyhledávat uživatele, kteří byli do organizace přidáni prostřednictvím členství ve skupině Microsoft Entra, a ne prostřednictvím explicitní pozvánky uživatele. Jedná se o neočekávané chování a pracuje se na řešení. Pokud chcete tento problém vyřešit sami, zakažte funkci Omezit viditelnost a spolupráci uživatelů na konkrétní projekty ve verzi Preview pro organizaci.

Zásady úložiště Git a větví

Pro zabezpečení kódu můžete nastavit mnoho zásad úložiště Git a větví. Další informace naleznete v následujících článcích.

Zabezpečení Azure Repos a Azure Pipelines

Vzhledem k tomu, že úložiště a kanály buildů a verzí představují jedinečné problémy se zabezpečením, využívají se další funkce nad rámec funkcí probíraných v tomto článku. Další informace naleznete v následujících článcích.

Další kroky