OPA: Eine allgemeine Richtlinien-Engine für Cloud-native

Wenn Ihr Unternehmen die Cloud nutzt, stellen Sie möglicherweise fest, dass die Dynamik und Skalierbarkeit des Cloud-nativen Stacks eine weitaus kompliziertere Sicherheits- und Compliance-Landschaft erfordert. Mit der zunehmenden Verbreitung von Container-Orchestrierungsplattformen wie Kubernetes haben Entwickler und Entwicklerteams beispielsweise eine neue Verantwortung für Richtlinienbereiche wie die Zugangskontrolle sowie für traditionellere Bereiche wie Computing, Storage und Networking. In der Zwischenzeit erfordert jede Anwendung, jeder Microservice oder jedes Service-Mesh ihre eigenen Autorisierungsrichtlinien, für die Entwickler am Haken sind.

Aus diesen Gründen wird nach einer einfacheren und zeiteffizienteren Methode zum Erstellen, Durchsetzen und Verwalten von Richtlinien in der Cloud gesucht. Geben Sie Open Policy Agent (OPA) ein. OPA wurde vor vier Jahren als Open-Source-Engine für domänenunabhängige Richtlinien entwickelt und wird zum De-facto-Standard für Cloud-native Richtlinien. Tatsächlich wird OPA bereits in der Produktion von Unternehmen wie Netflix, Pinterest und Goldman Sachs für Anwendungsfälle wie Kubernetes Zulassungskontrolle und Microservices API-Autorisierung eingesetzt. OPA unterstützt auch viele der Cloud-nativen Tools, die Sie bereits kennen und lieben, einschließlich der Atlassian-Suite und Chef Automate.

[Auch auf: Wo Site Reliability Engineering auf Entwickler trifft]

OPA bietet Cloud-nativen Organisationen eine einheitliche Richtliniensprache, sodass Autorisierungsentscheidungen auf gemeinsame Weise über Apps, APIs, Infrastrukturen und mehr hinweg ausgedrückt werden können, ohne dass maßgeschneiderte Richtlinien in jede dieser verschiedenen Sprachen und Tools einzeln fest codiert werden müssen . Da OPA speziell für die Autorisierung entwickelt wurde, bietet es eine wachsende Sammlung von Leistungsoptimierungen, sodass Richtlinienautoren die meiste Zeit damit verbringen können, korrekte, wartbare Richtlinien zu schreiben und die Leistung OPA zu überlassen.

Die OPA-Autorisierungsrichtlinie hat viele, viele Anwendungsfälle im gesamten Stapel - von der Platzierung von Leitplanken um die Container-Orchestrierung über die Steuerung des SSH-Zugriffs bis hin zur Bereitstellung einer kontextbasierten Service-Mesh-Autorisierung. Es gibt jedoch drei beliebte Anwendungsfälle, die vielen OPA-Benutzern eine gute Startrampe bieten: Anwendungsautorisierung, Kubernetes-Zulassungskontrolle und Microservices. 

OPA für die Antragsgenehmigung

Autorisierungsrichtlinien sind allgegenwärtig, da praktisch jede Anwendung dies erfordert. Entwickler rollen jedoch normalerweise ihren eigenen Code, was nicht nur zeitaufwändig ist, sondern auch zu einem Patchwork-Quilt von Tools und Richtlinien führt, die schwer zu warten sind. Während die Autorisierung für jede App von entscheidender Bedeutung ist, bedeutet der Zeitaufwand für die Erstellung von Richtlinien weniger Zeit für die Konzentration auf benutzerbezogene Funktionen.

OPA verwendet eine speziell entwickelte deklarative Richtliniensprache, die die Entwicklung von Autorisierungsrichtlinien vereinfacht. Sie können beispielsweise Richtlinien so einfach erstellen und durchsetzen wie "Sie können keine personenbezogenen Daten lesen, wenn Sie ein Auftragnehmer sind" oder "Jane kann auf dieses Konto zugreifen". Aber das ist erst der Anfang. Da OPA kontextsensitiv ist, können Sie auch Richtlinien erstellen, die alles auf dem Planeten berücksichtigen - wie z. B. „Aktiengeschäfte, die in der letzten Stunde des Handelstages angefordert wurden und zu einer Transaktion von über einer Million Dollar führen, können nur am ausgeführt werden bestimmte Dienste in einem bestimmten Namespace. “

Natürlich haben viele Organisationen bereits eine maßgeschneiderte Autorisierung. Wenn Sie jedoch hoffen, Ihre Anwendungen zu zerlegen und Microservices in der Cloud zu skalieren und gleichzeitig die Effizienz für Entwickler zu erhalten, ist ein verteiltes Autorisierungssystem erforderlich. Für viele ist OPA das fehlende Puzzleteil.

OPA für Kubernetes Zulassungskontrolle

Viele Benutzer verwenden OPA auch, um Leitplanken für Kubernetes zu erstellen. Kubernetes selbst ist zum Mainstream und unternehmenskritisch geworden, und Unternehmen suchen nach Möglichkeiten, Sicherheitsleitplanken zu definieren und zu implementieren, um das Sicherheits- und Compliance-Risiko zu verringern. Mithilfe von OPA können Administratoren klare Richtlinien festlegen, damit Entwickler die Pipeline-Produktion beschleunigen und neue Services schnell auf den Markt bringen können, ohne sich um Betriebs-, Sicherheits- oder Compliance-Risiken sorgen zu müssen.

OPA kann verwendet werden, um Richtlinien zu erstellen, die Eingriffe ablehnen, die denselben Hostnamen verwenden oder bei denen alle Container-Images aus einer vertrauenswürdigen Registrierung stammen müssen, oder um sicherzustellen, dass der gesamte Speicher immer mit dem Verschlüsselungsbit gekennzeichnet ist oder dass jede App verfügbar gemacht wird Verwenden Sie im Internet einen genehmigten Domainnamen, um nur einige Beispiele zu nennen.

Da OPA direkt in den Kubernetes-API-Server integriert ist, kann es jede Ressource ablehnen, die von der Richtlinie nicht zugelassen wird, und zwar über Computer, Netzwerk, Speicher usw. hinweg. Besonders vorteilhaft für Entwickler ist, dass Sie diese Richtlinien früher im Entwicklungszyklus verfügbar machen können, z. B. in der CI / CD-Pipeline, damit Entwickler frühzeitig Feedback erhalten und Probleme vor der Laufzeit beheben können. Darüber hinaus können Sie Ihre Richtlinien sogar außerhalb des Bandes validieren, um sicherzustellen, dass sie ihre beabsichtigte Wirkung erzielen und nicht versehentlich Probleme verursachen.

OPA für Microservices

Schließlich ist OPA sehr beliebt geworden, um Unternehmen bei der Steuerung ihrer Microservices- und Service-Mesh-Architekturen zu unterstützen. Mit OPA können Sie Autorisierungsrichtlinien direkt für einen Microservice (normalerweise als Beiwagen) erstellen und durchsetzen, Service-to-Service-Richtlinien innerhalb des Service-Netzes erstellen oder aus Sicherheitsgründen Richtlinien erstellen, die die seitliche Bewegung innerhalb des Service-Netzes begrenzen die Architektur.

Erstellen einer einheitlichen Richtlinie für Cloud-native Architekturen

Im Allgemeinen besteht das übergeordnete Ziel bei der Verwendung von OPA darin, einen einheitlichen Ansatz für die Erstellung von Richtlinien in Ihrem Cloud-nativen Stack zu erstellen. Sie müssen Richtlinien also nicht kontinuierlich an Dutzenden von Standorten mithilfe verschiedener Sprachen und Ansätze über eine Anzeige verwalten. Hoc-Mix aus Stammeswissen, Wikis und PDFs oder ein Durcheinander nicht übereinstimmender Tools.

[Ebenfalls zu: 7 Best Practices für agile Remote-Teams]

Abgesehen von der Vereinfachung der Entwicklung und der Beschleunigung der Bereitstellung ist dies auch eine große Neuigkeit für die Sicherheit, da OPA die Anzahl der Tools verringert, die Sie überprüfen müssen, wenn Sie beispielsweise den Verdacht haben, dass nicht autorisierter Zugriff versucht wurde. In ähnlicher Weise erleichtert OPA sowohl aus betrieblicher als auch aus Compliance-Sicht das Abrufen und Analysieren von Informationen in einer heterogenen Umgebung. So können Sie Probleme schnell identifizieren und schneller lösen.

Entwickler sind auf der Suche nach einer einfacheren und effizienteren Möglichkeit, richtlinienbasierte Steuerelemente für ihre Cloud-nativen Umgebungen zu erstellen und zu verwalten. Für viele ist diese Lösung OPA. Wenn Sie die Autorisierungsrichtlinie an mehreren Stellen, in mehreren Sprachen oder in mehreren Teams berühren, kann OPA dazu beitragen, Redundanz zu vermeiden und die Zustellung für Sie zu beschleunigen, genau wie für sie.

Tim Hinrichs ist Mitbegründer des Open Policy Agent-Projekts und CTO von Styra. Zuvor war er Mitbegründer des OpenStack Congress-Projekts und Software-Ingenieur bei VMware. Tim hat die letzten 18 Jahre damit verbracht, deklarative Sprachen für verschiedene Bereiche wie Cloud Computing, softwaredefiniertes Netzwerk, Konfigurationsmanagement, Websicherheit und Zugriffskontrolle zu entwickeln. Er erhielt seinen Ph.D. in Informatik an der Stanford University im Jahr 2008.

- -

Das New Tech Forum bietet einen Ort, an dem Sie neue Unternehmenstechnologien in beispielloser Tiefe und Breite erkunden und diskutieren können. Die Auswahl ist subjektiv, basierend auf unserer Auswahl der Technologien, die wir für wichtig und für die Leser von größtem Interesse halten. akzeptiert keine Marketingmaterialien zur Veröffentlichung und behält sich das Recht vor, alle eingebrachten Inhalte zu bearbeiten. Senden Sie alle Anfragen an [email protected]