SlideShare ist ein Scribd-Unternehmen logo

Policy Driven Microservices mit Open Policy Agent

CloudLand 2023, Juni 2023, Andreas Zitzelsberger & Alex Krause Robustes und sicheres Continuous Deployment braucht getestete Konfigurationen. Manuelle Review-Prozesse sind langsam und eklig. Werkzeuge gibt es viele, alle mit eigenen Konzepten und begrenzten Einsatzbereichen. Genauso schaut es bei Autorisierung und Anwendungskonfiguration aus. Es wäre doch schön, wenn es ein kleines, schlankes Werkzeug gäbe, um Policies überall einheitlich umzusetzen.Der Open Policy Agent (OPA) ist eine generische, cloud-native Open Source Policy Engine. OPA ermöglicht es, Policies einheitlich zu definieren und an vielen Stellen im Betriebs-, Deployment- und Entwicklungs-Stack umzusetzen, unter anderem für Autorisierung, Prüfung von Konfigurationen, Admission Control oder jeder anderen Art von Policies.

1 von 17
Downloaden Sie, um offline zu lesen
qaware.de
Eine Einführung in den
Open Policy Agent (OPA)
Andreas Zitzelsberger
andreas.zitzelsberger@qaware.de
Klassifizierung: Awesome
Eine Einführung in den Open Policy Agent (OPA)
Ihr braucht einen Laptop
2
https://t.ly/zWsh
QAware
Vorbrenner: Was ist eine Policy?
■ Eine Policy ist eine Funktion der Form f:Input -> Output
– Ohne Nebeneffekte
– Input / Output können strukturierte Daten sein.
■ Sinn: Eine Policy definiert Regelwissen formal.
■ Beispiele:
– Nur authentifizierte Benutzer dürfen den Dienst benutzen.
– Nutzer der Gruppe "Premium" können 8 requests/min stellen, andere nur 2.
– Zwischen 18:00 und 6:00 dürfen nur Mitglieder der "on-call"- Gruppe auf das System zugreifen
■ Policy ≠ Business Rule
■ Business Rule = Policy + Wirkung
3
QAware
Welche Probleme wollen wir lösen?
■ Einheitliche Policies,
– Die auf eine Art und Weise definiert
– und verwaltet werden.
■ Entkopplung: Policy-Entscheidung und Durchsetzung trennen. Policies raus aus den Anwendungen holen
■ Robuste und sichere Konfigurationen
– für Continuous Deployment
– und alles andere
■ Reviews automatisieren
■ Regeln für Regel-basierte Autorisierung (RuBAC) definieren
4
QAware
Was ist der Open Policy Agent?
5
■ Generische Policy-Engine
■ FOSS, Apache-2.0 Lizenz, CNCF Projekt
■ Wesentlicher Backer: Styra, baut Produkte auf OPA
auf (Styra DAS)
■ Ein Executable
■ Gebaut in Go
■ Betrieb zentral oder verteilt
■ Eigene Policy-Sprache "Rego"
■ Reichhaltige Standard Library
■ Eingebautes Testing, Benchmarking
■ Direkte Unterstützung von JWT, OAuth, OpenID
Connect
■ Schnittstellen zur Verwaltung
■ Breites Ökosystem
Quelle: OPA Dokumentation
QAware
Was bietet OPA zur Verwaltung?
■ OPA bietet eine Satz an Verwaltungs-Schnittstellen
■ Der OPA Agent ist immer der nutzende Part
■ Es gibt keine fertige Control Plane
■ Schnittstellen:
– Policy distribution (Bundles)
– Decision telemetry (Decision Logs)
– Agent telemetry (Status)
– Dynamic agent configuration (Discovery)
6
Quelle: OPA Dokumentation
QAware
Wie schaut das Ökosystem asus?
7
Beispiele
■ conftest - Standalone Validierung strukturierter
Daten
■ gatekeeper - Kubernetes Admission Control
■ Envoy, Istio - Proxy & Service Mesh Validierung
■ Spring Security - Autorisierung in der Anwendung
■ Pulumi CrossGuard - Cross-Plane
Infrastruktur-Policies
■ Kafka - Autorisierung, Message Filtering
https://www.openpolicyagent.org/docs/latest/ecosystem/
QAware
qaware.de
Hands-On:
Kubernetes Admission Control mit
OPA gatekeeper und der gator CLI
Alex Krause
alex.krause@qaware.de
Klassifizierung: Awesome
Gatekeeper
9
QAware
Gatekeeper
10
QAware
Aufgabe:
Alle Resourcen müssen Tags haben!
11
https://github.com/neiser/conftest-terraform-demo/tree/demo/01-tags
Tip für die erste Zeile:
resource = input.resource[type][name]
QAware
qaware.de
Hands-On:
Conftest mit Terraform
Alex Krause
alex.krause@qaware.de
Klassifizierung: Awesome
Hands-On Conftest mit Terraform
13
■ Terraform configuration kann mit
conftest geprüft werden
■ conftest überführt *.tf Datei als
strukturierte Daten in ein “input” Objekt
gegen das Rego Policies wirken
■ conftest bietet Tests für Policies an
(auch in Rego geschrieben)
https://www.conftest.dev/
QAware
Aufgabe:
Alle Resourcen müssen Tags haben!
14
https://github.com/neiser/conftest-terraform-demo/tree/demo/01-tags
Tip für die erste Zeile:
resource = input.resource[type][name]
QAware
qaware.de
Hands-On:
OPA in Spring Boot
Andreas Zitzelsberger
andreas.zitzelsberger@qaware.de
Klassifizierung: Awesome
Wir sichern einen Microservice mit OPA
16
QAware
Wir legen eine OAuth-Application auf GitHub an
17
1. Gehe zu
“Settings”
-> “Developer Settings”
-> “OAuth Apps”
2. “New OAuth App”, Ausfüllen, “Register application”
a. Homepage URL:
http://localhost:8080
b. Authorization callback URL:
http://localhost:8080/_renarde/security/github-success
3. “Generate a new client secret”
4. Secret und Client Id in .env-File kopieren
Siehe auch:
https://quarkus.io/guides/security-openid-connect-providers
QAware

Recomendados

Enterprise-level Kubernetes Security mit Open Source Tools - geht das?
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?Enterprise-level Kubernetes Security mit Open Source Tools - geht das?
Enterprise-level Kubernetes Security mit Open Source Tools - geht das?QAware GmbH
 
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse
Observability: Der Schlüssel für Threat Detection, Mitigation und Analyse QAware GmbH
 
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität2023-08_RPA-ChapterEvent_Überprüfung-der-Codequalität
2023-08_RPA-ChapterEvent_Überprüfung-der-CodequalitätFotiosKaramitsos
 
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...
OSMC 2013 | Enterprise Platforms Monitoring at s IT Solutions AT by Johannes ...NETWAYS
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
Integrations-Pattern für OpenID Connect
Integrations-Pattern für OpenID ConnectIntegrations-Pattern für OpenID Connect
Integrations-Pattern für OpenID ConnectQAware GmbH
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 

Más contenido relacionado

Ähnlich wie Policy Driven Microservices mit Open Policy Agent

Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...QAware GmbH
 
OSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol Ülükmen
OSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol ÜlükmenOSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol Ülükmen
OSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol ÜlükmenNETWAYS
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenFotiosKaramitsos
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsmatfsw
 
IBM Lotus Notes Domino Security mit ITIL | C.Habermueller
IBM Lotus Notes Domino Security mit ITIL | C.HabermuellerIBM Lotus Notes Domino Security mit ITIL | C.Habermueller
IBM Lotus Notes Domino Security mit ITIL | C.HabermuellerChristian Habermueller
 
Domino Security mit ITIL | C.Habermueller
Domino Security mit ITIL | C.HabermuellerDomino Security mit ITIL | C.Habermueller
Domino Security mit ITIL | C.HabermuellerChristian Habermueller
 
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...QAware GmbH
 
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsWindows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsFabian Niesen
 
Industrie 4.0 Checkliste
Industrie 4.0 ChecklisteIndustrie 4.0 Checkliste
Industrie 4.0 ChecklisteSrenRose1
 
Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)CollabNet
 
ApplicationPro Flyer deutsch
ApplicationPro Flyer deutschApplicationPro Flyer deutsch
ApplicationPro Flyer deutschcynapspro GmbH
 
Wie bekommen Sie den Asset Lifecycle wirklich rund?
 Wie bekommen Sie den Asset Lifecycle wirklich rund? Wie bekommen Sie den Asset Lifecycle wirklich rund?
Wie bekommen Sie den Asset Lifecycle wirklich rund?MAXXYS AG
 
CCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18nCCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18nCommunardo GmbH
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonDynatrace
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschcynapspro GmbH
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschcynapspro GmbH
 

Ähnlich wie Policy Driven Microservices mit Open Policy Agent (20)

Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
 
OSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol Ülükmen
OSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol ÜlükmenOSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol Ülükmen
OSMC 2012 | Monitoring der IT-Infrastruktur mit opsi by Erol Ülükmen
 
DevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigenDevOps: Automatisieren, was wir predigen
DevOps: Automatisieren, was wir predigen
 
Lizenzmanagement in der Praxis
Lizenzmanagement in der PraxisLizenzmanagement in der Praxis
Lizenzmanagement in der Praxis
 
Architektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOpsArchitektur und Automation als Enabler für DevOps
Architektur und Automation als Enabler für DevOps
 
IBM Lotus Notes Domino Security mit ITIL | C.Habermueller
IBM Lotus Notes Domino Security mit ITIL | C.HabermuellerIBM Lotus Notes Domino Security mit ITIL | C.Habermueller
IBM Lotus Notes Domino Security mit ITIL | C.Habermueller
 
Domino Security mit ITIL | C.Habermueller
Domino Security mit ITIL | C.HabermuellerDomino Security mit ITIL | C.Habermueller
Domino Security mit ITIL | C.Habermueller
 
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
Anwendungsübergreifende Authentifizierung: Integrations-Pattern für OpenID Co...
 
QUANTO Solutions Q-SEC
QUANTO Solutions Q-SECQUANTO Solutions Q-SEC
QUANTO Solutions Q-SEC
 
QUANTO Solutions Q-GO
QUANTO Solutions Q-GOQUANTO Solutions Q-GO
QUANTO Solutions Q-GO
 
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop AnalyticsWindows as a Service - Herausforderungen ohne Windows Desktop Analytics
Windows as a Service - Herausforderungen ohne Windows Desktop Analytics
 
Industrie 4.0 Checkliste
Industrie 4.0 ChecklisteIndustrie 4.0 Checkliste
Industrie 4.0 Checkliste
 
Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)
 
ApplicationPro Flyer deutsch
ApplicationPro Flyer deutschApplicationPro Flyer deutsch
ApplicationPro Flyer deutsch
 
Wie bekommen Sie den Asset Lifecycle wirklich rund?
 Wie bekommen Sie den Asset Lifecycle wirklich rund? Wie bekommen Sie den Asset Lifecycle wirklich rund?
Wie bekommen Sie den Asset Lifecycle wirklich rund?
 
Kirchner + Robrecht-White Paper "IT-Systeme erfolgreich auswählen"
Kirchner + Robrecht-White Paper "IT-Systeme erfolgreich auswählen"Kirchner + Robrecht-White Paper "IT-Systeme erfolgreich auswählen"
Kirchner + Robrecht-White Paper "IT-Systeme erfolgreich auswählen"
 
CCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18nCCD 2013: JIRA goes i18n
CCD 2013: JIRA goes i18n
 
Kritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit BisonKritische app performance erfolgreich optimieren mit Bison
Kritische app performance erfolgreich optimieren mit Bison
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutsch
 
CryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutschCryptionPro HDD Flyer deutsch
CryptionPro HDD Flyer deutsch
 

Mehr von QAware GmbH

Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureQAware GmbH
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!QAware GmbH
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightQAware GmbH
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAsQAware GmbH
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo QAware GmbH
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...QAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.QAware GmbH
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!QAware GmbH
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPQAware GmbH
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.QAware GmbH
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysQAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster QAware GmbH
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration TestsQAware GmbH
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterAus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterQAware GmbH
 
Cloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertCloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertQAware GmbH
 
Security Lab: OIDC in der Praxis
Security Lab: OIDC in der PraxisSecurity Lab: OIDC in der Praxis
Security Lab: OIDC in der PraxisQAware GmbH
 
Die nächsten 100 Microservices
Die nächsten 100 MicroservicesDie nächsten 100 Microservices
Die nächsten 100 MicroservicesQAware GmbH
 
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...QAware GmbH
 
HTTP/3 und QUIC Making the internet faster
HTTP/3 und QUIC Making the internet fasterHTTP/3 und QUIC Making the internet faster
HTTP/3 und QUIC Making the internet fasterQAware GmbH
 

Mehr von QAware GmbH (20)

Down the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile ArchitectureDown the Ivory Tower towards Agile Architecture
Down the Ivory Tower towards Agile Architecture
 
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!"Mixed" Scrum-Teams – Die richtige Mischung macht's!
"Mixed" Scrum-Teams – Die richtige Mischung macht's!
 
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit PlaywrightDer Tod der Testpyramide? – Frontend-Testing mit Playwright
Der Tod der Testpyramide? – Frontend-Testing mit Playwright
 
Was kommt nach den SPAs
Was kommt nach den SPAsWas kommt nach den SPAs
Was kommt nach den SPAs
 
Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo Cloud Migration mit KI: der Turbo
Cloud Migration mit KI: der Turbo
 
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See... Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
Migration von stark regulierten Anwendungen in die Cloud: Dem Teufel die See...
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
Endlich gute API Tests. Boldly Testing APIs Where No One Has Tested Before.
 
Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!Kubernetes with Cilium in AWS - Experience Report!
Kubernetes with Cilium in AWS - Experience Report!
 
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAPKontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
Kontinuierliche Sicherheitstests für APIs mit Testkube und OWASP ZAP
 
Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.Blue turns green! Approaches and technologies for sustainable K8s clusters.
Blue turns green! Approaches and technologies for sustainable K8s clusters.
 
Per Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API GatewaysPer Anhalter zu Cloud Nativen API Gateways
Per Anhalter zu Cloud Nativen API Gateways
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
How to speed up Spring Integration Tests
How to speed up Spring Integration TestsHow to speed up Spring Integration Tests
How to speed up Spring Integration Tests
 
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-ClusterAus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
Aus blau wird grün! Ansätze und Technologien für nachhaltige Kubernetes-Cluster
 
Cloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniertCloud Migration – Eine Strategie die funktioniert
Cloud Migration – Eine Strategie die funktioniert
 
Security Lab: OIDC in der Praxis
Security Lab: OIDC in der PraxisSecurity Lab: OIDC in der Praxis
Security Lab: OIDC in der Praxis
 
Die nächsten 100 Microservices
Die nächsten 100 MicroservicesDie nächsten 100 Microservices
Die nächsten 100 Microservices
 
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
Put the ‘Auto’ in Autoscaling – Make Kubernetes VPA and HPA work together for...
 
HTTP/3 und QUIC Making the internet faster
HTTP/3 und QUIC Making the internet fasterHTTP/3 und QUIC Making the internet faster
HTTP/3 und QUIC Making the internet faster
 

Policy Driven Microservices mit Open Policy Agent

  • 1. qaware.de Eine Einführung in den Open Policy Agent (OPA) Andreas Zitzelsberger andreas.zitzelsberger@qaware.de Klassifizierung: Awesome
  • 2. Eine Einführung in den Open Policy Agent (OPA) Ihr braucht einen Laptop 2 https://t.ly/zWsh QAware
  • 3. Vorbrenner: Was ist eine Policy? ■ Eine Policy ist eine Funktion der Form f:Input -> Output – Ohne Nebeneffekte – Input / Output können strukturierte Daten sein. ■ Sinn: Eine Policy definiert Regelwissen formal. ■ Beispiele: – Nur authentifizierte Benutzer dürfen den Dienst benutzen. – Nutzer der Gruppe "Premium" können 8 requests/min stellen, andere nur 2. – Zwischen 18:00 und 6:00 dürfen nur Mitglieder der "on-call"- Gruppe auf das System zugreifen ■ Policy ≠ Business Rule ■ Business Rule = Policy + Wirkung 3 QAware
  • 4. Welche Probleme wollen wir lösen? ■ Einheitliche Policies, – Die auf eine Art und Weise definiert – und verwaltet werden. ■ Entkopplung: Policy-Entscheidung und Durchsetzung trennen. Policies raus aus den Anwendungen holen ■ Robuste und sichere Konfigurationen – für Continuous Deployment – und alles andere ■ Reviews automatisieren ■ Regeln für Regel-basierte Autorisierung (RuBAC) definieren 4 QAware
  • 5. Was ist der Open Policy Agent? 5 ■ Generische Policy-Engine ■ FOSS, Apache-2.0 Lizenz, CNCF Projekt ■ Wesentlicher Backer: Styra, baut Produkte auf OPA auf (Styra DAS) ■ Ein Executable ■ Gebaut in Go ■ Betrieb zentral oder verteilt ■ Eigene Policy-Sprache "Rego" ■ Reichhaltige Standard Library ■ Eingebautes Testing, Benchmarking ■ Direkte Unterstützung von JWT, OAuth, OpenID Connect ■ Schnittstellen zur Verwaltung ■ Breites Ökosystem Quelle: OPA Dokumentation QAware
  • 6. Was bietet OPA zur Verwaltung? ■ OPA bietet eine Satz an Verwaltungs-Schnittstellen ■ Der OPA Agent ist immer der nutzende Part ■ Es gibt keine fertige Control Plane ■ Schnittstellen: – Policy distribution (Bundles) – Decision telemetry (Decision Logs) – Agent telemetry (Status) – Dynamic agent configuration (Discovery) 6 Quelle: OPA Dokumentation QAware
  • 7. Wie schaut das Ökosystem asus? 7 Beispiele ■ conftest - Standalone Validierung strukturierter Daten ■ gatekeeper - Kubernetes Admission Control ■ Envoy, Istio - Proxy & Service Mesh Validierung ■ Spring Security - Autorisierung in der Anwendung ■ Pulumi CrossGuard - Cross-Plane Infrastruktur-Policies ■ Kafka - Autorisierung, Message Filtering https://www.openpolicyagent.org/docs/latest/ecosystem/ QAware
  • 8. qaware.de Hands-On: Kubernetes Admission Control mit OPA gatekeeper und der gator CLI Alex Krause alex.krause@qaware.de Klassifizierung: Awesome
  • 11. Aufgabe: Alle Resourcen müssen Tags haben! 11 https://github.com/neiser/conftest-terraform-demo/tree/demo/01-tags Tip für die erste Zeile: resource = input.resource[type][name] QAware
  • 12. qaware.de Hands-On: Conftest mit Terraform Alex Krause alex.krause@qaware.de Klassifizierung: Awesome
  • 13. Hands-On Conftest mit Terraform 13 ■ Terraform configuration kann mit conftest geprüft werden ■ conftest überführt *.tf Datei als strukturierte Daten in ein “input” Objekt gegen das Rego Policies wirken ■ conftest bietet Tests für Policies an (auch in Rego geschrieben) https://www.conftest.dev/ QAware
  • 14. Aufgabe: Alle Resourcen müssen Tags haben! 14 https://github.com/neiser/conftest-terraform-demo/tree/demo/01-tags Tip für die erste Zeile: resource = input.resource[type][name] QAware
  • 15. qaware.de Hands-On: OPA in Spring Boot Andreas Zitzelsberger andreas.zitzelsberger@qaware.de Klassifizierung: Awesome
  • 16. Wir sichern einen Microservice mit OPA 16 QAware
  • 17. Wir legen eine OAuth-Application auf GitHub an 17 1. Gehe zu “Settings” -> “Developer Settings” -> “OAuth Apps” 2. “New OAuth App”, Ausfüllen, “Register application” a. Homepage URL: http://localhost:8080 b. Authorization callback URL: http://localhost:8080/_renarde/security/github-success 3. “Generate a new client secret” 4. Secret und Client Id in .env-File kopieren Siehe auch: https://quarkus.io/guides/security-openid-connect-providers QAware