Richtlinien-Automatisierung, Teil 1 Die Idee hinter Policy as Code

Von Christian Rentrop

Anbieter zum Thema

Compliance und Richtlinien in der Softwareentwicklung widersprechen nicht selten dem DevOps-Gedanken. Mit Policy as Code können Unternehmen und Entwickler den Prozess der Software-Entwicklung im Hinblick auf Sicherheit und Effizienz deutlich optimieren.

Policy-as-Code sorgt für automatisierte Freigabe- und Zugriffsprozesse sowie eine computergestützte Überprüfung auf Einhaltung vorhandener Richtlinien.
Policy-as-Code sorgt für automatisierte Freigabe- und Zugriffsprozesse sowie eine computergestützte Überprüfung auf Einhaltung vorhandener Richtlinien.
(Bild: Christina Morillo (@divinetechygirl) / Pexels)

Wer sich mit Software-Entwicklung befasst, weiß: Unternehmen, egal ob kleine Startups oder weltumspannende Konzerne, besitzen in aller Regel eine Art Richtlinien- bzw. Policy- und Compliance-Handbuch. Das liegt klassisch in Form eines Wikis, einer PDF-Datei oder sogar in gedruckter Form vor.

Die großen Nachteile dabei: Zum einen müssen sich neue Mitarbeiter beim Onboarding zunächst die Richtlinien zu Gemüte führen, was Zeit kostet; und zum anderen verursacht eine solche Policy möglicherweise Qualitätsschleifen bei der Software-Entwicklung – denn jemand muss prüfen, ob Richtlinien korrekt umgesetzt wurden.

Entsprechende Richtlinien ändern sich allerdings oft im laufenden Prozess, wodurch diese klassische Trennung von Development und Operations dem DevOps-Gedanken widerspricht. Das kann so weit gehen, dass sie die Softwareentwicklung verlangsamt oder behindert. Policy-as-Code (PaC) versucht, dieses Problem lösen, indem die Richtlinien als Programmcode maschinenlesbar umgesetzt werden und Policy-Überprüfungen automatisiert erfolgen.

Menschliche Fehler vermeiden

Das große Problem bei Policies aller Art ist die Umsetzung: Menschliche Fehler passieren eben. Das betrifft jede Form komplexerer Prozesse: Hier die Regeln, die die das Optimum verlangen, dort praktische Zwänge, die möglicherweise verhindern, dass die Richtlinien korrekt umgesetzt werden. Daher müssen diese wieder und wieder überprüft werden.

Natürlich sind auch die umfangreichen Abläufe der Software-Entwicklung von diesem Problem betroffen. Das muss nicht zwangsläufig in die Katastrophe führen, allerdings gibt es hier gleich zwei menschliche Fehlerquellen: Den Entwickler selbst sowie denjenigen, der die Richtlinien überprüft und verwaltet. Es ist also sinnvoll, hier einen Automatismus zur Hand zu nehmen, um solche Fehlerquellen zu reduzieren.

Policy as Code: Die Vorteile

Der Einsatz von Policy as Code hat gegenüber dem Einsatz des händischen Richtlinien-Managements eine ganze Reihe von Vorteilen. Dabei spielt es keine Rolle, welche Art von Policy in Code überführt wird.

Höhere Geschwindigkeit

Die Möglichkeit, das Richtlinienmanagement und die Umsetzung von Vorgaben teilweise oder sogar ganz zu automatisieren, sorgt für eine deutlich schnellere Umsetzung, was den Entwicklungsprozess beschleunigen kann.

Höhere Sichtbarkeit der Richtlinien

Durch die Umsetzung von Policy as Code werden die Vorgaben und Richtlinien können Entwickler sehen und verstehen, was in einem System passiert. Durch das Überprüfen der (automatisierten) Policies können sie, sofern berechtigt, schnell und einfach Änderungen vornehmen.

Bessere Zusammenarbeit und Genauigkeit

Die Zusammenarbeit nicht nur im Team, sondern team- und fachbereichsübergreifend wird mit Policy as Code gestärkt. Grund dafür ist die eindeutige und übersichtliche, weil systematisch gehaltene Richtlinienverwaltung, die Schwierigkeiten in der Umsetzung verhindern kann. Zudem können Teams untereinander und bei Übergabe an andere Bereiche Fehler vermeiden und auf diese Weise die Genauigkeit verbessern werden.

Reibungsloseres Testen und Validieren

Als Code beschriebene Richtlinien erlauben anders als die manuelle Umsetzung keinen Interpretationsspielraum. Dadurch ist Policy as Code auch hilfreich, um das Testen und die Validierung von Software zu optimieren. Viele Unsicherheiten und damit einhergehende Fehler, die im manuellen Überprüfen der Policies durchaus vorkommen können, werden so vermieden.

Gesteigerte Effizienz

Richtig umgesetzt sorgen all diese Faktoren dafür, dass die Softwareentwicklung insgesamt reibungsloser abläuft, und das buchstäblich: Typische Kanten der Richtlinien-Umsetzung, an denen sich Codefragmente und Schritte zwischen Teams und Abteilungen typischerweise reiben und für Turbulenzen sorgen, können auf diese Weise gezielt „geschliffen“ werden.

Policy as Code in der Praxis

Bei allen Vorteilen stellt sich die Frage, wie sich Policy as Code in der Praxis umsetzen lässt. Im Grunde geht es darum, die einmal definierten Richtlinien in Form von Code umzusetzen, sprich: Im Prinzip einfache Programme zu schreiben, die diese entsprechend umsetzen. Dabei helfen Policy-Management-Tools mit Policy-as-Code-Unterstützung wie etwa das Open-Source-Tool OpenPolicy,die kommerziellen Anwendungen Sentinel und Cyral oder auch Microsoft Azure.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Entsprechende Tools besitzen in aller Regel eine speziell für die Umsetzung von Policy as Code entwickelte Programmiersprache oder sogar YAML. Grundsätzlich ist die Umsetzung aber auch ohne dedizierte Verwaltungssoftware denkbar. Eine kluge Programmierung des Richtlinien-Managements kann zum Beispiel in modernen höheren Programmiersprachen wie Java, C++ oder Ruby eingesetzt werden.

Verknüpfen und automatisieren

Am Ende des Tages geht es bei Policy as Code darum, das Richtlinien-Management zu automatisieren, Reibungspunkte zu verringern und sämtliche Prozesse in der Software-Entwicklung insgesamt effizienter zu gestalten. Durch die Verknüpfung und Automatisierung der Freigabe- und Zugriffsprozesse sowie der computergestützten Überprüfung auf Einhaltung vorhandener Richtlinien kann die Umsetzung von Policy-as-Code jedes Unternehmen, insbesondere im Bereich der Softwareentwicklung, massiv unterstützen.

(ID:48562921)