Freigeben über


CLR-Integrationssicherheit

Gilt für:SQL Server

Das Sicherheitsmodell der SQL Server-Integration mit der Common Language Runtime (CLR) von .NET Framework verwaltet und sichert den Zugriff zwischen verschiedenen Typen von CLR und nicht-CLR-Objekten, die in SQL Server ausgeführt werden. Diese Objekte können aus einer Transact-SQL-Anweisung oder einem anderen CLR-Objekt aufgerufen werden, das auf dem Server ausgeführt wird. 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 das Ausführen von verwaltetem Benutzercode auf SQL Server die Integrität und Stabilität von SQL Server nicht beeinträchtigen. Das Ausführen von Vorgängen, die möglicherweise die Stabilität von SQL Server gefährden, sollte durch entsprechende Berechtigungen auf hoher Ebene geschützt werden.

  • Verwalteter Benutzercode sollte keinen nicht autorisierten Zugriff auf Benutzerdaten oder anderen Benutzercode in der Datenbank 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, nicht autorisierten Zugriff auf Systemressourcen zu erhalten, indem er im SQL Server-Prozess ausgeführt wird.

SQL Server integriert nun das benutzerbasierte Sicherheitsmodell von SQL Server in das codezugriffsbasierte Sicherheitsmodell der CLR. Einige Vorteile dieses kombinierten Sicherheitsansatzes werden in diesem Abschnitt erläutert.

In diesem Abschnitt

In der folgenden Tabelle sind die Artikel in diesem Abschnitt aufgeführt.

Artikel Beschreibung
CLR-Integration codezugriffssicherheit Erläutert das Codezugriffssicherheitsmodell (CAS) für verwalteten Code
Hostschutzattribute und CLR-Integrationsprogrammierung Stellt Informationen zu den HPA-Werten (Host Protection Attribute) bereit, die in SAFE- und EXTERNAL_ACCESS Assemblys nicht zulässig sind.
Identitätswechsel und Anmeldeinformationen für Verbindungen Beschreibt, wie Teile von Benutzercode einander in SQL Server aufrufen können
Anwendungsdomänen und Sicherheit der CLR-Integration Beschreibt, wie Assemblys in Anwendungsdomänen geladen werden