be-document-service
Der be-document-service
ist ein Multi-Tenant-Service, der eine strikte Datentrennung der verschiedenen Mandanten sicherstellt. Dabei verwenden alle Mandanten dieselbe technische Infrastruktur, und die Daten liegen in gemeinsamen Buckets (vergleichbar mit Tabellen) innerhalb eines S3-Systems. Der Zugriff auf die Mandantendaten erfolgt streng kontrolliert und nur autorisiert.
Abgeschlossenheit von Transaktionen
Alle Datenzugriffe und -verarbeitungen für Mandanten erfolgen über REST APIs, die dafür sorgen, dass Zugriffe auf spezifische Mandantendaten streng kontrolliert und gesteuert ablaufen. Es wird technisch sichergestellt, dass keine Daten anderer Mandanten lesend oder schreibend betroffen sind.
Systemadministration: Geführt von Dontenwill, kümmert sich u.a. um das Einrichten und Löschen der Mandanten und hat Zugriff auf alle Mandantendaten sowie die technische Protokollierung.
Mandantensystem-Administration: Hier verwaltet der Mandant eigenständig seine Berechtigungen und Konfigurationen. Die Verwaltung erfolgt außerhalb des
be-document-service
. Zugriffe sind für den Mandantensystem-Administrator ausschließlich über die sicheren REST APIs auf denbe-document-service
möglich.
Trennung von Berechtigungskontexten
Mandantendaten werden in einem gemeinsamen Speicherort (Bucket im S3) gespeichert. Um eine strikte Datenisolierung zu erreichen, wird eine Diskriminator-ID (Tenant ID) innerhalb der Ablagestruktur verwendet. Alle Abfragen an S3 filtern somit nur die mandantenspezifischen Daten.
Jeder Mandant kann nur auf seine eigenen Daten zugreifen, und Berechtigungen in einem Mandantensystem beeinflussen keine anderen Mandantensysteme. Dies wird durch einen ausschließlich über REST APIs gesteuerten Zugriff und eine JWT Token basierte Authentifizierung und Autorisierung auf die Daten erreicht.
Trennung von Protokollierungskontexten
Protokolldaten eines Mandanten sind nur für diesen Mandanten zugänglich und erfolgen außerhalb des be-document-service
in der be Kernkomponente. Die Protokollierung der Aktivitäten erfolgt getrennt für jeden Mandanten, sodass die Revisoren nur auf ihre eigenen Log-Daten zugreifen können.
Zusätzlich gibt es eine technische Protokollierung innerhalb des be-document-service
. Diese kann nur von den Systemadministration (Dontenwill) eingesehen werden.
Aufbewahrungszeiten der Dokumente
Die Dauer, für die Dokumente im be-document-service
aufbewahrt werden, kann pro Mandant flexibel konfiguriert werden. Standardmäßig liegt dieser Zeitraum zwischen 1 und 30 Tagen. Es besteht auch die Option, dass Dokumente direkt nach der Übernahme in die Kernanwendung automatisch gelöscht werden.
Durch diese Maßnahmen wird gewährleistet, dass Dokumente nur so lange gespeichert werden, wie notwendig, was eine Erhöhung des Datenschutzes zur Folge hat.
AWS und Azure Dienste
Beteiligte Dienste
AWS Lambda: Verarbeitet eingehende PDF-Dokumente und interagiert mit Azure.
Amazon S3: Speichert PDFs und Analyseergebnisse, organisiert nach Mandanten.
Amazon API Gateway: Stellt die REST API bereit, bei der jeder Mandant einen eigenen API-Key nutzt.
Azure Form Recognizer API: Implementiert die OCR Erkennung. Innerhalb von Azure werden keine Daten gespeichert, sondern nur temporär verarbeitet. Globaler API-Key zur Analyse der Dokumente.
API-Keys
Mandantenspezifische API Keys: Jeder Mandant erhält einen eigenen API Key, um Anfragen über das API Gateway zu authentifizieren.
Globaler Azure API-Key: Ein einziger API-Key wird für die Kommunikation mit der Azure Dokumentintelligenz verwendet. Die Implementierung stellt sicher, dass die Dokumente nur in für den Mandanten relevanten S3 Bereichen gespeichert werden.