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 dentro de 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 del 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 puedan poner en peligro la solidez de SQL Server debe 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 ser capaz de 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 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.

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.

Consulte también

Administrar ensamblados de integración CLR