Sdílet prostřednictvím


Zabezpečení Azure DevOps

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

Při zpracování informací a dat, zejména v cloudovém řešení, jako je Azure DevOps Services, by mělo být zabezpečení vaší nejvyšší prioritou. I když Microsoft zajišťuje zabezpečení základní cloudové infrastruktury, zodpovídáte za konfiguraci zabezpečení v rámci Azure DevOps. Tento článek obsahuje přehled nezbytných konfigurací souvisejících se zabezpečením pro ochranu prostředí Azure DevOps před hrozbami a ohroženími zabezpečení.

Návod

Můžete využít AI k pomoci s úkoly Azure DevOps. Informace o tom, jak začít, najdete v tématu Pomoc pro AI s Azure DevOps MCP Serverem.

Důležité

Zvažte použití bezpečnějších tokenů Microsoft Entra místo vysoce rizikových osobních přístupových tokenů. Další informace najdete v tématu Snížení využití PAT. Projděte si doprovodné materiály k ověřování a zvolte správný mechanismus ověřování pro vaše potřeby.

Ochrana sítě a dat

Zabezpečení sítě je zásadní při práci s Azure DevOps. Chraňte svá data a prostředky před neoprávněným přístupem a potenciálními hrozbami. Implementujte opatření zabezpečení sítě a ochrany dat, která pomáhají zajistit, aby k vašemu prostředí Azure DevOps měli přístup jenom důvěryhodné zdroje. Pokud chcete zabezpečit síť při práci s Azure DevOps, proveďte následující akce:

Další informace najdete v tématu Osvědčené postupy správy aplikací.

Implementace nulové důvěryhodnosti

Přijměte zásady nulové důvěryhodnosti napříč procesy DevOps, abyste měli jistotu, že se všechny žádosti o přístup důkladně ověřují bez ohledu na jeho původ. Zero Trust funguje na principu "nikdy nedůvěřovat, vždy ověřit", což znamená, že žádná entita, ať už uvnitř nebo mimo síť, není ve výchozím nastavení důvěryhodná. Implementací nulové důvěryhodnosti můžete výrazně snížit riziko porušení zabezpečení a zajistit, aby k vašim prostředkům měli přístup jenom autorizovaní uživatelé a zařízení.

Architektura Zero Trust pomáhá chránit před laterálním pohybem v síti, zajišťuje, že i když dojde ke kompromitování části sítě, hrozba je lokalizovaná a nemůže se šířit. Další informace najdete v průvodci posouzením nulové důvěryhodnosti .

Dodržování oborových standardů

Ujistěte se, že vaše prostředí Azure DevOps splňuje oborové standardy a předpisy, které chrání vaše prostředí a udržují důvěru s vašimi uživateli.

  • Zajištění dodržování oborových standardů: Azure DevOps splňuje různé oborové standardy a předpisy, jako jsou ISO/IEC 27001, SOC 1/2/3 a další. Ujistěte se, že vaše prostředí dodržuje tyto standardy.
  • Vynucení zásad dodržování předpisů: Implementujte zásady poboček a zásady dodržování předpisů pro vaše pipeline.
  • Zavedení do řízení komponent pro CI/CD, které nabízí následující výhody:
    • Detekce ohrožení zabezpečení: Upozorní vás na známá ohrožení zabezpečení v opensourcových komponentách.
    • Dodržování předpisů licencí: Zajišťuje, aby komponenty splňovaly zásady licencování vaší organizace.
    • Vynucení zásad: Zajišťuje, že se použijí pouze schválené verze.
    • Viditelnost se sledováním: Poskytuje přehled o komponentách napříč úložišti pro snadnější správu.

Řízení a omezení přístupu

Zkontrolujte všechny zásady zabezpečení, které mají správci k dispozici, a omezte a kontrolujte, kdo má přístup k organizaci. Udržujte kontrolu nad organizací tím, že zabráníte zbytečnému vytvoření projektu.

  • Zakažte možnost Povolit veřejné projekty: Zakažte možnost vytváření veřejných projektů. Podle potřeby přepněte viditelnost projektu z veřejného na privátní. Uživatelé, kteří se nikdy nepřihlásili, mají přístup jen pro čtení k veřejným projektům, zatímco přihlášeným uživatelům je možné udělit přístup k soukromým projektům a provádět povolené změny.
  • Omezte nepotřebné mechanismy ověřování a omezte, kdo má přístup k povolenému ověřování.
  • Omezte přístup pomocí zásad podmíněného přístupu: Chraňte svou organizaci definováním zásad podmíněného přístupu (CAPs) na webu Microsoft Entra, které reagují na události přihlášení a požadují další akce před udělením přístupu uživatelem.

Správa externích hostů

Externí přístup hostů může v případě, že není spravován správně, představovat potenciální rizika zabezpečení. Minimalizujte tato rizika a zajistěte, aby externí hosté měli odpovídající úroveň přístupu bez ohrožení zabezpečení vašeho prostředí.

  • Blokovat externí přístup hostů: Zakažte zásadu Povolit odesílání pozvánek do jakékoli domény, abyste zabránili externímu přístupu hostů, pokud pro ni není potřeba nic dělat.
  • Použití jedinečných e-mailů nebo hlavních názvů uživatelů (UPN): K odstranění nejednoznačnosti mezi osobními a pracovními účty používejte různé e-mailové adresy nebo hlavní názvy uživatelů (UPN).
  • Seskupte externí uživatele typu host: Všechny externí uživatele typu host umístěte do jedné skupiny Microsoft Entra a odpovídajícím způsobem spravujte oprávnění pro tuto skupinu. Odeberte přímá přiřazení, abyste zajistili, že pravidla skupiny budou platit pro tyto uživatele.
  • Pravidelně vyhodnotujte pravidla: Pravidla pravidelně kontrolujte na kartě Pravidla skupiny na stránce Uživatelé. Zvažte všechny změny členství ve skupinách v ID Microsoft Entra, které by mohly ovlivnit vaši organizaci. Aktualizace dynamického členství ve skupinách může trvat až 24 hodin a pravidla se automaticky znovu zhodnotí každých 24 hodin a pokaždé, když se změní pravidlo skupiny.

Další informace naleznete v tématu B2B hosty v Microsoft Entra ID.

Odebrání nepotřebných uživatelů

Odebrání neaktivních nebo neoprávněných uživatelů z vaší organizace pomáhá udržovat zabezpečené prostředí a snižuje riziko potenciálních porušení zabezpečení.

  • Přímo odeberte neaktivní uživatele účtu Microsoft (MSA): Přímo odeberte neaktivní uživatele z vaší organizace, pokud používají účty MSA. Nemůžete vytvářet dotazy na pracovní položky přiřazené k odebraným účtům MSA.
  • Zakázání nebo odstranění uživatelských účtů Microsoft Entra: Pokud jste připojeni k ID Microsoft Entra, zakažte nebo odstraňte uživatelský účet Microsoft Entra a přitom ponechte uživatelský účet Azure DevOps aktivní. Pomocí ID uživatele Azure DevOps můžete pokračovat v dotazování historie pracovních položek.
  • Zrušit osobní přístupové tokeny uživatelů pro správce: Zajistěte zabezpečenou správu těchto důležitých ověřovacích tokenů pravidelným kontrolováním a rušením všech stávajících osobních přístupových tokenů uživatelů.
  • Odvolání zvláštních oprávnění udělených jednotlivým uživatelům: Auditujte a odvolejte všechna zvláštní oprávnění udělená jednotlivým uživatelům, abyste zajistili soulad se zásadou nejnižších oprávnění.
  • Změna přiřazení práce odebraných uživatelů: Před odebráním uživatelů znovu přiřaďte pracovní položky aktuálním členům týmu, aby se zatížení efektivně distribuovaly.

Oprávnění oboru

Zadejte minimální potřebná oprávnění a úrovně přístupu , abyste zajistili, že k citlivým informacím mají přístup jenom autorizovaní jednotlivci a služby a provádějí kritické akce. Tento postup pomáhá minimalizovat riziko neoprávněného přístupu a potenciálního porušení zabezpečení dat.

Pravidelně kontrolujte a aktualizujte tato nastavení tak, aby se přizpůsobila změnám ve vaší organizaci, jako jsou změny rolí, nové zaměstnance nebo odchody. Implementace pravidelného auditu úrovní oprávnění a přístupu vám může pomoct identifikovat a opravit případné nesrovnalosti a zajistit, aby stav zabezpečení zůstal robustní a sladěný s osvědčenými postupy.

Další informace o oprávněních:

Pokud chcete zajistit zabezpečenou a efektivní správu oprávnění, správně vymezujte oprávnění v rámci vašeho prostředí Azure DevOps. Rozsah oprávnění zahrnuje definování a přiřazení odpovídající úrovně přístupu uživatelům a skupinám na základě jejich rolí a zodpovědností. Tento postup pomáhá minimalizovat riziko neoprávněného přístupu a potenciálních porušení zabezpečení dat tím, že zajistí, aby k citlivým informacím a kritickým akcím měli přístup jenom autorizovaní jednotlivci.

Pokud chcete oprávnění efektivně vymezit, proveďte následující akce:

  • Zakázat dědičnost: Vyhněte se dědičnosti oprávnění a zabraňte neúmyslnému přístupu. Dědičnost může neúmyslně udělit oprávnění uživatelům, kteří je nemají, a to kvůli výchozí povaze povolení. Pečlivě spravujte a explicitně nastavte oprávnění, abyste měli jistotu, že mají přístup jenom zamýšlení uživatelé.
  • Segmentová prostředí: Pro různá prostředí, jako je vývoj, testování a produkce, použijte samostatné účty Azure, abyste zvýšili zabezpečení a zabránili konfliktům. Tento přístup minimalizuje riziko konfliktů prostředků a kontaminace dat mezi prostředími a umožňuje lepší správu a izolaci prostředků. Další informace najdete v cílové zóně Azure.
  • Řízení přístupu a zajištění dodržování předpisů: Azure Policy použijte k omezení přístupu k nepoužívaným oblastem a službám Azure a zajištění dodržování standardů organizace. Tato akce pomáhá vynucovat osvědčené postupy a udržovat zabezpečené prostředí tím, že brání neoprávněnému přístupu a použití.
  • Implementace řízení na základě role v Azure (ABAC): K omezení neoprávněného přístupu použijte ABAC se správně označenými prostředky. Tato akce zajistí udělení přístupových oprávnění na základě konkrétních atributů, což zvyšuje zabezpečení tím, že brání neoprávněnému vytvoření prostředku a přístupu.
  • Použití skupin zabezpečení: Pomocí skupin zabezpečení můžete efektivně spravovat oprávnění pro více uživatelů. Tato metoda zjednodušuje udělování a odvolávání přístupu v porovnání s přiřazováním oprávnění jednotlivě a zajišťuje konzistenci a snadnější správu ve vaší organizaci.
    • Skupiny zabezpečení Microsoft Entra ID, Active Directory nebo Windows používejte při správě velkého počtu uživatelů.
    • Snižte riziko úniku citlivých informací a nasazení nezabezpečeného kódu omezením přístupu k projektům a úložištím na předdefinované nebo vlastní skupiny zabezpečení.
    • Využijte předdefinované role a výchozí nastavení přispěvatele pro vývojáře. Správci se přiřadí ke skupině zabezpečení Správce projektu pro zvýšená oprávnění, což jim umožní konfigurovat oprávnění zabezpečení.
    • Udržujte skupiny co nejmenší a omezte přístup.
    • Implementujte přístup just-in-time pomocí skupiny Microsoft Entra Privileged Identity Management (PIM). Udělte zvýšená oprávnění jenom v případě potřeby, čímž snížíte riziko spojené s trvalým přístupem.

Nahrazení účtů služeb moderními alternativami

Účty služeb s tokeny PAT (Personal Access Tokens) se už dlouho používají pro automatizované procesy a služby, ale často shromažďují zvýšená oprávnění a vytvářejí bezpečnostní rizika. Moderní alternativy, jako jsou tokeny Microsoft Entra, instanční objekty a spravované identity, poskytují silnější zabezpečení s menší režií na správu. Než budete pokračovat s účtem služby, vyhodnoťte, jestli přístup k bezpečnějšímu ověřování lépe vyhovuje vašim potřebám.

  • Nahraďte tokeny PAT tokeny Microsoft Entra: TokenyMicrosoft Entra jsou krátkodobé (jednohodinové) tokeny, které můžete použít místo většiny PATů. PATs jsou populární kvůli své jednoduchosti použití, ale také představují populární vektor útoku právě kvůli snadnému úniku.
  • Než vyberete některý z nich, přečtěte si všechny dostupné mechanismy ověřování .
  • Místo toho použijte instanční objekty:Instanční objekty představují identitu aplikace Microsoft Entra a mají vlastní oprávnění, která definují, co může aplikace v daném tenantovi dělat. Hlavní služba jsou doporučenou volbou pro správu oprávnění potřebných aplikací. Nahraďte osobní přístupové tokeny servisních účtů tokeny Microsoft Entra získanými pro principála služby.
    • Pokud budujete na prostředcích Azure, posuňte to ještě o krok dál tím, že použijete ověření pomocí spravované identity. Spravované identity se za vás postará o veškerou správu přihlašovacích údajů.
  • Použijte připojení ke službám: Připojení služeb umožňují používat principály služby v rámci sestavení. Připojení ke službám používejte vždy, když je to možné, abyste se bezpečně připojili ke službám a neposílali tajné proměnné přímo do sestavení. Omezte připojení na konkrétní případy použití. Další informace najdete v části Připojení služby Scope v tomto článku.
    • K ověření prostředků Azure použijte federaci identit úloh pomocí registrace aplikace nebo spravované identity namísto registrace aplikace s tajným kódem.

Zatímco účet služby zůstává používán:

  • Vytvoření účtů jednoúčelových služeb: Každá služba by měla mít svůj vyhrazený účet, aby se minimalizovalo riziko. Nepoužívejte běžné uživatelské účty jako účty služeb.
  • Identifikace a zakázání nepoužívaných účtů služeb: Pravidelně kontrolujte a identifikujte účty, které se už nepoužívají. Před zvážením odstranění zakažte nepoužívané účty.
  • Omezit oprávnění: Omezte oprávnění účtu služby na minimum potřebnou. Vyhněte se interaktivním přihlašovacím právům pro účty služeb.
  • Pro čtenáře sestav použijte samostatné identity: Pokud používáte účty domény pro účty služeb, použijte pro čtenáře sestav jinou identitu, abyste izolovali oprávnění a zabránili zbytečnému přístupu.
  • Pro instalace pracovní skupiny použijte místní účty: Při instalaci komponent v pracovní skupině použijte místní účty pro uživatelské účty. V tomto scénáři se vyhněte účtům domény.
  • Monitorování aktivity účtu služby: Implementujte auditování a vytvářejte streamy auditu pro monitorování aktivit účtu služby.

Rozsah služebních připojení

Pokud chcete zajistit zabezpečený a efektivní přístup k prostředkům Azure, správně vymezte rozsah připojení služeb. Připojení služeb umožňují Azure DevOps připojit se k externím službám a prostředkům. Rozsahem těchto připojení můžete omezit přístup pouze na nezbytné prostředky a snížit riziko neoprávněného přístupu.

  • Omezení přístupu: Omezte přístup nastavením připojení služby Azure Resource Manager k určitým prostředkům a skupinám. Neudělujte široká práva přispěvatele v celém předplatném Azure.
  • Používejte Azure Resource Manager: Autentizujte se pomocí federace identit úloh s prostředky Azure s využitím registrace aplikace nebo spravované identity místo registrace aplikace s heslem. Další informace najdete v tématu Vytvoření připojení služby Azure Resource Manager, které používá federaci identit úloh.
  • Rozsah skupin prostředků: Zajistěte, aby skupiny prostředků obsahovaly pouze virtuální počítače nebo prostředky potřebné pro proces sestavení.
  • Vyhněte se klasickým připojením ke službám: Zvolte moderní připojení služeb Azure Resource Manageru místo klasických připojení, která nemají možnosti rozsahu.
  • Použijte týmové účty služeb určené pro konkrétní účely: Ověřujte připojení služeb pomocí týmových účtů služeb určených pro konkrétní účely, abyste zajistili zachování bezpečnosti a kontroly.

Další informace najdete v tématu Typy připojení služby Common Service.

Kontrola auditingových událostí

Auditování může sledovat akce uživatelů, změny oprávnění a vzory použití v rámci vaší organizace. Pomocí těchto nástrojů můžete rychle identifikovat a řešit potenciální incidenty zabezpečení.

  • Povolit auditování: Sledujte a zobrazte události související s akcemi uživatelů, oprávněními, změnami a incidenty zabezpečení.
  • Pravidelně kontrolujte protokoly auditu a streamy: Pravidelně kontrolujte protokoly auditu, abyste mohli monitorovat aktivity uživatelů a zjišťovat podezřelé chování. Hledejte neočekávané vzory v užívání, zejména od správců a dalších uživatelů. Tato akce pomáhá identifikovat potenciální porušení zabezpečení a provádět nápravné akce. Přečtěte si další informace o událostech auditování, které sledujeme.
  • Konfigurace výstrah zabezpečení: Nakonfigurujte upozornění, která vás upozorní na případné incidenty zabezpečení nebo porušení zásad. Tato akce zajišťuje včasnou reakci na potenciální hrozby.

Zabezpečení služeb

Pokud chcete zajistit zabezpečení a integritu vašich služeb v Azure DevOps, implementujte bezpečnostní opatření pro každou službu. Mezi tyto míry patří nastavení oprávnění, správa přístupu a používání funkcí zabezpečení specifických pro každou službu.

Automatizace kontroly zabezpečení

Monitorujte zranitelnosti kódu a tajných informací pomocí následujících automatizovaných nástrojů zabezpečení.

  • Použití skenování a analýzy kódu: Pomocí nástrojů, jako je Microsoft Defender , můžete zkontrolovat ohrožení zabezpečení, tajné kódy a chybné konfigurace.
  • Použití pokročilého zabezpečení GitHubu pro Azure DevOps: Identifikace přihlašovacích údajů a ohrožení zabezpečení v kódu Další informace najdete v tématu Konfigurace služby GitHub Advanced Security pro Azure DevOps.
  • Použití nativní kontroly tajných kódů pro GitHub: Identifikujte tajné kódy v kódu pomocí nativních funkcí skenování GitHubu. Další informace naleznete v tématu O kontrole tajných kódů.

Další informace viz přehled pokročilého zabezpečení GitHubu .

Automatizace správy zabezpečení pomocí skriptů PowerShellu

Zjednodušte úlohy zabezpečení správy pomocí skriptů PowerShellu pro automatizaci správy, auditování a vynucování zásad v organizaci Azure DevOps.

Dostupné skripty pro automatizaci pro správu

  • Auditování přístupu uživatelů: Auditujte uživatelská oprávnění a identifikujte rizika zabezpečení.
  • Bezpečnostní audit připojení služby: Ověřte problémy se zabezpečením připojení.
  • Řízení viditelnosti projektu: Automatizujte nastavení veřejného nebo privátního projektu.
  • Správa uživatelů a skupin: Zjednodušte procesy životního cyklu uživatelů.

Podrobné pokyny k implementaci najdete v tématu Použití skriptů k aktualizaci globálního nastavení zabezpečení.