Seguridad de la integración CLR
El modelo de seguridad de Common Language Runtime (CLR) de .NET Framework administra y protege el acceso entre distintos tipos de objetos CLR y no CLR que se ejecutan en la instrucción Transact-SQL u otro objeto CLR que se ejecuta en el servidor. Las llamadas entre objetos reciben el nombre de vínculos. Los tipos de comprobaciones de seguridad que se realizan en estos objetos dependen de los tipos de vínculos implicados.
El modelo de seguridad de la integración CLR tiene estos objetivos:
De forma predeterminada, ejecutar código de usuario administrado en SQL Server. Las operaciones que podrían poner en peligro la solidez de SQL Server deben protegerse mediante los permisos adecuados de alto nivel.
El código de usuario administrado no debería obtener un acceso no autorizado a los datos del usuario ni a ningún otro código de usuario de la base de datos. El código definido por el usuario debería ejecutarse bajo el contexto de seguridad de la sesión del usuario que lo invocó y con los privilegios adecuados para ese contexto de seguridad.
Debería haber controles que restringiesen el acceso del código de usuario a cualquier recurso situado fuera del servidor, y utilizarlo única y exclusivamente para el acceso a datos local y la realización de cálculos.
El código definido por el usuario no debe poder obtener acceso no autorizado a los recursos del sistema en virtud de ejecutarse en el proceso de SQL Server.
SQL Server con el modelo de seguridad basado en acceso de código de CLR. Algunas de las ventajas que este enfoque combinado ofrece para la seguridad se describen en esta sección.
En la siguiente tabla se muestran los temas de esta sección.
Seguridad de acceso del código de integración CLR
Describe el modelo de seguridad de acceso del código (CAS) para el código administrado.
Atributos de protección del host y programación de la integración CLR
Ofrece información sobre los valores del atributo de protección de host (HPA) que no se permiten en los ensamblados SAFE y EXTERNAL_ACCESS.
Vínculos en el ámbito de seguridad de la integración CLR
Describe cómo los fragmentos de código de usuario se pueden llamar entre sí en SQL Server.
Suplantación y seguridad de la integración CLR
Explica la forma en que el código administrado obtiene acceso a los recursos externos utilizando la suplantación.
Permitir llamadores de confianza parcial
Indica los problemas que surgen cuando un método administrado invoca a un método en una clase incluida dentro de otro ensamblado.
Dominios de aplicación y seguridad de la integración CLR
Describe la forma en que los ensamblados se cargan en los dominios de aplicación.