Seguridad de la integración CLR
El modelo de seguridad de la integración de SQL Server con .NET Framework Common Language Runtime (CLR) administra y protege el acceso entre los distintos tipos de objetos que se ejecutan dentro de SQL Server, tanto objetos CLR como objetos no CLR. Es posible llamar a estos objetos mediante 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, el hecho de ejecutar código de usuario administrado en SQL Server no debería poner en peligro la integridad y la estabilidad de SQL Server. La realización de operaciones que podrían poner en peligro la estabilidad de SQL Server debería protegerse mediante los permisos de alto nivel pertinentes.
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 debería poder obtener un acceso no autorizado a los recursos del sistema por el hecho de ejecutarse en el proceso de SQL Server.
Ahora, SQL Server integra el modelo de seguridad basado en usuario de SQL Server con el modelo de seguridad basado en acceso a 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 la forma en que los fragmentos de código del 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.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.