Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Nápady na řešení
Tento článek popisuje myšlenku řešení. Váš cloudový architekt může pomocí těchto pokynů vizualizovat hlavní komponenty pro typickou implementaci této architektury. Tento článek slouží jako výchozí bod k návrhu dobře navrženého řešení, které odpovídá konkrétním požadavkům vaší úlohy.
Tento návrh řešení ilustruje pipeline DevSecOps, která využívá GitHub pro infrastrukturu jako kód (IaC). Díky zacházení s definicemi infrastruktury jako zdrojem pravdy můžou úlohy automatizovat ověřování, kontrolu zabezpečení, zásady správného řízení a dodržování předpisů v průběhu životního cyklu nasazení.
Standardizované vzory nasazení, vývoj s asistencí umělé inteligence, kontrola zabezpečení kódu a konfigurace, zásady správného řízení a správa životního cyklu pomáhají zlepšit zabezpečení, zvýšit provozní efektivitu, snížit posun konfigurace a poskytovat spolehlivá cloudová prostředí.
Architektura
Stáhněte si soubor aplikace Visio s touto architekturou.
Tok dat
Následující tok dat odpovídá předchozímu diagramu:
Vývojáři používají vývoj s asistencí umělé inteligence a testování k vytváření a údržbě kódu infrastruktury, opakovaně použitelných modulů, testů a pracovních postupů nasazení. Současně s definicemi infrastruktury vyvíjejí jednotkové testy, integrační testy a kontroly policy as code (PaC).
Vývojáři ukládají IaC, testy a kontroly do repozitářů GitHubu, aby před odesláním pull requestů ověřili kvalitu, zabezpečení a dodržování předpisů.
Žádosti o přijetí změn aktivují automatizované testy v GitHub Actions. Tento pracovní postup před nasazením generuje a ověřuje náhledy nasazení.
GitHub Advanced Security poskytuje kontroly zabezpečení na úrovni úložiště. Kontroly případně zahrnují skenování kódu nebo pracovní postupy kontroly závislostí a v úložišti povolují skenování tajných údajů a ochranu při pushi, aby se odhalily zpřístupněné tajné údaje.
Nakonfigurovaná akce zabezpečení DevOps prohledá definice infrastruktury kvůli chybné konfiguraci a hlásí zjištění zabezpečení DevOps v Microsoft Defender for Cloud. Defender for Cloud tato zjištění koreluje s přehledy stavu zabezpečení cloudu, aby bylo možné určit prioritu nápravy před nasazením.
Kanál nasazení zřídí nebo aktualizuje prostředky Azure pomocí opakovaně použitelných artefaktů IaC ze schválených definic infrastruktury, jako jsou Azure ověřené moduly (AVM). Zásobníky nasazení Azure pomáhají udržovat soulad mezi nasazenými prostředky a definicemi spravovanými ve správě zdrojového kódu a nastavení odepření nasazení pomáhají omezit odchylky konfigurace tím, že omezují změny prováděné mimo proces nasazení. Schválené ruční změny jsou zdokumentované a odsouhlasené prostřednictvím správy zdrojového kódu, aby se Git zachoval jako autoritativní zdroj pravdy.
DevSecOps nepřetržitě monitoruje a chrání před bezpečnostními hrozbami a ohroženími zabezpečení. Azure Policy vynucuje zásady správného řízení v cloudu.
Nakonfigurovaná automatizace vytvoří GitHub Issue, když monitorovací nebo bezpečnostní služby zjistí anomálii. Například Defender for Cloud může identifikovat veřejně vystavený prostředek, který porušuje požadavky na zabezpečení. Skupina akcí Azure Monitor nebo pravidlo automatizace Microsoft Sentinel může spustit pracovní postup Azure Logic Apps, který vytvoří problém na GitHubu k posouzení a nápravě.
Komponenty
GitHub je platforma pro hostování kódu pro správu verzí a spolupráci. V této architektuře GitHub ukládá šablony IaC do centrálních úložišť pro vývoj, testování, pracovní postupy zásad správného řízení a vývoj s asistencí umělé inteligence s GitHub Copilot.
GitHub Actions je nástroj pro automatizaci kontinuální integrace a průběžného nasazování (CI/CD), který umožňuje pracovním postupům sestavovat, testovat a nasazovat kód přímo z úložišť GitHub. V této architektuře GitHub Actions automatizuje testování jednotek, kontrolu zabezpečení a zřizování infrastruktury pro kanály IaC.
GitHub Advanced Security poskytuje funkce zabezpečení na úrovni úložiště, včetně detekce tajných kódů a detekce zranitelností závislostí. V této architektuře GitHub Advanced Security pomáhá identifikovat vystavené přihlašovací údaje, ohrožené opensourcové závislosti a další rizika zabezpečení úložiště před sloučením a nasazením kódu.
Zabezpečení DevOps v Defender for Cloud centralizuje zjištění zabezpečení DevOps a koreluje je s cloudovým kontextem. V této architektuře nakonfigurovaná akce GitHubu zabezpečení od Microsoftu DevOps prohledává artefakty IaC na přítomnost nesprávných konfigurací a hlásí výsledky do Defenderu for Cloud za účelem stanovení priorit a nápravy.
Ověřené moduly Azure (AVM) jsou předpřipravené moduly IaC spravované společností Microsoft. V této architektuře úlohy používají AVM k nasazení opakovaně použitelných modulů prostředků a vzorů, které odpovídají pokynům pro Azure Well-Architected Framework.
Zásobníky nasazení Azure umožňují úlohám spravovat nasazené prostředky jako jediné celky se správou životního cyklu. Zásobníky nasazení Azure pomáhají udržovat soulad mezi nasazenými prostředky a definicemi infrastruktury spravovanými ve správě zdrojového kódu, podporují správu životního cyklu a snižují odchylky v konfiguraci použitím mechanismů zásad správného řízení a nastavení odepření.
Defender for Cloud je platforma pro správu zabezpečení, která poskytuje ochranu před hrozbami napříč hybridními cloudovými úlohami. V této architektuře nepřetržitě monitoruje nasazenou infrastrukturu z hlediska zranitelností a hrozeb a doplňuje zjištění zabezpečení DevOps o poznatky o zabezpečení za běhu.
Microsoft Sentinel je řešení pro automatizované odpovědi (SOAR) nativní pro cloud a správu událostí (SIEM) a orchestrace zabezpečení, které k detekci hrozeb používá AI a analýzy. V této architektuře Microsoft Sentinel monitoruje aktivitu infrastruktury a vyvolává výstrahy nebo GitHub Problémy při zjišťování anomálií.
Azure Policy vyhodnotí Azure prostředky podle standardů organizace a úloh. V závislosti na přiřazené zásadě může Azure Policy auditovat, upravovat, opravovat nebo odepřít konfigurace nedodržující předpisy. Například definice zásady s účinkem
denymůže blokovat nasazení virtuálního počítače, jehož SKU není povoleno.Azure Monitor je platforma telemetrie a pozorovatelnosti, která shromažďuje metriky výkonu a protokoly aktivit z prostředků Azure. V této architektuře Azure Monitor detekuje nepravidelné podmínky infrastruktury a aktivuje výstrahy, aby bylo možné spustit třídění a nápravu.
Podrobnosti scénáře
Při zavádění IaC můžete při vývoji kódu vytvářet automatizované testy. Generování plánů nasazení a stavů konfigurace infrastruktury pro emulaci skutečných nasazení Vývoj řízený testy snižuje složitost testování IaC při škálování úloh.
Spouštění integračních testů s nasazenými Azure prostředky pomocí Sady Azure SDK a rozhraní API, Azure Resource Graph, ověřovacích nástrojů specifických pro úlohy nebo automatizovaných testovacích architektur. Tyto testy pomáhají ověřit konfiguraci prostředků, připojení, kontrolní mechanismy zabezpečení a provozní připravenost.
PaC je další důležitou metodou poskytování infrastruktury, která vyhovuje předpisům a firemním zásadám správného řízení. Do kanálů můžete přidat PaC pracovní postupy, které automatizují zásady správného řízení v cloudu.
Zabezpečení infrastruktury v rané fázi životního cyklu vývoje snižuje riziko problémů se zabezpečením a dodržováním předpisů po nasazení. Integrujte GitHub Advanced Security a zabezpečení DevOps v Defenderu for Cloud do pracovních postupů DevSecOps, abyste mohli identifikovat zranitelnosti, problémy s kvalitou kódu, porušení zásad, odhalení tajných klíčů a přihlašovacích údajů a rizika v konfiguraci v kódu IaC. Tento přístup se podobá testování zabezpečení statických aplikací (SAST) pro kód aplikace.
Posun konfigurace může být obtížné vyřešit, když je infrastruktura nasazená a funkční, zejména v produkčních prostředích. K zřizování a správě prostředků Azure bez ukládání přihlašovacích údajů použijte GitHub Actions s OpenID Connectem (OIDC) a federací identit úloh Microsoft Entra. Omezte oprávnění k nasazení pomocí přiřazení řízení přístupu na základě rolí v Azure (Azure RBAC) podle zásady nejnižších oprávnění a mechanismů ochrany prostředí. Pokud chcete provést mimořádné ruční změny, použijte privilegovaný přístup za běhu, zaznamenejte změnu a automaticky vytvořte GitHub Problém, abyste mohli definici infrastruktury odsouhlasit prostřednictvím správy zdrojového kódu. Vyhněte se ruční konfiguraci, kdykoli je to možné, a zacházet s Gitem jako s autoritativním zdrojem stavu infrastruktury.
Abyste pomohli zabránit odchylkám už u zdroje, použijte zásobníky nasazení Azure, pokud má skupina prostředků Azure definovaných v šabloně společný životní cyklus. Zohledněte omezení zásobníku nasazení a použijte odpovídající nastavení odepření k omezení změn mimo řídicí rovinu. Uchovávejte definici IaC pod verzováním ve správě zdrojového kódu.
Aby se zabránilo incidentům zabezpečení, nepřetržitě monitorujte cloudové prostředí pro hrozby a ohrožení zabezpečení. K detekci neobvyklé aktivity použijte nástroje Defender for Cloud, Microsoft Sentinel, Azure Monitor a další nástroje pro ochranu před hrozbami a SIEM. Tyto nástroje mohou automaticky upozorňovat správce zabezpečení a vytvářet issue na GitHubu k prošetření a nápravě.
Potenciální případy použití
Centrální týmy platformového inženýrství mohou týmům pro aplikace, data a AI poskytovat opakovaně použitelné pracovní postupy GitHub Actions, řízení PaC a zásobníky nasazení Azure jako schválené doporučené standardní postupy. GitHub Copilot vývojářům pomáhá vytvářet definice infrastruktury, testy a pracovní postupy nasazení. Nakonfigurovaná akce zabezpečení od Microsoftu DevOps ověřuje zabezpečení a konfiguraci infrastruktury před nasazením a hlásí zjištění zabezpečení DevOps v Defender for Cloud. Organizace může urychlit doručování infrastruktury při zachování zásad správného řízení, konzistence a standardů zabezpečení.
Finanční služby, zdravotnictví, veřejné sektory nebo regulované podniky můžou používat DevSecOps pro IaC k automatizaci nasazení infrastruktury, vynucování zásad, ověřování zabezpečení a vytváření sestav dodržování předpisů. Azure Policy, Defender for Cloud, Microsoft Sentinel a zásobníky nasazení Azure pomáhají zachovat auditovatelnost změn infrastruktury, omezovat nesoulad konfigurace a podporovat dodržování předpisů v celém životním cyklu infrastruktury. GitHub je jediným rozhodujícím zdrojem pro všechny změny infrastruktury a kontrolní mechanismy správy.
Přispěvatelé
Microsoft udržuje tento článek. Tento článek napsali následující přispěvatelé.
Hlavní autoři:
- Vito Chin | Vedoucí architekt cloudových řešení
- Yee Shian Lee | Vedoucí architekt cloudových řešení
Pokud chcete zobrazit nepublikované profily LinkedIn, přihlaste se na LinkedIn.
Další kroky
- Zvažte, jaký jazyk nebo šablonu IaC použít. Bicep nebo Terraform na Azure jsou jednou z možností.
- Nastavte zabezpečení od Microsoftu DevOps a zkontrolujte připojené úložiště GitHub.