COM+-Sicherheitskonzepte
COM+ bietet mehrere Sicherheitsfeatures, die Sie zum Schutz Ihrer COM+-Anwendungen verwenden können, von Diensten, die Sie administrativ konfigurieren, bis hin zu APIs, die Sie im Code aufrufen können.
Wenn möglich, ist es für COM+-Anwendungen besser, automatische Sicherheit zu verwenden, z. B. deklarative rollenbasierte Sicherheit und Authentifizierung, anstatt die Sicherheit innerhalb von Komponenten zu konfigurieren. Die Verwendung der automatischen Sicherheit erleichtert das Schreiben und Verwalten von Komponenten, erleichtert das Entwerfen der Sicherheit für eine gesamte Anwendung und erleichtert, da sie administrativ konfiguriert ist, die Sicherheitsrichtlinie einer Anwendung zu ändern. Diese automatischen Sicherheitsdienste ermöglichen es Ihnen, alle sicherheitsrelevanten Funktionen aus Ihren Komponenten herauszulassen. Wenn Sie die Dienste aktivieren und entsprechend konfigurieren können, verarbeitet COM+ die Details zum Erzwingen der von Ihnen angegebenen Sicherheitsrichtlinie.
Wenn die automatischen Sicherheitsdienste in COM+ jedoch nicht genau das tun, was Sie benötigen, können Sie sie erweitern, indem Sie auf der automatischen Sicherheitsplattform von COM+ aufbauen. In Fällen, in denen Sie die automatische Sicherheit nicht verwenden möchten oder wo Sie sie verwenden möchten, aber auf sie aufbauen müssen, um die Sicherheitsanforderungen Ihrer Anwendung zu erfüllen, haben Sie die folgenden Optionen zum programmgesteuerten Konfigurieren der Sicherheit:
- Programmgesteuerte rollenbasierte Sicherheit, z. B. die Rollenüberprüfung, die verfügbar ist, wenn die rollenbasierte Sicherheit für Ihre Anwendung aktiviert ist.
- Identitätswechsel: Wenn Sie die Identität eines Clients verwenden möchten, um auf eine geschützte Ressource zuzugreifen.
- Überwachungsfeatures basierend auf Kontextinformationen für Sicherheitsaufrufe– auch verfügbar, wenn die rollenbasierte Sicherheit aktiviert ist.
Welche Mechanismen Sie zum Schutz einer bestimmten Anwendung verwenden, hängt von den spezifischen Anforderungen dieser Anwendung ab. Einige Sicherheitsoptionen können sich auf das Schreiben von Komponenten auswirken, und einige können sich erheblich auf den Entwurf der Anwendung auswirken. Bevor Sie Entscheidungen über die Implementierung einer Sicherheitsstrategie für eine Anwendung treffen, sollten Sie die Sicherheitsanforderungen im Kontext des Gesamtentwurfs berücksichtigen – Leistungsanforderungen, Datenzugriff, physisches Design – und die am besten geeignete Kombination von Sicherheitsfeatures auswählen. Weitere Informationen zur Implementierung von programmgesteuerter Sicherheit finden Sie unter Programmgesteuerte Komponentensicherheit.
Hier finden Sie kurze Beschreibungen der COM+-Sicherheitskategorien, -Features und -Probleme mit Links zu Themen in diesem Abschnitt, die eine detaillierte Erläuterung der einzelnen wichtigen Bereiche bieten.
Hinweis
Obwohl in diesem Abschnitt nicht erläutert, haben Komponenten in der Warteschlange auch besondere Probleme im Zusammenhang mit den Sicherheitsfeatures, die ihnen zur Verfügung stehen. Ausführliche Informationen finden Sie unter Sicherheit von Komponenten in Warteschlange und Entwickeln von Komponenten mit Warteschlangen.
Rollenbasierte Sicherheit
Rollenbasierte Sicherheit ist das zentrale Feature der COM+-Anwendungssicherheit. Mithilfe von Rollen können Sie eine Autorisierungsrichtlinie für eine Anwendung administrativ erstellen und dabei (bei Bedarf bis zur Methodenebene) auswählen, welche Benutzer auf welche Ressourcen zugreifen können. Darüber hinaus bieten Rollen ein Framework zum Erzwingen der Sicherheitsüberprüfung im Code, wenn Ihre Anwendung eine differenziertere Zugriffssteuerung erfordert.
Die rollenbasierte Sicherheit basiert auf einem allgemeinen Mechanismus, mit dem Sie Sicherheitsinformationen zu allen Upstream Aufrufern in der Aufrufkette Ihrer Komponente abrufen können. Diese Funktion ist besonders nützlich, wenn Sie eine detaillierte Überwachung und Protokollierung durchführen möchten. Eine Beschreibung der von COM+ bereitgestellten Überwachungsfeatures finden Sie unter Zugreifen auf Sicherheitsaufrufkontextinformationen.
Eine Beschreibung der rollenbasierten Sicherheits- und Verwaltungsprobleme, die Sie bei der Verwendung berücksichtigen sollten, finden Sie unter Rollenbasierte Sicherheitsverwaltung.
Clientauthentifizierung
Bevor Sie Clients für den Zugriff auf Ressourcen autorisieren können, müssen Sie sicher sein, dass sie das sind, was sie sagen, sie zu sein. Um diese Identitätsüberprüfung zu aktivieren, stellt COM+ Authentifizierungsdienste bereit. Während diese Dienste tatsächlich auf einer grundlegenderen Ebene von COM und Microsoft Windows bereitgestellt werden, können Sie mit einer COM+-Anwendung den Authentifizierungsdienst einfach administrativ aktivieren, sodass er für die Anwendung transparent funktioniert. Eine Beschreibung der Authentifizierungsdienste finden Sie unter Clientauthentifizierung.
Clientidentitätswechsel und -delegierung
In einigen Fällen muss Ihre Anwendung im Auftrag eines Clients mithilfe der Clientidentität arbeiten, z. B. beim Zugriff auf eine Datenbank, die den ursprünglichen Client authentifiziert. Dies erfordert, dass Ihre Anwendung die Identität des Clients annehmen muss. COM+ bietet Funktionen, um verschiedene Ebenen des Identitätswechsels zu ermöglichen. Der Identitätswechsel wird administrativ konfiguriert, Sie müssen jedoch auch Unterstützung für den Identitätswechsel mit dem Code der Komponenten Ihrer Anwendung bereitstellen. Eine Beschreibung des Identitätswechsels und Deren Verwendung finden Sie unter Clientidentitätswechsel und Delegierung.
Verwenden der Softwareeinschränkungsrichtlinie in COM+
Eine Softwareeinschränkungsrichtlinie bietet eine Möglichkeit, nicht vertrauenswürdigen und daher potenziell schädlichen Code in einer eingeschränkten Umgebung auszuführen, sodass die Berechtigungen des Benutzers nicht missbraucht werden können. Dazu werden Dateien, die vom Benutzer ausgeführt werden können, Vertrauensstufen zugewiesen. Beispielsweise können bestimmte Systemdateien vollständig vertrauenswürdig sein und uneingeschränkten Zugriff auf die Berechtigungen des Benutzers erhalten, während eine Datei, die aus dem Internet heruntergeladen wurde, vollständig nicht vertrauenswürdig ist und daher nur in einer eingeschränkten Umgebung ausgeführt werden darf, in der die Verwendung sicherheitsrelevanter Benutzerberechtigungen nicht zulässig ist.
Die systemweite Softwareeinschränkungsrichtlinie wird über das Verwaltungstool Lokale Sicherheitsrichtlinie gesteuert, mit dem Administratoren Vertrauensstufen für einzelne Dateien konfigurieren können. Alle COM+-Serveranwendungen werden jedoch in der datei dllhost.exe ausgeführt. Daher bietet COM+ eine Möglichkeit, die Softwareeinschränkungsrichtlinie für jede Serveranwendung anzugeben, sodass sie nicht von der Einschränkungsrichtlinie der dllhost.exe-Datei abhängig sein muss. Eine Diskussion zur Verwendung der Softwareeinschränkungsrichtlinie in COM+ finden Sie unter Verwenden der Softwareeinschränkungsrichtlinie in COM+.
Bibliotheksanwendungssicherheit
Bibliotheksanwendungen haben besondere Sicherheitsaspekte. Da diese Anwendungen im Clientprozess ausgeführt werden, sind sie von der vom Hostingprozess erzwungenen Sicherheit betroffen, während sie die Sicherheit auf Prozessebene nicht steuern können. Eine Beschreibung der Faktoren, die für Bibliotheksanwendungen berücksichtigt werden sollten, finden Sie unter Sicherheit der Bibliotheksanwendung.
Anwendungssicherheit mit mehreren Ebenen
COM+-Anwendungen sind in der Regel Anwendungen der mittleren Ebene. Das heißt, sie verschieben Informationen zwischen Clients und Back-End-Ressourcen wie Datenbanken. Bei der Entscheidung, wo und in welchem Maß die Sicherheit erzwungen werden soll, können schwierige Entscheidungen getroffen werden. Sicherheit beinhaltet inhärent Leistungsabschläge. Einige der schwerwiegendsten davon treten auf, wenn Sie die Sicherheitsüberprüfung sowohl auf der Datenebene als auch auf der mittleren Ebene erzwingen müssen. Eine Diskussion der zu berücksichtigenden Probleme finden Sie unter Mehrschichtige Anwendungssicherheit.
Zugehörige Themen