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.
Vergleich von zentralisierten und verteilten Bereitstellungsmustern
Sie können OPA in einem zentralisierten oder verteilten Bereitstellungsmuster bereitstellen, und die ideale Methode für eine Mehrmandantenanwendung hängt vom Anwendungsfall ab. Beispiele für diese Muster finden Sie in den APIs Abschnitten Verwenden einer zentralisierten PDP mit aktivierter Funktion PEPs APIs und Verwenden einer verteilten PDP und PEPs weiter oben in diesem Handbuch. Da OPA als Daemon in einem Betriebssystem oder Container bereitgestellt werden kann, kann es auf verschiedene Arten implementiert werden, um eine Mehrmandantenanwendung zu unterstützen.
In einem zentralisierten Bereitstellungsmuster wird OPA als Container oder Daemon bereitgestellt, wobei seine RESTful API für andere Dienste in der Anwendung verfügbar ist. Wenn für einen Dienst eine Entscheidung von OPA erforderlich ist, wird die zentrale RESTful OPA-API aufgerufen, um diese Entscheidung zu treffen. Dieser Ansatz ist einfach zu implementieren und zu verwalten, da es nur eine einzige Bereitstellung von OPA gibt. Der Nachteil dieses Ansatzes besteht darin, dass er keinen Mechanismus zur Aufrechterhaltung der Trennung von Mandantendaten bietet. Da es nur eine einzige Bereitstellung von OPA gibt, müssen alle Mandantendaten, die in einer OPA-Entscheidung verwendet werden, einschließlich aller externen Daten, auf die OPA verweist, für OPA verfügbar sein. Mit diesem Ansatz können Sie die Isolierung der Mandantendaten aufrechterhalten, dies muss jedoch durch die Richtlinien- und Dokumentenstruktur von OPA oder den Zugriff auf externe Daten durchgesetzt werden. Ein zentralisiertes Bereitstellungsmuster erfordert auch eine höhere Latenz, da bei jeder Autorisierungsentscheidung ein RESTful API-Aufruf an einen anderen Dienst erfolgen muss.
In einem verteilten Bereitstellungsmuster wird OPA als Container oder Daemon zusammen mit den Diensten der Mehrmandantenanwendung bereitgestellt. Es kann als Sidecar-Container oder als Daemon bereitgestellt werden, der lokal auf dem Betriebssystem ausgeführt wird. Um eine Entscheidung von OPA abzurufen, ruft der Dienst die lokale OPA-Bereitstellung über die RESTful API auf. (Da OPA als Go-Paket bereitgestellt werden kann, können Sie Go nativ verwenden, um eine Entscheidung abzurufen, anstatt einen API-Aufruf zu verwenden.) RESTful Im Gegensatz zum zentralisierten Bereitstellungsmuster erfordert das verteilte Muster einen viel größeren Aufwand bei der Bereitstellung, Wartung und Aktualisierung, da es in mehreren Bereichen der Anwendung vorhanden ist. Ein Vorteil des verteilten Bereitstellungsmusters ist die Möglichkeit, die Isolierung von Mandantendaten aufrechtzuerhalten, insbesondere für Anwendungen, die ein isoliertes SaaS-Modell verwenden. Mandantenspezifische Daten können in OPA-Bereitstellungen isoliert werden, die für diesen Mandanten spezifisch sind, da OPA in einem verteilten Modell zusammen mit dem Mandanten bereitgestellt wird. Darüber hinaus weist ein verteiltes Bereitstellungsmuster eine wesentlich geringere Latenz auf als ein zentralisiertes Bereitstellungsmuster, da jede Autorisierungsentscheidung lokal getroffen werden kann.
Achten Sie bei der Auswahl eines OPA-Bereitstellungsmusters in Ihrer mandantenfähigen Anwendung darauf, die Kriterien zu bewerten, die für Ihre Anwendung am wichtigsten sind. Wenn Ihre Mehrmandantenanwendung empfindlich auf Latenz reagiert, bietet ein verteiltes Bereitstellungsmuster eine bessere Leistung auf Kosten einer komplexeren Bereitstellung und Wartung. Obwohl Sie einen Teil dieser Komplexität durch DevOps Automatisierung bewältigen können, erfordert dies im Vergleich zu einem zentralisierten Bereitstellungsmuster dennoch zusätzlichen Aufwand.
Wenn Ihre Mehrmandantenanwendung ein isoliertes SaaS-Modell verwendet, können Sie ein verteiltes OPA-Bereitstellungsmuster verwenden, um den isolierten Ansatz zur Isolierung von Mandantendaten nachzuahmen. Dies liegt daran, dass Sie, wenn OPA zusammen mit jedem mandantenspezifischen Anwendungsdienst ausgeführt wird, jede OPA-Bereitstellung so anpassen können, dass sie nur Daten enthält, die diesem Mandanten zugeordnet sind. Das Isolieren von OPA-Daten in einem zentralisierten OPA-Bereitstellungsmuster ist nicht möglich. Wenn Sie entweder ein zentralisiertes Bereitstellungsmuster oder ein verteiltes Muster in Verbindung mit einem gepoolten SaaS-Modell verwenden, muss die Mandantendatenisolierung im OPA-Dokumentenmodell beibehalten werden.