Consideraciones de seguridad para Integration Services

La seguridad en SQL Server 2005 Integration Services (SSIS) consta de varios niveles que proporcionan un entorno de seguridad rico y flexible. La seguridad de Integration Services combina el uso de propiedades en el nivel de paquete, funciones de base de datos de SQL Server, permisos del sistema operativo y firmas digitales.

SQL Server 2005 Integration Services (SSIS) implementa la seguridad en el cliente y en el servidor mediante las siguientes características de seguridad:

  • Ajustando la propiedad ProtectionLevel del paquete para especificar si los datos confidenciales deben protegerse mediante cifrado o si los datos deben quitarse antes de guardar el paquete.
  • Ajustando las propiedades ProtectionLevel y PackagePassword del paquete para proteger los paquetes al cifrar todo o parte del paquete mediante contraseñas o claves de usuario.
  • Controlando el acceso a los paquetes mediante funciones en el nivel de base de datos de SQL Server.
  • Asegurando el entorno de funcionamiento mediante la protección de la ubicación de los archivos y la limitación del acceso a los paquetes en SQL Server Management Studio.
  • Garantizando la integridad de los paquetes mediante la firma de paquetes con certificados.

Datos confidenciales

Integration Services admite la protección de datos confidenciales en paquetes. Por lo general, las propiedades que se identifican como confidenciales contienen cierta información, como una contraseña o una cadena de conexión. Integration Services establece el atributo confidencial de estas propiedades y ese atributo confidencial no se puede cambiar. Si escribe tareas personalizadas, administradores de conexión o componentes de flujo de datos, puede especificar qué propiedades debe tratar Integration Services como confidenciales.

Integration Services detecta automáticamente las propiedades confidenciales y las trata de acuerdo con el nivel de protección especificado para el paquete. Por ejemplo, en un paquete que utilice un nivel de protección que cifra la información confidencial con una contraseña, los valores de todas las propiedades identificadas como confidenciales estarán cifrados.

Niveles de protección de paquetes

Puede cifrar los paquetes para mantener secretos los valores de sus propiedades estableciendo el nivel de protección del paquete. Los paquetes incluyen la propiedad ProtectionLevel , que se puede establecer de acuerdo con el nivel de protección que necesita el paquete. Por ejemplo, en un entorno de desarrollo de equipo, se puede cifrar un paquete con una contraseña que sólo conozcan los miembros del equipo que trabajan en el paquete. Para obtener más información, vea Establecer el nivel de protección de los paquetes.

Para obtener más información, vea Paquetes de Integration Services y Establecer las propiedades de paquete.

Funciones de nivel de base de datos

Integration Services incluye las tres funciones fijas de nivel de base de datos db_dtsadmin, db_dtsltduser y db_dtsoperator para controlar el acceso a los paquetes. Se puede asociar una función de lector y de escritor a cada paquete. También se pueden definir funciones personalizadas de nivel de base de datos para utilizarlas en los paquetes de Integration Services. Las funciones sólo se pueden implementar en los paquetes que se guardan en la base de datos msdb en una instancia de SQL Server.

Para obtener más información, vea Funciones de Integration Services.

Almacenamiento de paquetes

Los paquetes de Integration Services se pueden guardar en el sistema de archivos como archivos XML, utilizando la extensión de nombre de archivo .dtsx, o en la base de datos msdb, en una instancia de SQL Server 2005.

Guardar los paquetes en msdb proporciona seguridad en el nivel del servidor, la base de datos y la tabla. Los paquetes de SQL Server 2005 se almacenan en la tabla sysdtspackages90 y los paquetes de SQL Server 2000, en la tabla sysdtspackages. Además, se hace una copia de seguridad de los paquetes guardados en sysdtspackages90 y sysdtspackages automáticamente al crear una copia de seguridad de msdb. Los paquetes de SQL Server 2005 almacenados en la tabla sysdtspackages90 también están protegidos mediante las funciones de nivel de base de datos.

Si no almacena los paquetes en msdb, no olvide asegurar las carpetas en el sistema de archivos que contiene los archivos de paquete.

Para obtener más información, vea Guardar paquetes.

Almacenamiento de las configuraciones de paquetes

Las configuraciones de paquetes se pueden guardar en el sistema de archivos o en una tabla de una base de datos de SQL Server 2005. Las configuraciones se pueden guardar en cualquier base de datos de SQL Server 2005, no sólo en la base de datos msdb, lo que permite especificar la base de datos que se utilizará como repositorio para las configuraciones de paquetes. También puede especificar el nombre de la tabla que contendrá las configuraciones; Integration Services creará la tabla de forma automática con la estructura correcta.

Guardar las configuraciones en una tabla proporciona seguridad en el nivel del servidor, de la base de datos y de la tabla. Además, las configuraciones guardadas en SQL Server se agregan automáticamente a la copia de seguridad al crear una copia de seguridad de la base de datos.

Si no almacena las configuraciones en SQL Server, no olvide asegurar las carpetas en el sistema de archivos que contiene los archivos de configuración de paquetes.

Para obtener más información, vea Configuraciones de paquetes.

Carpetas de Integration Services

SQL Server Management Studio utiliza el servicio de SQL Server para mostrar los paquetes que se están ejecutando. Es importante restringir el acceso a los equipos que ejecutan un servicio de SQL Server para evitar que los usuarios no autorizados tengan acceso a la lista de paquetes almacenados en equipos locales y remotos, y obtengan información privada. Para obtener más información, vea Proteger el acceso a los paquetes en ejecución.

Archivos utilizados por los paquetes

Los paquetes configurados para utilizar configuraciones, puntos de comprobación y registros generan información que se almacena fuera del paquete. Esta información puede ser confidencial y debe protegerse. Los archivos de puntos de comprobación únicamente se pueden guardar en el sistema de archivos, pero las configuraciones y los registros se pueden guardar en el sistema de archivos o en tablas de bases de datos de SQL Server. Las configuraciones y registros que se guardan en SQL Server están protegidos por la seguridad de SQL Server, pero la información guardada en archivos requiere una seguridad adicional. Para obtener más información, vea Proteger archivos utilizados por paquetes.

Firmas digitales

Puede firmar un paquete con un certificado. Puede configurar el paquete para que compruebe la firma en el momento de cargar el paquete y para que emita una advertencia si el paquete ha sido modificado. Los paquetes incluyen la propiedad CheckSignatureOnLoad, que se establece en True para que se compruebe la firma digital del paquete cada vez de éste se cargue. Para obtener más información, vea Firmar paquetes con certificados.

Vea también

Tareas

Configurar un firewall de Windows para obtener acceso a Integration Services

Conceptos

SQL Server Integration Services

Ayuda e información

Obtener ayuda sobre SQL Server 2005