Sdílet prostřednictvím


Aspekty zabezpečení pro platformy DevOps

Zabezpečení by vždy mělo být prioritou v cloudových vývojových platformách, jako jsou Azure DevOps a GitHub. Microsoft aktualizuje a udržuje zabezpečení základní cloudové infrastruktury, ale je na vás, abyste zkontrolovali a nakonfigurovali osvědčené postupy zabezpečení pro vlastní organizace Azure DevOps a instance GitHubu.

Zvažte následující důležité oblasti zabezpečení, ať už nasazujete prostředí prostřednictvím infrastruktury jako kódu v kanálech kontinuální integrace a průběžného nasazování (CI/CD), nebo nasazujete kód do vašich aplikací hostovaných v Azure.

Omezení přístupu k nástrojům DevOps

Pomocí řízení přístupu na základě role (RBAC) prostřednictvím Id Microsoft Entra postupujte podle principu nejnižšího oprávnění. Poskytněte uživatelům a službám minimální objem přístupu k vašim platformám DevOps, které potřebují ke svým obchodním funkcím. Další informace najdete v následujících článcích:

Po vytvoření ID Microsoft Entra jako roviny správy identit postupujte podle osvědčených postupů pro správu přiřazení rolí Azure DevOps pomocí členství ve skupinách Microsoft Entra. Role Azure DevOps můžete přiřadit ke skupinám Microsoft Entra a upravit členství Microsoft Entra uživatele tak, aby změnilo nebo odebralo přístup k Azure DevOps.

  • Pomocí správy nároků na microsoft Entra ID můžete vytvářet přístupové balíčky, které uživatelům Microsoft Entra umožňují přístup k požadovaným prostředkům, aby mohli dokončit své úkoly.

  • Microsoft Entra Privileged Identity Management můžete také použít pro přístup za běhu k propagaci jednotlivců na role správce Azure DevOps po určitou dobu.

Správa zabezpečení v Azure DevOps pomocí skupin zabezpečení, zásad a nastavení na úrovni organizace, projektu nebo objektu Azure DevOps Pokud je to možné, zvažte zakázání dědičnosti oprávnění v Azure DevOps.

Omezení přístupu k úložišti a větvím

Omezte přístup k úložišti, oprávnění a vytváření větví, abyste ochránili kód a prostředí před nežádoucími nebo škodlivými změnami. Omezte přístup k úložištím pomocí skupin zabezpečení v Azure DevOps. Omezte, kdo může číst a aktualizovat kód ve větvích nastavením oprávnění větve.

Omezení přístupu a oprávnění kanálu

Škodlivý kód může ukrást podniková data a tajné kódy a poškozená produkční prostředí. Implementujte mantinely, abyste zabránili nasazení škodlivého kódu v kanálu. Omezením přístupu a implementací mantinelí můžete také zabránit laterálnímu vystavení jiným projektům, kanálům a úložištím z jakýchkoli ohrožených kanálů.

Zvažte použití přírůstkového přístupu k zabezpečení kanálů YAML. Další informace najdete v tématu Plánování zabezpečení kanálů YAML.

Vyberte agenta DevOps na základě potřeb zabezpečení.

K napájení kanálů Azure DevOps a GitHubu můžete použít agenty hostované Microsoftem nebo v místním prostředí. Existují kompromisy pro každý typ agenta.

S agenty hostovanými Microsoftem se nemusíte starat o upgrady nebo údržbu. S agenty v místním prostředí máte větší flexibilitu při implementaci bezpečnostních mantinely. Řídíte hardware agenta, operační systém a nainstalované nástroje.

Projděte si agenty Azure Pipelines a projděte si rozdíly mezi typy agentů a identifikujte potenciální aspekty zabezpečení.

Použití zabezpečených a vymezených připojení služeb

Kdykoli je to možné, použijte připojení služby k nasazení infrastruktury nebo kódu aplikace v prostředí Azure. Připojení ke službě by mělo mít omezený přístup k nasazení ke konkrétním prostředkům Nebo skupinám prostředků Azure, aby se snížil potenciální přístup k útokům. Zvažte také vytvoření samostatných připojení služeb pro vývoj, testování, kontrolu kvality a produkční prostředí.

Použití úložiště tajných kódů

Tajné kódy v kódu ani pomocné dokumentaci v úložištích nikdy nezakódujte. Nežádoucí uživatelé prohledávají úložiště a hledají vystavená důvěrná data, která se mají zneužít. Nastavte úložiště tajných kódů, jako je Azure Key Vault, a odkazujte na úložiště ve službě Azure Pipelines, abyste mohli bezpečně načítat klíče, tajné kódy nebo certifikáty. Další informace najdete v tématu Zabezpečení kanálu a pracovního postupu CI/CD. Tajné kódy služby Key Vault můžete použít také v pracovních postupech GitHub Actions.

Použití posílených pracovních stanic DevOps k sestavení a nasazení kódu

Týmy pro platformu a vývoj často mají zvýšená oprávnění na platformě Azure nebo na jiných službách, jako jsou Azure DevOps a GitHub. Tento přístup výrazně zvyšuje potenciální prostor pro útok. Implementujte mantinely pro zabezpečení všech koncových bodů a pracovních stanic, které používáte k vývoji a nasazení kódu.

Pomocí posílených zabezpečených pracovních stanic pro správu (SAWs) nasaďte všechny změny ve vysoce rizikových a produkčních prostředích. Další informace najdete v tématu Zabezpečení koncových bodů pomocí nulová důvěra (Zero Trust).

Kontrola a testování zabezpečení

Bez ohledu na to, jestli nasadíte kód aplikace nebo infrastrukturu jako kód, implementujete osvědčené postupy a ovládací prvky DevSecOps ve vašich kanálech. Integrujte zabezpečení na začátku cesty CI/CD, abyste zabránili nákladným porušením zabezpečení později. Vytvořte strategii pro implementaci statické analýzy kódu, testování jednotek, kontroly tajných kódů a skenování balíčků a závislostí ve vašich kanálech.

Podnikové nástroje zabezpečení, jako je Microsoft Defender pro cloud , se můžou integrovat s nástroji DevOps. Defender for Cloud může například identifikovat ohrožené image kontejnerů v pracovních postupech CI/CD. Pro GitHub Actions a úložiště použijte GitHub Advanced Security pro kontrolu kódu a tajných kódů a závislostí.

Pravidelně kontrolujte události auditu, abyste mohli monitorovat neočekávané vzory použití správců a dalších uživatelů a reagovat na ně. Můžete přistupovat k protokolům auditu, filtrovat a exportovat je pro vaši organizaci Azure DevOps. V případě dlouhodobého úložiště a podrobného dotazování na protokoly vytvořte stream auditu do pracovního prostoru služby Azure Monitor Log Analytics nebo do systému správy informací o zabezpečení a událostí (SIEM), jako je Microsoft Sentinel.