Sicherheit der CLR-Integration
Das Sicherheitsmodell der SQL Server-Integration in die .NET Framework-CLR (Common Language Runtime) dient zur Verwaltung und zum Schutz des Zugriffs auf verschiedene Typen von CLR-Objekten und anderen Objekten, die in SQL Server ausgeführt werden. Diese Objekte werden möglicherweise durch eine Transact-SQL-Anweisung oder ein anderes CLR-Objekt, das im Server ausgeführt wird, aufgerufen. Die Aufrufe zwischen Objekten werden als Links bezeichnet. Die Typen von Sicherheitsüberprüfungen, die für diese Objekte ausgeführt werden, hängen von den betroffenen Linktypen ab.
Das Sicherheitsmodell der CLR Integration dient folgenden Zielen:
Standardmäßig sollte durch die Ausführung von verwaltetem Benutzercode in SQL Server die Integrität und Stabilität von SQL Server nicht beeinträchtigt werden. Die Durchführung von Vorgängen, die die Stabilität von SQL Server potenziell beeinträchtigen, sollte durch entsprechende Berechtigungen auf höherer Ebene geschützt werden.
Verwalteter Benutzercode sollte keinen unbefugten Zugriff auf Benutzerdaten oder anderen in der Datenbank enthaltenen Benutzercode erhalten. Benutzerdefinierter Code sollte in dem Sicherheitskontext der Benutzersitzung, in der er aufgerufen wurde, und mit den richtigen Berechtigungen für diesen Sicherheitskontext ausgeführt werden.
Der Benutzercode sollte durch geeignete Maßnahmen daran gehindert werden, auf Ressourcen außerhalb des Servers zuzugreifen, sodass er ausschließlich für den Zugriff auf lokale Daten und Berechnungen genutzt wird.
Benutzerdefinierter Code sollte nicht in der Lage sein, nur deshalb unbefugten Zugriff auf Systemressourcen zu erlangen, weil er im SQL Server-Prozess ausgeführt wird.
SQL Server kombiniert jetzt das benutzerbasierte Sicherheitsmodell von SQL Server mit dem auf dem Codezugriff basierenden Sicherheitsmodell der CLR. Verschiedene Vorteile dieses kombinierten Sicherheitsansatzes werden in diesem Abschnitt erläutert.
In der folgenden Tabelle sind die Themen dieses Abschnitts aufgeführt.
CLR-Integration und Codezugriffssicherheit
Erläutert das Codezugriffssicherheitsmodell für verwalteten Code.Hostschutzattribute und Programmierung der CLR-Integration
Stellt Informationen zu den Hostschutzattributwerten bereit, die in SAFE-Assemblys und EXTERNAL_ACCESS-Assemblys nicht zulässig sind.Links in Sicherheit der CLR-Integration
Beschreibt, wie Teile von Benutzercode in SQL Server einander aufrufen können.Identitätswechsel und Sicherheit der CLR-Integration
Erläutert, wie verwalteter Code mithilfe des Identitätswechsels auf externe Ressourcen zugreift.Zulassen von teilweise vertrauenswürdigen Aufrufern
Erläutert Probleme, die auftreten, wenn eine verwaltete Methode eine Methode in einer Klasse aufruft, die in einer anderen Assembly enthalten ist.Anwendungsdomänen und Sicherheit der CLR-Integration
Beschreibt, wie Assemblys in Anwendungsdomänen geladen werden.