Grundlegende Szenarien zum Schützen von Daten in Anwendungen mit mehreren Ebenen

In diesem Thema werden einige Bausteinszenarien vorgestellt, die die Kriterien veranschaulichen, die in Entscheiden, wo Sicherheit erzwungen werden soll.

Szenario für vertrauenswürdige Server

  • Die Datenbank vertraut der COM+-Anwendung voll und ganz, um Endbenutzer für den Zugriff auf Daten in der Datenbank zu authentifizieren und zu autorisieren.
  • Vorzugsweise wird die Datenbank vor jedem Zugriff geschützt, außer über die Anwendung.
  • 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 in die Datenbank übergeben werden.

Dieses Szenario eignet sich am besten für Daten, auf die vorhersagbare Benutzerkategorien zugreifen können, die in Rollen gekapselt werden können. Beispielsweise verfügen nur "Manager", "Teller" und "Buchhalter" ü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 ihre eigene Authentifizierung und Autorisierung von Endbenutzern durch, um den Zugriff auf Daten in der Datenbank einzuschränken.
  • Die COM+-Anwendung nimmt die Identität von Clients an, wenn sie auf die Datenbank zugreift.
  • Verbindungen werden pro Anruf hergestellt und können nicht wiederverwendet werden.

Dieses Szenario eignet sich am besten für Daten, die eng an sehr kleine Benutzergruppen gebunden sind. Beispielsweise kann jeder Mitarbeiter nur auf seine eigene Personaldatei zugreifen, und jeder Vorgesetzte kann nur auf die Personaldateien seiner Berichte zugreifen.

Hybridszenario

Eine Kombination der beiden vorherigen Szenarien, in denen identitätswechsel nur verwendet wird, wenn sie benötigt wird.

Dieses Szenario funktioniert am besten in Situationen, in denen Sie über hybride Benutzer-Daten-Beziehungen verfügen. Beispielsweise verfügen Sie über "Manager", "Tellers", "Buchhalter" und Tausende von einzelnen Webclients, die nur auf ihre eigenen Konten zugreifen können. Sie können Logikpfade durch die Anwendung trennen, möglicherweise mit separaten Komponenten, um die zweite Benutzerklasse zu verarbeiten, insbesondere wenn die Leistungsannahmen für diese Benutzer unterschiedlich sind.

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 mithilfe der rollenbasierten Sicherheit, und die Anwendungsrollen entsprechen den Datenbankrollen.
  • Es können Verbindungen geöffnet werden, die für eine bestimmte Datenbankrolle spezifisch sind. Diese Verbindungen können wiederverwendet werden, wenn sie von gepoolten Objekten in den COM+-Anwendungen gespeichert werden. Ausführliche Informationen dazu finden Sie unter COM+-Objektpooling.
  • 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 im Allgemeinen am besten für die gleichen Arten von Benutzern und Daten wie im Szenario des ersten vertrauenswürdigen Servers, da der COM+-Anwendung weiterhin weitgehend vertraut wird, 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 zu ermöglichen, ohne dass die Skalierungs- und Leistungseinbußen für das Identitätswechselszenario anfallen.

Entscheiden, wo Sicherheit erzwungen werden soll

Anwendungssicherheit mit mehreren Ebenen