Wijzigingsbeheer, in de pipeline.
CC8.1 is het SOC 2-criterium voor wijzigingsbeheer: wijzigingen aan infrastructuur, data en software moeten geautoriseerd, ontworpen, ontwikkeld, getest en goedgekeurd zijn voordat ze live gaan. Een groot deel hiervan bevindt zich in je pipeline en branch protection, wat betekent dat een pull request stilletjes de controles kan verwijderen die bepalen hoe wijzigingen worden geïmplementeerd.
The shapes the same control failure takes.
CC8.1 verzwakt wanneer een wijziging het proces verzwakt dat wijzigingen zou moeten beheersen. De terugkerende patronen:
Een vereiste goedkeuring wordt verwijderd
Een vereiste review of goedkeuringsstap voor een productie-implementatie wordt verwijderd uit de CI-configuratie of branch protection, zodat wijzigingen zonder goedkeuring kunnen worden geïmplementeerd.
Een migratie overslaat de review
Een databasemigratie of datawijziging wordt gekoppeld om tijdens de implementatie uit te voeren, zonder afzonderlijke review of goedkeuring van een wijziging die productiedata aanpast.
Tests blokkeren de merge niet meer
Een vereiste statuscontrole (de testsuite, een beveiligingsscan) wordt niet-blokkerend gemaakt of verwijderd, zodat onverifieerde wijzigingen kunnen worden gemerged.
Een omzeilpad wordt toegevoegd
Een nood- of adminpad wordt toegevoegd waardoor een wijziging buiten de normale pipeline in productie kan komen, zonder equivalente controles.
De rollback wordt verwijderd
Een veilige rollback- of terugdraaioptie voor migratie wordt verwijderd, zodat een wijziging kan worden geïmplementeerd die niet netjes kan worden teruggedraaid als er iets misgaat.
Een vereiste goedkeuring voor implementatie, verwijderd.
Een vereiste handmatige goedkeuring voor productie-implementaties heeft de releases vertraagd, dus een wijziging verwijdert de beschermingsregel. Implementaties gaan sneller, en nu bereikt elke merge naar main de productie zonder dat iemand de wijziging goedkeurt.
jobs: deploy:- environment:- name: production # requires a reviewer approval steps:Het verwijderen van de vereiste goedkeuring voor de productieomgeving betekent dat wijzigingen nu zonder goedkeuring in productie komen. CC8.1 vereist dat wijzigingen geautoriseerd en goedgekeurd zijn voordat ze live gaan. Als goedkeuringen te langzaam zijn, beperk dan wie of wat ze nodig heeft, of automatiseer de controles, maar behoud een goedkeuringsstap in plaats van deze te verwijderen.
Wijzigingsbeheer wordt getoetst aan de hand van echte wijzigingen.
Een auditor selecteert wijzigingen die naar productie zijn gegaan en controleert of er bewijs is dat elke wijziging is beoordeeld, getest en goedgekeurd, vaak via de pull request, de goedkeuringen en de geslaagde controles. Een wijziging die een vereiste goedkeuring heeft verwijderd of een test niet-blokkerend heeft gemaakt, is de leemte achter dat bewijs, en dit is zichtbaar in de diff van de pipeline of branch-protection-configuratie.
Een review, niet je releaseproces.
heygrc markeert wijzigingen die CC8.1 raken en verwijst naar het criterium, zodat de correctie in de pull request kan plaatsvinden. Het voert geen implementaties uit of beheert je branch protection niet. Het detecteert het moment waarop een wijziging het proces verzwakt dat wijzigingen beheert, in de diff.