Video: Sagiton DE | Warum ein Softwarehaus nicht ausreicht? 2024
Einen Benutzer für den Zugriff auf Informationen oder Datenbankfunktionen zu autorisieren ist eine Sache, aber bevor Sie es tun können Sie müssen sicher sein, dass das System "weiß", dass der Benutzer der ist, von dem sie sagt, dass er es ist. Hier kommt die Authentifizierung ins Spiel. Die Authentifizierung kann innerhalb einer bestimmten Datenbank erfolgen oder an einen externen Dienst delegiert werden - also der Begriff Identity and Access Management (IdAM).
Als relationale Datenbanken eingeführt wurden, gab es nur wenige Standards in Bezug auf die Authentifizierung - deshalb werden die meisten relationalen Datenbanken immer noch mit internen Datenbankbenutzernamen und Passwörtern verwendet. Die meisten NoSQL-Datenbanken verwenden diesen Ansatz mit nur wenigen unterstützenden externen Authentifizierungsstandards.
Der gebräuchlichste moderne Standard ist das Lightweight Directory Access Protocol (LDAP). Interessanterweise basieren die meisten LDAP-Systeme auf relationalen Datenbanken, die die Systeminformationen enthalten.
NoSQL-Datenbanken sind eine moderne Erfindung. Sie erschienen zu einer Zeit, als existierende Authentifizierungs- und Autorisierungsmechanismen und -standards existieren, und so haben viele eine Möglichkeit, sich mit ihnen zu integrieren.
Wo soll ich anfangen? Integrieren Sie Ihre NoSQL-Datenbank in nur ein einziges IdAM-Produkt, oder versuchen Sie, eine Menge (potenziell nicht genutzter) Sicherheitsintegrationen zu schreiben, und riskieren Sie, sie schlecht auszuführen? Es ist verlockend zu erwarten, dass NoSQL-Datenbanken hier der Kurve voraus sein werden - aber seien wir realistisch. Kein Software-Entwickler kann möglicherweise die verschiedenen Sicherheitssysteme unterstützen.
Stattdessen verfügt jede NoSQL-Datenbank über ein eigenes internes Authentifizierungsschema und unterstützt in der Regel das Einbinden Ihres eigenen benutzerdefinierten Providers. NoSQL-Datenbanken bieten als ersten Schritt einen Plugin-Mechanismus, bevor dieser Mechanismus zur Implementierung spezifischer Standards verwendet wird.
Obwohl ein Mangel an Sicherheitssystemintegrationen eine Schwachstelle aus der Sicht eines Box-Ticking-Verfahrens ist, ermöglicht es das Bereitstellen eines Plugin-Mechanismus tatsächlich, dass diese Datenbanken flexibel genug sind, um mit jedem gewünschten Sicherheitssystem integriert zu werden.
Zum Glück ist LDAP eine der ersten Optionen, die NoSQL-Anbieter integrieren. Auf der Java-Plattform kann dies als Unterstützung für den Java Authentication and Authorization Standard (JAAS) dargestellt werden. Dies ist eine Plug-In-Architektur, und eines der am häufigsten verwendeten Plugins ist die Unterstützung von LDAP-Verzeichnisservern.
Wenn Sie eine NoSQL-Datenbank auswählen, sollten Sie nicht auflegen, dass einige Ihren genauen Authentifizierungsdienst nicht unterstützen. Solange die Software relativ schnell über den Sicherheits-Plugin-Mechanismus der Datenbank angepasst werden kann, ist das in Ordnung.Die Funktionen des Produkts sind wichtiger, sofern sie Sicherheits-Plug-ins unterstützen.
An dieser Stelle ist es nützlich, die Ressourcen einer kommerziellen Firma zu haben, die Ihre NoSQL-Datenbank unterstützt. Wenn Sie diese Sicherheitsintegrationen selbst schreiben, können Sie Ihre Softwareingenieure länger in Anspruch nehmen und sogar Sicherheitslücken einführen. Handelsunternehmen verfügen über die Ressourcen und die Erfahrung, diese Integrationen für Kunden bereitzustellen.