Richtlinien-Automatisierung, Teil 2 Policy as Code in der Praxis
Anbieter zum Thema
Mit Policy as Code können Software-Unternehmen die Richtlinien-Einhaltung automatisieren und deutlich optimieren. Hierfür gibt es eine Reihe von Tools, die bei der Umsetzung helfen.

Policy as Code ist eine Möglichkeit, um Business-Prozesse, Sicherheits-Richtlinien oder auch Compliance-Vorgaben von gesprochener Sprache in Form von Dokumenten in Software-Code zu überführen. Dadurch ist es möglich, Prozesse der Software-Entwicklung deutlich zu beschleunigen: Ineffiziente manuelle Kontrollen der Richtlinien-Einhaltung können auf diese Weise automatisiert werden.
Gerade in Organisationen mir mehreren Teams oder Abteilungen, die Änderungen an Software durchführen, erhöht sich der Aufwand für das Policy-Management exorbitant. Die Folge sind Fehler und zusätzliche Korrekturschleifen. Policy as Code kann hier eine Lösung sein oder das Problem zumindest mildern. Zudem lässt sich auf diese Weise sicherstellen, dass Code, der in die Produktion geht, tatsächlich die Vorgaben, insbesondere im Hinblick auf Sicherheit, erfüllt.
Policy as Code umsetzen
Grundsätzlich kann Policy as Code in jeder Organisation umgesetzt werden: Wichtig ist dabei, dass die Richtlinien „programmiert“ werden, also als Code vorliegen. Dazu ist jede moderne Programmiersprache geeignet, abhängig davon, welche Software im jeweiligen Unternehmen zum Einsatz kommt. Viele Software-Unternehmen arbeiten aber inzwischen mit Cloud-Lösungen wie Amazon Web Services (AWS) oder Microsoft Azure. Beide erlauben bereits die Umsetzung des Richtlinien-Managements als Code, jeweils mit eigenen Funktionen zur Umsetzung.
Software für das Policy-Management
Für das Policy-Management existieren aber auch dedizierte Lösungen: Lösungen wie OpenPolicy, Pulumi CrossGuard, Sentinel für die Arbeit mit anderen Anwendungen von Hashicorp, CloudCustodian oder Kyverno. Sie dienen der Umsetzung typischer Richtlinien bei der Software-Entwicklung, etwa Vorgaben der DSGVO (Datenschutz), BfArM (Gesundheitssektor) oder BaFin (Bankensektor).
In all diesen Bereichen ist die Umsetzung vorgegebener Richtlinien aufwändige Pflicht – und eine gute Möglichkeit, Policy as Code einzusetzen, um Anforderungen an Datensicherheit, -übertragung und -speicherung zuverlässig umzusetzen. Natürlich können auch Sicherheitsrichtlinien innerhalb eines Unternehmens oder einer Software als Code umgesetzt werden, genauso wie Richtlinien für die Kosteneffizienz. Die Möglichkeiten sind nahezu unbegrenzt.
Policy as Code in der Praxis
Dabei müssen die Policy as Code-Anwendungen natürlich nicht zwangsläufig komplex sein, die Idee ist ja die hohe Flexibilität und Praktikabilität. Genau deshalb können einfache Policy-as-Code-Anwendungen zum Beispiel einfache Berechtigungsprüfungen oder Workflows enthalten, etwa um neuen Mitarbeitern automatisiert die notwendigen Zugriffsrechte zu gewähren oder neue Deployments auf Richtlinienkonformität, um den korrekten Projektstatus zu überprüfen oder um die Versionierung zu überprüfen.
Software wie OpenPolicy Agent ermöglicht die Erstellung entsprechender simpler Prüfprozesse mit wenigen Zeilen Programmiercode und spart auf diese Weise viel menschliche Interaktion samt entsprechender Fehleranfälligkeit ein. Natürlich muss die als Code umgesetzte Richtlinie selbst fehlerfrei sein: Hier liegt eine der Schattenseiten des Konzepts, denn schmuggelt sich ein Fehler ein, werden die Richtlinien im besten Fall nicht geprüft und im schlechtesten Fall massenhaft falsch umgesetzt. Daher ist eine ausgiebige Prüfung des Policy as Code-Codes wichtig – und die Routinen sollten möglichst einfach gehalten werden, bevor mehrere einfache Policy-Prüfungen zu einem großen Ganzen verknüpft werden.
Möglichkeiten mit Policy as Code
Mit der Idee, komplexe Richtlinien in einfachen Code zu überführen und auf diese Weise Automatismen zu entwerfen, erschließen sich im Grunde unbegrenzte Anwendungsszenarien: Software-Funktionen, Datenbanken oder Kubernetes-Stacks können auf Berechtigungen oder Einhaltung gewisser Datenschutz-Regeln geprüft, Ressourcen effizient getaggt werden. Testing und Versionierung lassen sich automatisieren. Monatliche Kosten der Entwicklung werden automatisch berechnet oder Inhalte und Code-Blöcke, die der Compliance widersprechen, aufgespürt und eliminiert. Ineffiziente und damit kostenintensive Prozesse werden kostenoptimiert. Heutzutage komplexe Berechtigungen können einem Mitarbeiter oder Team mit einem Handgriff vergeben oder entzogen werden. Die Grenze setzt letztlich nur die Kreativität des Teams, das die Überführung der Policies in Code verantwortet – und natürlich die für die Erstellung der Richtlinien zuständige Abteilung oder der Compliance-Bereich im Unternehmen.
Überführung von Richtlinien in Code
Um in menschlicher Sprache gesetzte Richtlinien in Code zu überführen, ist es natürlich notwendig, zunächst die vorhandenen Policies zu sezieren. Wer sich mit der Umsetzung von Policy as Code befasst, muss zunächst die niedergeschriebenen Richtlinien aus gedruckten Dokumenten, PDFs und Wikis auf Konsistenz überprüfen und anschließend in kleine Teilbereiche unterteilen, die ihrerseits auf die Machbarkeit als Code überprüft werden müssen. Manche Teilbereiche – egal ob auf Unternehmens- oder Teamebene – können möglicherweise nicht oder nur sehr aufwändig in Code überführt werden, weshalb es sinnvoll ist, entsprechende Maßnahmen auch im Hinblick auf den vorhandenen Workflow und die möglichen Kosten zu überprüfen.
Nicht in jedem Fall ist es sinnvoll, Prozesse während der Softwareentwicklung zu automatisieren; es ist gut möglich, dass sich manche Bereiche nach wie vor besser für die manuelle Kontrolle anbieten. Dennoch dürften sich im Bereich der Softwareentwicklung eine Reihe von Compliance-Prozessen eine Reihe von Richtlinien schnell und effizient in Code überführen lassen – und dadurch die Softwareentwicklung nicht nur beschleunigen, sondern auch im Hinblick auf Kosten und Sicherheit optimieren.´
(ID:48567494)