Seguridad de la integración CLR
Se aplica a: SQL Server
El modelo de seguridad de la integración de SQL Server con 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 SQL Server. Para llamar a estos objetos se puede utilizar una instrucción Transact-SQL u otro objeto CLR que se ejecute 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, la ejecución de código de usuario administrado en SQL Server no debe poner en peligro la integridad y la estabilidad de SQL Server. Las operaciones que podrían poner en peligro la solidez de SQL Server deben protegerse mediante los permisos de alto nivel adecuados.
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 la ejecución en el proceso de SQL Server.
SQL Server ahora integra el modelo de seguridad basado en el usuario de SQL Server con el modelo de seguridad basado en el acceso al 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 pueden llamarse 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.
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.