Zabezpečení služby Azure Pipelines

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

Azure Pipelines představuje jedinečné výzvy zabezpečení. Kanál můžete použít ke spouštění skriptů nebo nasazení kódu do produkčních prostředí. Ale chcete zajistit, aby se kanály CI/CD nestaly cestami ke spuštění škodlivého kódu. Chcete také zajistit, aby byl nasazen pouze kód, který chcete nasadit. Zabezpečení musí být vyváženo tím, že týmům poskytuje flexibilitu a sílu, kterou potřebují ke spouštění vlastních kanálů.

Poznámka:

Azure Pipelines je jednou z kolekcí služeb Azure DevOps Services, která je vytvořená na stejné zabezpečené infrastruktuře v Azure. Vysvětlení hlavních konceptů zabezpečení pro všechny služby Azure DevOps Services najdete v tématu Přehled služby Azure DevOps Data Protection a Zabezpečení a identita Azure DevOps.

Organizace tradičně implementují zabezpečení prostřednictvím drakoniánského uzamčení. Kód, kanály a produkční prostředí měly závažná omezení přístupu a použití. Vmalýchch To ale není případ ve větších organizacích. Pokud má mnoho uživatelů přístup přispěvatele k kódu, musí se předpokládat porušení zabezpečení. Za předpokladu, že porušení zabezpečení znamená chování, jako kdyby nežádoucí osoba má přístup přispěvatele k některým (pokud ne všem) úložišťm.

Cílem v tomto případě je zabránit tomu, aby nežádoucí osoba spustila škodlivý kód v kanálu. Škodlivý kód může ukrást tajné kódy nebo poškozená produkční prostředí. Dalším cílem je zabránit laterálnímu vystavení jiným projektům, kanálům a úložištím z napadeného kanálu.

Kanály YAML nabízejí nejlepší zabezpečení pro vaše služby Azure Pipelines. Na rozdíl od klasických kanálů sestavení a verzí kanály YAML:

  • Je možné zkontrolovat kód. Kanály YAML se nijak neliší od jiné části kódu. Můžete zabránit škodlivým hercům v zavedení škodlivých kroků v kanálech vynucením použití žádostí o přijetí změn ke sloučení změn. Zásady pro větev usnadňují nastavení.
  • Poskytnutí správy přístupu k prostředkům Vlastníci prostředků se rozhodnou, jestli má kanál YAML přístup k prostředku nebo ne. Tyto útoky na kontrolu funkcí zabezpečení, jako je krádež jiného úložiště. Schválení a kontroly poskytují řízení přístupu pro každé spuštění kanálu.
  • Podpora parametrů modulu runtime Parametry modulu runtime pomáhají vyhnout se hostiteli problémů se zabezpečením souvisejících s proměnnými, jako je například injektáž argumentů.

Tato série článků popisuje doporučení, která vám pomůžou vytvořit zabezpečený kanál CI/CD založený na YAML. Zahrnuje také místa, kde můžete provádět kompromisy mezi zabezpečením a flexibilitou. Řada také předpokládá znalost Azure Pipelines, základních konstruktorů zabezpečení Azure DevOps a Gitu.

Pokrytá témata: