Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Oplossingsideeën
In dit artikel wordt een oplossingsidee beschreven. Uw cloudarchitect kan deze richtlijnen gebruiken om de belangrijkste onderdelen te visualiseren voor een typische implementatie van deze architectuur. Gebruik dit artikel als uitgangspunt om een goed ontworpen oplossing te ontwerpen die overeenkomt met de specifieke vereisten van uw workload.
Dit oplossingsidee illustreert een DevSecOps-pijplijn die gebruikmaakt van GitHub voor infrastructuur als code (IaC). Door infrastructuurdefinities te behandelen als de bron van waarheid, kunnen workloads validatie, beveiligingsscans, governance en naleving gedurende de gehele levenscyclus van de implementatie automatiseren.
Gestandaardiseerde implementatiepatronen, door AI ondersteunde ontwikkeling, codebeveiliging en configuratiescans, beleidsgestuurd beheer en levenscyclusbeheer helpen de beveiliging te verbeteren, operationele efficiëntie te verhogen, configuratiedrift te verminderen en betrouwbare cloudomgevingen te leveren.
Architectuur
Een Visio-bestand van deze architectuur downloaden.
Gegevensstroom
De volgende gegevensstroom komt overeen met het voorgaande diagram:
Ontwikkelaars gebruiken ai-ondersteunde, testgestuurde ontwikkeling om infrastructuurcode, herbruikbare modules, tests en implementatiewerkstromen te maken en te onderhouden. Ze ontwikkelen eenheidstests, integratietests en paC-controles (policy as code) naast infrastructuurdefinities.
Ontwikkelaars controleren de IaC, tests en controles op GitHub opslagplaatsen om kwaliteit, beveiliging en naleving te valideren voordat ze pull-aanvragen indienen.
Pull-aanvragen activeren geautomatiseerde tests in GitHub Actions. Deze werkstroom genereert en valideert implementatievoorbeelden vóór de implementatie.
GitHub Advanced Security biedt beveiligingscontroles op opslagplaatsniveau. De controles omvatten waar nodig werkstromen voor het scannen van code of afhankelijkheidsbeoordeling en het inschakelen van geheime scan- en pushbeveiliging op de opslagplaats om blootgestelde geheimen te detecteren.
Met een geconfigureerde DevOps-beveiligingsactie worden infrastructuurdefinities gescand op onjuiste configuraties en rapporten voor DevOps-beveiliging in Microsoft Defender voor Cloud. Defender voor Cloud correleert deze bevindingen met inzichten in de cloudbeveiligingspostuur om prioriteit te geven aan herstel vóór de implementatie.
De implementatiepijplijn voorziet of werkt Azure resources bij met behulp van herbruikbare IaC-artefacten uit goedgekeurde infrastructuurdefinities, zoals Azure Verified Modules (AVM). Azure implementatiestacks helpen bij het onderhouden van de uitlijning tussen geïmplementeerde resources en definities die door de bron worden beheerd, en instellingen voor het weigeren van implementaties helpen de configuratiedrift te verminderen door out-of-band-wijzigingen te beperken. Goedgekeurde handmatige wijzigingen worden gedocumenteerd en afgestemd via broncodebeheer om Git te behouden als gezaghebbende bron van waarheid.
DevSecOps bewaakt en beschermt continu tegen beveiligingsrisico's en beveiligingsproblemen. Azure Policy dwingt de cloud governance af.
Geconfigureerde automatisering maakt een GitHub-issue aan wanneer monitoring- of beveiligingsservices een anomalie detecteren. Defender voor Cloud kan bijvoorbeeld een openbaar blootgestelde resource identificeren die in strijd is met de beveiligingsvereisten. Een Azure Monitor-actiegroep of automatiseringsregel van Microsoft Sentinel kan een Azure Logic Apps-werkstroom aanroepen die een GitHub-issue maakt voor beoordeling en herstel.
Onderdelen
GitHub is een platform voor het hosten van code voor versiebeheer en samenwerking. In deze architectuur slaat GitHub IaC-sjablonen op in centrale opslagplaatsen voor ontwikkeling, testen, governancewerkstromen en ai-ondersteunde ontwikkeling met GitHub Copilot.
GitHub Actions is een automatiseringsprogramma voor continue integratie en continue implementatie (CI/CD) waarmee werkstromen code rechtstreeks vanuit GitHub-opslagplaatsen kunnen bouwen, testen en implementeren. In deze architectuur automatiseert GitHub Actions eenheidstests, beveiligingsscans en infrastructuurinrichting voor IaC-pijplijnen.
GitHub Advanced Security biedt beveiligingsmogelijkheden op opslagplaatsniveau, waaronder het scannen van geheimen en detectie van beveiligingsproblemen in afhankelijkheden. In deze architectuur helpt GitHub Advanced Security bij het identificeren van blootgestelde referenties, kwetsbare opensource-afhankelijkheden en andere beveiligingsrisico's voor de opslagplaats voordat code wordt samengevoegd en geïmplementeerd.
DevOps-beveiliging in Defender voor Cloud centraliseert devOps-beveiligingsresultaten en correleert deze met cloudcontext. In deze architectuur scant een geconfigureerde Microsoft Beveiliging DevOps GitHub actie IaC-artefacten op onjuiste configuraties en rapporteert de bevindingen aan Defender voor Cloud voor prioriteits- en herstelbewerkingen.
Azure Verified Modules (AVM) zijn vooraf gedefinieerde IaC-modules die worden onderhouden door Microsoft. In deze architectuur gebruiken workloads AVM om herbruikbare resource- en patroonmodules te implementeren die zijn afgestemd op Azure Well-Architected Framework-richtlijnen.
Azure-implementatiestacks stellen werklasten in staat om geïmplementeerde resources te beheren als afzonderlijke eenheden met één beheerde levenscyclus. Azure implementatiestacks helpen de afstemming tussen geïmplementeerde resources en door de bron beheerde infrastructuurdefinities te behouden, levenscyclusbeheer te ondersteunen en configuratiedrift te verminderen door governance-besturingselementen en instellingen voor weigeren toe te passen.
Defender voor Cloud is een platform voor beveiligingsbeheer dat beveiliging tegen bedreigingen biedt voor hybride cloudworkloads. In deze architectuur bewaakt het continu geïmplementeerde infrastructuur op beveiligingsproblemen en bedreigingen en vormt een aanvulling op devOps-beveiligingsresultaten met runtime-beveiligingsinzichten.
Microsoft Sentinel is een cloudeigen SIEM-oplossing (Security Information and Event Management) en SOAR-oplossing (Security Orchestration Automated Response) die GEBRUIKMAAKT van AI en analyses om bedreigingen te detecteren en erop te reageren. In deze architectuur bewaakt Microsoft Sentinel de activiteit van de infrastructuur en genereert waarschuwingen of GitHub problemen wanneer afwijkingen worden gedetecteerd.
Azure Policy evalueert Azure resources op basis van organisatie- en workloadstandaarden. Afhankelijk van het toegewezen beleidseffect kan Azure Policy niet-compatibele configuraties controleren, wijzigen, herstellen of weigeren. Een beleidsdefinitie met het effect kan bijvoorbeeld de
denyimplementatie van een virtuele machine blokkeren waarvan de SKU niet is toegestaan.Azure Monitor is een telemetrie- en waarneembaarheidsplatform dat prestatiegegevens en activiteitenlogboeken van Azure-resources verzamelt. In deze architectuur detecteert Azure Monitor onregelmatige infrastructuuromstandigheden en activeert waarschuwingen, zodat triage en herstel kunnen worden gestart.
Details van het scenario
Wanneer u IaC gebruikt, maakt u geautomatiseerde tests tijdens het ontwikkelen van de code. Genereer implementatieplannen en infrastructuurconfiguratiestatussen om werkelijke implementaties te emuleren. Testgestuurde ontwikkeling vermindert de complexiteit van het testen van IaC wanneer uw workload wordt geschaald.
Voer integratietests uit op geïmplementeerde Azure resources met behulp van Azure-SDK's en API's, Azure Resource Graph, workloadspecifieke validatiehulpprogramma's of geautomatiseerde testframeworks. Deze tests helpen bij het controleren van de resourceconfiguratie, connectiviteit, beveiligingsmaatregelen en operationele gereedheid.
PaC is een andere belangrijke methode om infrastructuur te leveren die voldoet aan regelgeving en corporate governance. U kunt PaC-werkstromen toevoegen aan uw pijplijnen om cloudgovernance te automatiseren.
Het beveiligen van de infrastructuur vroeg in de ontwikkelingslevenscyclus vermindert het risico op beveiligings- en nalevingsproblemen na de implementatie. Integreer GitHub Geavanceerde beveiliging en Defender voor Cloud DevOps-beveiliging in DevSecOps-werkstromen om beveiligingsproblemen, problemen met codekwaliteit, beleidsschendingen, blootstelling van geheimen en configuratierisico's in IaC-code te identificeren. Deze benadering is vergelijkbaar met SAST (Static Application Security Testing) voor toepassingscode.
Configuratiedrift kan moeilijk worden opgelost wanneer de infrastructuur wordt geïmplementeerd en operationeel is, met name in productieomgevingen. Gebruik GitHub Actions met OpenID Connect (OIDC) en Microsoft Entra Workload Identity Federation om Azure resources in te richten en te beheren zonder referenties op te slaan. Beperk implementatiemachtigingen via toewijzingen volgens het principe van minimale bevoegdheden binnen op rollen gebaseerd toegangsbeheer van Azure (Azure RBAC) en beveiligingsmaatregelen voor omgevingen. Als u uitzonderlijke handmatige wijzigingen wilt aanbrengen, gebruikt u Just-In-Time bevoegde toegang, registreert u de wijziging en maakt u automatisch een GitHub Probleem om de infrastructuurdefinitie af te stemmen via broncodebeheer. Vermijd waar mogelijk handmatige configuratie en behandel Git als de gezaghebbende bron van de infrastructuurstatus.
Gebruik Azure implementatiestacks wanneer een groep Azure resources die in een sjabloon zijn gedefinieerd, een levenscyclus delen om drift in de bron te voorkomen. Houd rekening met de beperkingen van de deploymentstack en pas de juiste deny-instellingen toe om out-of-band control-plane-wijzigingen te beperken. Behoud de IaC-definitie in broncodebeheer.
Om beveiligingsincidenten te voorkomen, bewaakt u continu de cloudomgeving op bedreigingen en beveiligingsproblemen. Gebruik Defender voor Cloud, Microsoft Sentinel, Azure Monitor en andere hulpprogramma's voor bedreigingsbeveiliging en SIEM om abnormale activiteiten te detecteren. Deze hulpmiddelen kunnen beveiligingsbeheerders automatisch waarschuwen en GitHub Issues aanmaken voor onderzoek en herstel.
Potentiële gebruikscases
Centrale platformengineeringsteams kunnen herbruikbare GitHub Actions werkstromen, PaC-besturingselementen en Azure implementatiestacks bieden aan toepassings-, gegevens- en AI-teams als goedgekeurde gouden paden. GitHub Copilot helpt ontwikkelaars bij het maken van infrastructuurdefinities, tests en implementatiewerkstromen. Een geconfigureerde Microsoft Beveiliging DevOps-actie valideert de beveiliging en configuratie van de infrastructuur voordat de implementatie en rapporten worden uitgevoerd voor DevOps-beveiliging in Defender voor Cloud. De organisatie kan de levering van infrastructuur versnellen met behoud van governance, consistentie en beveiligingsstandaarden.
Financiële diensten, gezondheidszorg, openbare sector of gereguleerde ondernemingen kunnen DevSecOps voor IaC gebruiken om de implementatie van infrastructuur, beleidshandhaving, beveiligingsvalidatie en nalevingsrapportage te automatiseren. Azure Policy, Defender voor Cloud, Microsoft Sentinel en Azure implementatiestacks helpen controlebare infrastructuurwijzigingen te behouden, configuratiedrift te verminderen en naleving gedurende de levenscyclus van de infrastructuur te ondersteunen. GitHub is de gezaghebbende bron van waarheid voor alle infrastructuurwijzigingen en besturingselementen voor governance.
Bijdragers
Microsoft onderhoudt dit artikel. De volgende inzenders hebben dit artikel geschreven.
Belangrijkste auteurs:
- Vito Chin | Senior Cloud Solution Architect
- Yee Shian Lee | Senior Cloud Solution Architect
Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.
Volgende stappen
- Bedenk welke IaC-taal of -sjabloon u wilt gebruiken. Bicep of Terraform op Azure zijn opties.
- Stel Microsoft Beveiliging DevOps in om uw verbonden GitHub opslagplaats te scannen.