Grundlegende Szenarien zum Sichern von Daten in Anwendungen mit mehreren Ebenen
In diesem Thema werden einige Bausteinszenarien vorgestellt, die die Kriterien veranschaulichen, die unter Entscheidung, wo Sicherheit erzwungen werden sollbeschrieben werden.
Szenario für vertrauenswürdige Server
- Die Datenbank vertraut der COM+-Anwendung vollständig, um Endbenutzer für den Zugriff auf Daten in der Datenbank zu authentifizieren und zu autorisieren.
- Vorzugsweise ist die Datenbank gegen jeglichen Zugriff mit Ausnahme der Anwendung geschützt.
- Die COM+-Anwendung verwendet rollenbasierte Sicherheit, um Benutzer zu autorisieren.
- Verbindungen werden unter der Identität der COM+-Anwendung geöffnet und sind vollständig poolfähig.
- Die Überwachung und Protokollierung kann von der COM+-Anwendung durchgeführt werden, oder diese Informationen können von der Anwendung an die Datenbank übergeben werden.
Dieses Szenario funktioniert am besten für Daten, auf die von vorhersagbaren Kategorien von Benutzern zugegriffen werden kann, die in Rollen gekapselt werden können. Beispielsweise verfügen nur "Manager", "Kassierer" und "Schrifthalter" über die Berechtigung für den Zugriff auf Konten. Die Geschäftslogik der einzelnen Funktionen wird auf der mittleren Ebene erzwungen.
Identitätswechselszenario
- Die Datenbank führt eine eigene Authentifizierung und Autorisierung von Endbenutzern durch, um den Zugriff auf Daten in der Datenbank einzuschränken.
- Die COM+-Anwendung nimmt bei jedem Zugriff auf die Datenbank die Identität von Clients an.
- Verbindungen werden pro Aufruf hergestellt und können nicht wiederverwendet werden.
Dieses Szenario eignet sich am besten für Daten, die eng an sehr kleine Benutzerklassen gebunden sind. Beispielsweise kann jeder Mitarbeiter nur auf seine eigene Personaldatei zugreifen, und jeder Vorgesetzte kann nur auf die Personaldateien ihrer Berichte zugreifen.
Hybridszenario
Eine Kombination der beiden vorherigen Szenarien, in denen der Identitätswechsel nur verwendet wird, wenn er benötigt wird.
Dieses Szenario funktioniert am besten in Situationen, in denen Sie über hybride Benutzerdatenbeziehungen verfügen. Beispielsweise verfügen Sie über "Manager", "Kassierer", "Überprüfer" und Tausende einzelner Webclients, die nur auf ihre eigenen Konten zugreifen können. Sie können Logikpfade durch die Anwendung , möglicherweise mit separaten Komponenten, trennen, um die letztere Benutzerklasse zu verarbeiten, insbesondere dann, wenn sich die Leistungsannahmen für diese Benutzer unterscheiden.
Vertrauenswürdiges Szenario mit Microsoft SQL Server Rollen
- Microsoft SQL Server 7.0 und höher kann den Zugriff auf bestimmte Zeilen mithilfe von Rollen autorisieren, vertraut jedoch der COM+-Anwendung, um Benutzer zu authentifizieren und zu autorisieren und sie den richtigen Rollen in der Datenbank zuzuordnen.
- Die COM+-Anwendung autorisiert Benutzer mit rollenbasierter Sicherheit, und die Anwendungsrollen entsprechen gut den Datenbankrollen.
- Verbindungen können geöffnet werden, die für eine bestimmte Datenbankrolle spezifisch sind. Diese Verbindungen können wiederverwendet werden, wenn sie von in einem Pool zusammengefassten Objekten in den COM+-Anwendungen gespeichert werden. Ausführliche Informationen hierzu finden Sie unter COM+ Object Pooling.
- Die Überwachung und Protokollierung kann von der COM+-Anwendung durchgeführt werden, oder diese Informationen können von der Anwendung an die Datenbank übergeben werden.
Dieses Szenario eignet sich am besten für die gleichen Arten von Benutzern und Daten wie im ersten Szenario mit vertrauenswürdigen Servern, da die COM+-Anwendung weiterhin weitgehend vertrauenswürdig ist, um die Autorisierung ordnungsgemäß zu verarbeiten. Sie trägt jedoch dazu bei, die Datenbank vor nicht autorisiertem Zugriff zu schützen und gleichzeitig den Zugriff von mehreren Quellen außerhalb der COM+-Anwendung zuzulassen, ohne dass dies zu Skalierungs- und Leistungseinbußen im Identitätswechselszenario führt.