Informationen für Fachdienst-Betreiber

Fachdienst-Betreiber nutzen die Software der Fachdienst-Hersteller, ebenso wie die verpflichtend zu nutzenden ZETA-Guard-Komponenten, um einen fachlichen Dienst bereitzustellen.

Betrachtete Nutzungsszenarien

Die ZETA-Nutzungsszenarien für Fachdienst-Betreiber beziehen sich im Wesentlichen auf die Betriebsaspekte und die jeweils umzusetzenden, nichtfunktionalen Aspekte wie Verfügbarkeit und Skalierung.

Dazu werden die ZETA-Guard Komponenten ergänzt um betriebliche Aspekte wie Firewalls, Load Balancer, oder Application Firewalls.

Das folgende Diagram zeigt zwei solcher angenommenen Szenarien:

Betreiber-Szenarien

Hierbei wird Folgendes angenommen:

  • Web Application Firewalls vor dem ZETA-Guard können bei Nutzung von ASL nur die Kommunikation zwischen ZETA-Client und PDP prüfen. Die Kommunikation über den PEP erfolgt über ASL und ist damit nicht für diese Firewall sichtbar
  • Eine Web Application Firewall hinter dem ZETA-Guard kann den Datentransfer zwischen ZETA-Guard und insbesondere direkt vor dem Fachdienst prüfen. Dazu ist es aber erforderlich, dass der Datenverkehr zwischen ZETA-Guard und Fachdienst aufgebrochen werden muss und daher in einer sicheren Umgebung stattfinden muss. Dies ist vom jeweiligen Betreiber bei der Zulassung nachzuweisen.
  • Es existiert ein Fachdienst-Test-Client, der ein ZETA-SDK enthält und durch den Betreiber für Tests genutzt wird. Alternativ kann für Testumgebungen das Setup analog für Fachdienst-Hersteller mit Test-Client und Testdriver im Container genutzt werden
  • Für produktive Nutzung bzw. manuelle Tests existiert ein Client, der das ZETA-SDK bereits enthält.

Die ZETA-Komponenten werden als Container-Images geliefert, und in einem Kubernetes-Cluster betrieben.

Der ZETA-Testdriver wirkt damit mit der Ausnahme des Pfades als transparenter Proxy zwischen Fachdienst-Test-Client und Fachdienst. Der am ZETA-Testdriver-Proxy aufzurufende Pfad erhält dabei das Präfix /proxy, nur der Teil hinter dem Proxy wird an den Fachdienst weitergereicht. Dies erlaubt weitere API Funktionen am Testdriver, mehr Details dazu in der Anleitung zum Testdriver.

Die Skalierung der einzelnen Komponenten kann unabhängig erfolgen und ist in der jeweiligen Betreiberarchitektur nachzuweisen. In diesem Produkthandbuch wird nur die Skalierung der ZETA-Guard Komponenten betrachtet.

Das folgende Diagram zeigt ein einfaches (Mittel) Deployment-Szenario, wobei statt zwei auch mehr Instanzen zusammengeschaltet werden können.

Skaliertes Deployment-Szenario

Hier wird angenommen, dass die Infrastruktur redundant aufgebaut wird. So kann ein Content-Delivery-Network als Vorschaltsystem verwendet werden, um z.B. Denial-of-Service-Attacks abzuwehren, und auch die Requests auf die redundanten Instanzen zu verteilen.

Die Datenbanken der einzelnen ZETA-Guard Instanzen müssen dann zwischen den Instanzen synchronisiert werden.

Auch innerhalb des ZETA-Guard können unterschiedliche Skalierungen z.B. zwischen PEP und PDP verwendet werden. Dies wird durch die Nutzung der Skalierungsfunktionalität des Kubernetes-Clusters ermöglicht. Dadurch können einzelne Workloads transparent unterschiedlich und sogar automatisch skaliert werden.

Das folgende Diagram zeigt als Skalierungsdomainen, welche Komponenten unabhängig voneinander skaliert werden können (unter Berücksichtigung der Lastabhängigkeiten z.B. vom PDP zur Datenbank).

Skalierungsdomainen des ZETA-Guard

Die beiden Domainen für Infinispan und die PDP Datenbank erfordern hierbei besondere Berücksichtigung, da sie Zustandsinformationen zwischen den Instanzen replizieren müssen, während die anderen Komponenten stateless, und damit unabhängig betreibbar/skalierbar sind.

Details dazu finden sich in der Dokumentation der Deployment-Szenarien.

Hinweis: die Datenbanken (infinispan, postgres) werden aktuell mit den Helm-Charts installiert. Die Nutzung externer Datenbanken ist in Wie Sie ZETA Guard in Kubernetes konfigurieren beschrieben.

Die genauen Bedingungen für bestimmte Skalierungen der Datenbanken (Infinispan und PDP Datenbank) befinden sich noch in der Entwicklung.

Systemvoraussetzungen

Als Systemvoraussetzungen werden hier die notwendigen Voraussetzungen genannt, die nur für die ZETA-Komponenten (also ohne die eigentlichen Fachdienst-Komponenten) benötigt werden.

Zugänge

  • Container images

  • TI Dienste (MUSS)
    • OCSP Responder der TI TSL (! d.h. der Responder im Internet nicht der im TI 1.0 Netz)
    • Federation Master (ab Stufe 2)
    • TI-Monitoring
    • TI-SIEM
    • PIP/PAP Repository
  • TI Dienste (Abhängig von Fachdienst, ab Umsetzungsstufe 2)
    • Federated IDP bzw. Sektorale IdPs

Eigene Dienste

  • eigenes container repository (MUSS)
    • für die Bereitstellung der PIP/PAP images
    • Dienstanbieter-Monitoring (Opentelemtry Collector)
    • Dienstanbieter-SIEM
  • anbietereigene Dienste (Abhängig vom Fachdienst, ab Umsetzungsstufe 2)
    • Clientsystem Notification Service(s) – Apple Push Notifications, Firebase
    • Email Confirmation-Code – Mailversand

Infrastruktur

Die Infrastrukturanforderungen sind im Detail beschrieben in der Anleitung, einen ZETA-Guard im Kubernetes zu konfigurieren.

Tooling

  • Kubernetes - kubectl
  • Terraform
  • Helm 4

Konfiguration, Keys

  • Das ZETA-SDK benötigt zum Testen eine valide SM-B Datei aus dem verwendeten Vertrauensraum im p12 Format, wie sie von der gematik bezogen werden kann. Diese kann im Testdriver (proxy) Client konfiguriert werden, um SM-B-basierte Authentifizierung vornehmen zu können, und wird dann im PDP gegen den TI Vertrauensanker (Federation Master, TSL) geprüft.
  • Für ASL-Betrieb des PEP muss ein ECC-Schlüssel (Kurve P256) erstellt und ein entsprechendes Signatur-Zertifikat (Profil C.FD.AUT, technische Rolle oid_zeta-guard) von der gematik bestellt werden. Ferner wird das zugehörige KOMP-CA-Zertifikat benötigt, es wird normalerweise zusammen mit dem Signatur-Zertifikat ausgeliefert.

Die genaue Art der Zertifikatsprüfung – z.B. über Federation Master und/oder Vertrauensanker-Container ist noch in Ausarbeitung der Spezifikation.

Sicherheitsleistungen

Der ZETA-Guard wird als Softwarepaket geliefert, welches durch den Fachdienst-Hersteller in den Fachdienst integriert und durch den Fachdienst-Betreiber betrieben werden muss.

Aus den gematik-Anforderungen ergeben sich (u.a.) Sicherheitsleistungen, die, je nach vertraglichem Verhältnis zwischen Fachdienst-Hersteller und -Betreiber von diesen zu leisten sind.

Diese Sicherheitsleistungen sind in Sicherheitsleistungen Betreiber dargelegt.

Relevante Anleitungen und Referenzen

Die relevanten Anleitungen und Referenzen sind hier verlinkt:

  • Leitszenarien des Deployments des ZETA-Guard für unterschiedliche Fachdienste. Einstiegsdokument, um die verschiedenen Deployment-Szenarien zu verstehen und für den eigenen Fachdienst auszuwählen. Deployment-Szenarien

Als Einstieg eignen sich folgende Dokumente besonders gut:

Für den produktiven Betrieb des ZETA-Guard empfehlen sich zusätzlich folgende Dokumente:

Known Issues und Fehleranalysen

Hier werden noch Informationen zu Rückmeldungen aus der Nutzung eingetragen.

Besonderer Fehlersituationen

Hier werden noch Informationen zu Rückmeldungen aus der Nutzung eingetragen.

Weitere Hinweise

Hier werden noch Informationen zu Rückmeldungen aus der Nutzung eingetragen.

Wartung

Ein definierter Wartungsprozess ist vor Meilenstein 4 aktuell nicht umgesetzt. Updates werden über die Image- bzw. git-Repositories verbreitet.


This site uses Just the Docs, a documentation theme for Jekyll.