Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie eine serverlose Architektur mit mehreren Mandanten in Amazon Service OpenSearch
Erstellt von Tabby Ward (AWS) und Nisha Gambhir () AWS
Umgebung: PoC oder Pilot | Technologien: Modernisierung; SaaS; Serverlos | Arbeitslast: Open Source |
AWSDienste: Amazon OpenSearch Service; AWS Lambda; Amazon S3; Amazon Gateway API |
Übersicht
Amazon OpenSearch Service ist ein verwalteter Service, der die Bereitstellung, den Betrieb und die Skalierung von Elasticsearch, einer beliebten Open-Source-Such- und Analyse-Engine, vereinfacht. Amazon OpenSearch Service bietet Freitextsuche sowie Erfassung und Dashboarding nahezu in Echtzeit für Streaming-Daten wie Logs und Metriken.
Anbieter von Software as a Service (SaaS) nutzen Amazon OpenSearch Service häufig, um eine Vielzahl von Anwendungsfällen abzudecken, z. B. um Kundeninformationen auf skalierbare und sichere Weise zu gewinnen und gleichzeitig Komplexität und Ausfallzeiten zu reduzieren.
Die Verwendung von Amazon OpenSearch Service in einer Umgebung mit mehreren Mandanten bringt eine Reihe von Überlegungen mit sich, die sich auf die Partitionierung, Isolierung, Bereitstellung und Verwaltung Ihrer SaaS-Lösung auswirken. SaaS-Anbieter müssen überlegen, wie sie ihre Elasticsearch-Cluster bei sich ständig ändernden Workloads effektiv skalieren können. Sie müssen auch berücksichtigen, wie sich Stufenbildung und laute Nachbarschaftsbedingungen auf ihr Partitionierungsmodell auswirken könnten.
In diesem Muster werden die Modelle untersucht, die zur Darstellung und Isolierung von Mandantendaten mit Elasticsearch-Konstrukten verwendet werden. Darüber hinaus konzentriert sich das Muster auf eine einfache serverlose Referenzarchitektur als Beispiel, um die Indizierung und Suche mithilfe von Amazon OpenSearch Service in einer Umgebung mit mehreren Mandanten zu demonstrieren. Es implementiert das Pool-Datenpartitionierungsmodell, das denselben Index für alle Mandanten verwendet und gleichzeitig die Datenisolierung eines Mandanten gewährleistet. Dieses Muster verwendet die folgenden Amazon Web Services (AWS) -Dienste: Amazon API Gateway, AWS Lambda, Amazon Simple Storage Service (Amazon S3) und Amazon OpenSearch Service.
Weitere Informationen zum Poolmodell und anderen Datenpartitionierungsmodellen finden Sie im Abschnitt Zusätzliche Informationen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives Konto AWS
AWSCommand Line Interface (AWSCLI) Version 2.x, installiert und konfiguriert auf macOS, Linux oder Windows
pip3
— Der Python-Quellcode wird als ZIP-Datei zur Bereitstellung in einer Lambda-Funktion bereitgestellt. Wenn Sie den Code lokal verwenden oder anpassen möchten, gehen Sie wie folgt vor, um den Quellcode zu entwickeln und neu zu kompilieren: Generieren Sie die
requirements.txt
Datei, indem Sie den folgenden Befehl im selben Verzeichnis wie die Python-Skripte ausführen:pip3 freeze > requirements.txt
Installieren Sie die Abhängigkeiten:
pip3 install -r requirements.txt
Einschränkungen
Dieser Code läuft in Python und unterstützt derzeit keine anderen Programmiersprachen.
Die Beispielanwendung bietet keine AWS regionsübergreifende Unterstützung oder Unterstützung für Disaster Recovery (DR).
Dieses Muster dient nur zu Demonstrationszwecken. Es ist nicht für die Verwendung in einer Produktionsumgebung vorgesehen.
Architektur
Das folgende Diagramm veranschaulicht die allgemeine Architektur dieses Musters. Die Architektur umfasst Folgendes:
AWSLambda zum Indizieren und Abfragen des Inhalts
Amazon OpenSearch Service zur Durchführung der Suche
Amazon API Gateway, um eine API Interaktion mit dem Benutzer zu ermöglichen
Amazon S3 zum Speichern von Rohdaten (nicht indexiert)
Amazon CloudWatch zur Überwachung von Protokollen
AWSIdentity and Access Management (IAM) zur Erstellung von Mandantenrollen und Richtlinien
Automatisierung und Skalierung
Der Einfachheit halber wird das Muster für AWS CLI die Bereitstellung der Infrastruktur und für die Bereitstellung des Beispielcodes verwendet. Sie können eine AWS CloudFormation Vorlage oder AWS Cloud Development Kit (AWSCDK) -Skripts erstellen, um das Muster zu automatisieren.
Tools
AWSDienste
AWSCLI— AWS Command Line Interface (AWSCLI) ist ein einheitliches Tool zur Verwaltung von AWS Diensten und Ressourcen mithilfe von Befehlen in Ihrer Befehlszeilen-Shell.
AWSLambda
— AWS Lambda ist ein Rechendienst, mit dem Sie Code ausführen können, ohne Server bereitzustellen oder zu verwalten. Lambda führt Ihren Code nur bei Bedarf aus und skaliert automatisch – von einigen Anforderungen pro Tag bis zu Tausenden pro Sekunde. Amazon API Gateway
— Amazon API Gateway ist ein AWS Service für die Erstellung, Veröffentlichung, Wartung, Überwachung und Sicherung RESTHTTP, und zwar WebSocket APIs in jeder Größenordnung. Amazon S3 — Amazon Simple Storage Service (Amazon S3) ist ein Objektspeicherservice, mit dem Sie jederzeit und von überall im Internet eine beliebige Menge an Informationen speichern und abrufen können.
Amazon OpenSearch Service
— Amazon OpenSearch Service ist ein vollständig verwalteter Service, der es Ihnen leicht macht, Elasticsearch kostengünstig und skalierbar bereitzustellen, zu sichern und auszuführen.
Code
Der Anhang enthält Beispieldateien für dieses Muster. Dazu zählen:
index_lambda_package.zip
— Die Lambda-Funktion für die Indizierung von Daten in Amazon OpenSearch Service mithilfe des Pool-Modells.search_lambda_package.zip
— Die Lambda-Funktion für die Suche nach Daten in Amazon OpenSearch Service.Tenant-1-data
— Beispiel für Rohdaten (nicht indexiert) für Tenant-1.Tenant-2-data
— Stichprobe von Rohdaten (nicht indexiert) für Tenant-2.
Wichtig: Die Geschichten in diesem Muster enthalten CLI Befehlsbeispiele, die für Unix, Linux und macOS formatiert sind. Ersetzen Sie unter Windows den umgekehrten Schrägstrich (\), das Unix-Fortsetzungszeichen, am Ende jeder Zeile durch ein Caret-Zeichen oder Zirkumflex (^).
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen S3-Bucket. | Erstellen Sie einen S3-Bucket in Ihrer AWS Region. Dieser Bucket enthält die nicht indizierten Mandantendaten für die Beispielanwendung. Stellen Sie sicher, dass der Name des S3-Buckets global eindeutig ist, da der Namespace von allen Konten gemeinsam genutzt wird. AWS Um einen S3-Bucket zu erstellen, können Sie den Befehl AWS CLI create-bucket
wo | Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie eine Amazon OpenSearch Service-Domain. | Führen Sie den AWS CLI create-elasticsearch-domain
Die Anzahl der Instanzen ist auf 1 gesetzt, da die Domain zu Testzwecken dient. Sie müssen mithilfe des Dieser Befehl erstellt einen Master-Benutzernamen ( Da die Domain Teil einer virtuellen privaten Cloud (VPC) ist, müssen Sie sicherstellen, dass Sie die Elasticsearch-Instanz erreichen können, indem Sie die zu verwendende Zugriffsrichtlinie angeben. Weitere Informationen finden Sie VPC in der AWS Dokumentation unter Starten Ihrer Amazon OpenSearch Service-Domains mithilfe von a. | Cloud-Architekt, Cloud-Administrator |
Richten Sie einen Bastion-Host ein. | Richten Sie eine Amazon Elastic Compute Cloud (AmazonEC2) Windows-Instance als Bastion-Host für den Zugriff auf die Kibana-Konsole ein. Die Elasticsearch-Sicherheitsgruppe muss Datenverkehr von der EC2 Amazon-Sicherheitsgruppe zulassen. Eine Anleitung finden Sie im Blogbeitrag Controlling Network Access to EC2 Instances Using a Bastion Server. Wenn der Bastion-Host eingerichtet wurde und Sie die Sicherheitsgruppe, die der Instance zugeordnet ist, verfügbar haben, verwenden Sie den AWS CLI authorize-security-group-ingress
| Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Lambda-Ausführungsrolle. | Führen Sie den Befehl AWS CLI create-role
wo
| Cloud-Architekt, Cloud-Administrator |
Hängen Sie verwaltete Richtlinien an die Lambda-Rolle an. | Führen Sie den AWS CLI attach-role-policy
| Cloud-Architekt, Cloud-Administrator |
Erstellen Sie eine Richtlinie, um der Lambda-Indexfunktion die Berechtigung zum Lesen der S3-Objekte zu erteilen. | Führen Sie den Befehl AWS CLI create-policy
Die Datei
| Cloud-Architekt, Cloud-Administrator |
Hängen Sie die Amazon S3 S3-Berechtigungsrichtlinie an die Lambda-Ausführungsrolle an. | Führen Sie den AWS CLI attach-role-policy
wo | Cloud-Architekt, Cloud-Administrator |
Erstellen Sie die Lambda-Index-Funktion. | Führen Sie den Befehl AWS CLI create-function
| Cloud-Architekt, Cloud-Administrator |
Erlauben Sie Amazon S3, die Lambda-Index-Funktion aufzurufen. | Führen Sie den Befehl AWS CLI add-permission
| Cloud-Architekt, Cloud-Administrator |
Fügen Sie einen Lambda-Trigger für das Amazon S3 S3-Ereignis hinzu. | Führen Sie den AWS CLI put-bucket-notification-configuration
Die Datei | Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie die Lambda-Ausführungsrolle. | Führen Sie den Befehl AWS CLI create-role
wo
| Cloud-Architekt, Cloud-Administrator |
Hängen Sie verwaltete Richtlinien an die Lambda-Rolle an. | Führen Sie den AWS CLI attach-role-policy
| Cloud-Architekt, Cloud-Administrator |
Erstellen Sie die Lambda-Suchfunktion. | Führen Sie den Befehl AWS CLI create-function
| Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie IAM Mandantenrollen. | Führen Sie den Befehl AWS CLI create-role
Die Datei
| Cloud-Architekt, Cloud-Administrator |
Erstellen Sie eine IAM Mandantenrichtlinie. | Führen Sie den Befehl AWS CLI create-policy
Die Datei
| Cloud-Architekt, Cloud-Administrator |
Hängen Sie die IAM Mandantenrichtlinie an die Mandantenrollen an. | Führen Sie den AWS CLI attach-role-policy
Die Richtlinie ARN stammt aus der Ausgabe des vorherigen Schritts. | Cloud-Architekt, Cloud-Administrator |
Erstellen Sie eine IAM Richtlinie, um Lambda Berechtigungen zur Übernahme einer Rolle zu erteilen. | Führen Sie den Befehl AWS CLI create-policy
Die Datei
Denn Sie können ein Platzhalterzeichen verwenden | Cloud-Architekt, Cloud-Administrator |
Erstellen Sie eine IAM Richtlinie, um der Lambda-Indexrolle Zugriff auf Amazon S3 zu gewähren. | Führen Sie den Befehl AWS CLI create-policy
Bei der Datei
| Cloud-Architekt, Cloud-Administrator |
Hängen Sie die Richtlinie an die Lambda-Ausführungsrolle an. | Führen Sie den AWS CLI attach-role-policy
Die Richtlinie ARN stammt aus der Ausgabe des vorherigen Schritts. | Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie ein REST API API In-Gateway. | Führen Sie den CLI create-rest-api
Für den Endpunkt-Konfigurationstyp können Sie angeben, Notieren Sie sich den Wert des | Cloud-Architekt, Cloud-Administrator |
Erstellen Sie eine Ressource für die SucheAPI. | Die API Suchressource startet die Lambda-Suchfunktion mit dem Ressourcennamen
| Cloud-Architekt, Cloud-Administrator |
Erstellen Sie eine GET Methode für die SucheAPI. | Führen Sie den Befehl AWS CLI put-method
Geben Sie für | Cloud-Architekt, Cloud-Administrator |
Erstellen Sie eine Methodenantwort für die SucheAPI. | Führen Sie den AWS CLI put-method-response
Geben Sie für | Cloud-Architekt, Cloud-Administrator |
Richten Sie eine Proxy-Lambda-Integration für die Suche API ein. | Führen Sie den AWS CLI Befehl put-integration
Geben Sie für | Cloud-Architekt, Cloud-Administrator |
Erteilen Sie API Gateway die Erlaubnis, die Lambda-Suchfunktion aufzurufen. | Führen Sie den Befehl AWS CLI add-permission
Ändern Sie den | Cloud-Architekt, Cloud-Administrator |
Stellen Sie die Suche bereitAPI. | Führen Sie den Befehl AWS CLI create-deployment
Wenn Sie den aktualisierenAPI, können Sie denselben CLI Befehl verwenden, um ihn erneut in derselben Phase bereitzustellen. | Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Loggen Sie sich in die Kibana-Konsole ein. |
| Cloud-Architekt, Cloud-Administrator |
Erstellen und konfigurieren Sie Kibana-Rollen. | Um Daten zu isolieren und sicherzustellen, dass ein Mandant die Daten eines anderen Mandanten nicht abrufen kann, müssen Sie Document Security verwenden, sodass Mandanten nur auf Dokumente zugreifen können, die ihre Mandanten-ID enthalten.
| Cloud-Architekt, Cloud-Administrator |
Ordnen Sie Benutzer Rollen zu. |
Wir empfehlen Ihnen, die Erstellung der Mandanten- und Kibana-Rollen beim Onboarding des Mandanten zu automatisieren. | Cloud-Architekt, Cloud-Administrator |
Erstellen Sie den Mieterdatenindex. | Wählen Sie im Navigationsbereich unter Verwaltung die Option Dev Tools aus, und führen Sie dann den folgenden Befehl aus. Dieser Befehl erstellt den
| Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Erstellen Sie einen VPC Endpunkt für Amazon S3. | Führen Sie den AWS CLI create-vpc-endpoint
Geben Sie für die an | Cloud-Architekt, Cloud-Administrator |
Erstellen Sie einen VPC Endpunkt für AWSSTS. | Führen Sie den AWS CLI create-vpc-endpoint
Geben Sie für die an | Cloud-Architekt, Cloud-Administrator |
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Aktualisieren Sie die Python-Dateien für die Index- und Suchfunktionen. |
Sie können den Elasticsearch-Endpunkt auf der Registerkarte Übersicht der Amazon OpenSearch Service-Konsole abrufen. Er hat das Format | Cloud-Architekt, App-Entwickler |
Aktualisieren Sie den Lambda-Code. | Verwenden Sie den AWS CLI update-function-code
| Cloud-Architekt, App-Entwickler |
Laden Sie Rohdaten in den S3-Bucket hoch. | Verwenden Sie den Befehl AWS CLI cp
Der S3-Bucket ist so eingerichtet, dass er bei jedem Upload von Daten die Lambda-Indexfunktion ausführt, sodass das Dokument in Elasticsearch indexiert wird. | Cloud-Architekt, Cloud-Administrator |
Suchen Sie Daten von der Kibana-Konsole aus. | Führen Sie auf der Kibana-Konsole die folgende Abfrage aus:
Diese Abfrage zeigt alle in Elasticsearch indexierten Dokumente an. In diesem Fall sollten Sie zwei separate Dokumente für Tenant-1 und Tenant-2 sehen. | Cloud-Architekt, Cloud-Administrator |
Testen Sie die Suche API von API Gateway aus. |
Bildschirmdarstellungen finden Sie im Abschnitt Zusätzliche Informationen. | Cloud-Architekt, App-Entwickler |
Zugehörige Ressourcen
Zusätzliche Informationen
Modelle zur Datenpartitionierung
Es gibt drei gängige Datenpartitionierungsmodelle, die in Systemen mit mehreren Mandanten verwendet werden: Silo, Pool und Hybrid. Welches Modell Sie wählen, hängt von den Anforderungen Ihrer Umgebung in Bezug auf Compliance, Noisy Neighbor, Betrieb und Isolierung ab.
Silo-Modell
Im Silomodell werden die Daten jedes Mandanten in einem eigenen Speicherbereich gespeichert, in dem es nicht zu einer Vermischung von Mandantendaten kommt. Sie können zwei Ansätze verwenden, um das Silomodell mit Amazon OpenSearch Service zu implementieren: Domain pro Mandant und Index pro Mandant.
Domain pro Mandant — Sie können pro Mandant eine separate Amazon OpenSearch Service-Domain (gleichbedeutend mit einem Elasticsearch-Cluster) verwenden. Die Platzierung jedes Mandanten in einer eigenen Domain bietet alle Vorteile, die mit der Speicherung von Daten in einem eigenständigen Konstrukt verbunden sind. Dieser Ansatz bringt jedoch Herausforderungen in Bezug auf Management und Agilität mit sich. Aufgrund seines dezentralen Charakters ist es schwieriger, den betrieblichen Zustand und die Aktivität der Mieter zu aggregieren und zu bewerten. Dies ist eine kostspielige Option, bei der jede Amazon OpenSearch Service-Domain mindestens über drei Masterknoten und zwei Datenknoten für Produktionsworkloads verfügen muss.
Index pro Mandant — Sie können Mandantendaten in separaten Indizes innerhalb eines Amazon OpenSearch Service-Clusters platzieren. Bei diesem Ansatz verwenden Sie eine Mandanten-ID, wenn Sie den Index erstellen und benennen, indem Sie die Mandanten-ID dem Indexnamen voranstellen. Der Ansatz „Index pro Mandant“ hilft Ihnen dabei, Ihre Siloziele zu erreichen, ohne für jeden Mandanten einen komplett separaten Cluster einzuführen. Es kann jedoch zu Speicherauslastung kommen, wenn die Anzahl der Indizes zunimmt, da dieser Ansatz mehr Shards erfordert und der Master-Knoten mehr Zuweisung und Neuverteilung bewältigen muss.
Isolierung im Silomodell — Im Silomodell verwenden Sie IAM Richtlinien, um die Domänen oder Indizes zu isolieren, die die Daten der einzelnen Mandanten enthalten. Diese Richtlinien verhindern, dass ein Mandant auf die Daten eines anderen Mandanten zugreift. Um Ihr Silo-Isolationsmodell zu implementieren, können Sie eine ressourcenbasierte Richtlinie erstellen, die den Zugriff auf Ihre Mandantenressource steuert. Dabei handelt es sich häufig um eine Domain-Zugriffsrichtlinie, die festlegt, welche Aktionen ein Principal an den Unterressourcen der Domain durchführen kann, einschließlich Elasticsearch-Indizes und. APIs Mit IAM identitätsbasierten Richtlinien können Sie zulässige oder verweigerte Aktionen für die Domain, Indizes oder APIs innerhalb von Amazon Service angeben. OpenSearch Das Action
Element einer IAM Richtlinie beschreibt die spezifischen Aktionen, die durch die Richtlinie zugelassen oder verweigert werden, und das Principal
Element spezifiziert die betroffenen Konten, Benutzer oder Rollen.
Die folgende Beispielrichtlinie gewährt Tenant-1 vollen Zugriff (wie von angegebenes:*
) nur auf die Unterressourcen in der tenant-1
Domäne. Das nachstehende /*
Resource
Element weist darauf hin, dass diese Richtlinie für die Unterressourcen der Domain gilt, nicht für die Domain selbst. Wenn diese Richtlinie in Kraft ist, dürfen Mandanten keine neue Domäne erstellen oder Einstellungen für eine bestehende Domäne ändern.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::aws-account-id:user/Tenant-1" }, "Action": "es:*", "Resource": "arn:aws:es:Region:account-id:domain/tenant-1/*" } ] }
Um das Silo-Modell „Mandant pro Index“ zu implementieren, müssten Sie diese Beispielrichtlinie ändern, um Tenant-1 weiter auf den angegebenen Index oder die angegebenen Indizes zu beschränken, indem Sie den Indexnamen angeben. Die folgende Beispielrichtlinie beschränkt Tenant-1 auf den Index. tenant-index-1
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::123456789012:user/Tenant-1" }, "Action": "es:*", "Resource": "arn:aws:es:Region:account-id:domain/test-domain/tenant-index-1/*" } ] }
Pool-Modell
Im Poolmodell werden alle Mandantendaten in einem Index innerhalb derselben Domäne gespeichert. Die Mandanten-ID ist in den Daten (Dokument) enthalten und wird als Partitionsschlüssel verwendet, sodass Sie bestimmen können, welche Daten zu welchem Mandanten gehören. Dieses Modell reduziert den Verwaltungsaufwand. Der Betrieb und die Verwaltung des gepoolten Indexes sind einfacher und effizienter als die Verwaltung mehrerer Indizes. Da Mandantendaten jedoch innerhalb desselben Index zusammengefasst sind, verlieren Sie die natürliche Mandantenisolierung, die das Silomodell bietet. Dieser Ansatz kann aufgrund des Noisy-Neighbor-Effekts auch zu Leistungseinbußen führen.
Mandantenisolierung im Poolmodell — Im Allgemeinen ist die Implementierung der Mandantenisolierung im Poolmodell schwierig. Der im Silomodell verwendete IAM Mechanismus ermöglicht es Ihnen nicht, die Isolierung anhand der in Ihrem Dokument gespeicherten Mandanten-ID zu beschreiben.
Ein alternativer Ansatz besteht darin, die differenzierte Access Control (FGAC) -Unterstützung zu verwenden, die von der Open Distro for Elasticsearch bereitgestellt wird. FGACermöglicht es Ihnen, Berechtigungen auf Index-, Dokument- oder Feldebene zu kontrollieren. FGACWertet bei jeder Anfrage die Benutzeranmeldedaten aus und authentifiziert entweder den Benutzer oder verweigert den Zugriff. Wenn der Benutzer FGAC authentifiziert wird, ruft es alle Rollen ab, die diesem Benutzer zugeordnet sind, und verwendet den vollständigen Satz von Berechtigungen, um zu bestimmen, wie die Anfrage behandelt werden soll.
Um die erforderliche Isolierung im Poolmodell zu erreichen, können Sie die Sicherheit auf Dokumentebene
{ "bool": { "must": { "match": { "tenantId": "Tenant-1" } } } }
Hybrides Modell
Das Hybridmodell verwendet eine Kombination der Silo- und Poolmodelle in derselben Umgebung, um jedem Mieter (z. B. kostenlose Tarife, Standard- und Premium-Tarife) einzigartige Erlebnisse zu bieten. Jede Stufe folgt demselben Sicherheitsprofil, das im Poolmodell verwendet wurde.
Mandantenisolierung im Hybridmodell — Im Hybridmodell verwenden Sie dasselbe Sicherheitsprofil wie im Poolmodell, wo die Verwendung des FGAC Sicherheitsmodells auf Dokumentenebene die Mandantenisolierung ermöglichte. Diese Strategie vereinfacht zwar die Clusterverwaltung und bietet Flexibilität, verkompliziert jedoch andere Aspekte der Architektur. Ihr Code erfordert beispielsweise zusätzliche Komplexität, um zu bestimmen, welches Modell jedem Mandanten zugeordnet ist. Sie müssen außerdem sicherstellen, dass Abfragen für einzelne Mandanten nicht die gesamte Domäne überlasten und die Benutzererfahrung für andere Mandanten beeinträchtigen.
Testen im Gateway API
Testfenster für Tenant-1-Abfrage
Testfenster für Tenant-2-Abfrage