Compartir a través de


Información general sobre seguridad (Integration Services)

La seguridad en SQL Server Integration Services consta de varios niveles que proporcionan un entorno de seguridad sofisticado y flexible. Estos niveles de seguridad incluyen el uso de firmas digitales, propiedades de paquete, roles de la base de datos de SQL Server y permisos del sistema operativo. La mayoría de estas características de seguridad pertenecen a las categorías de identidad y control de acceso.

Características de identidad

Si implementa características de identidad en los paquetes, puede lograr el objetivo siguiente:

Asegurarse de que solo se abren y se ejecutan paquetes de orígenes de confianza.

Para asegurarse de que solamente se abren y se ejecutan paquetes de orígenes de confianza, primero debe identificar el origen de los paquetes. Para ello, firme los paquetes con certificados. De esta forma, al abrir o ejecutar los paquetes, Integration Services puede comprobar la presencia y la validez de las firmas digitales. Para más información, vea Identificar el origen de paquetes con firmas digitales.

Características de control de acceso

Si implementa características de identidad en los paquetes, puede lograr el objetivo siguiente:

Asegurarse de que solo los usuarios autorizados abren y ejecutan paquetes.

Para asegurarse de que solo los usuarios autorizados abren y ejecutan paquetes, debe controlar el acceso a la información siguiente:

  • El contenido de los paquetes, sobre todo si son datos confidenciales.

  • Los paquetes y las configuraciones de paquetes almacenadas en SQL Server.

  • Los paquetes y los archivos relacionados, como configuraciones, registros y archivos de punto de comprobación, almacenados en el sistema de archivos.

  • El servicio de Integration Services y la información sobre paquetes que muestra dicho servicio en SQL Server Management Studio.

Controlar el acceso al contenido de los paquetes

Para ayudar a restringir el acceso al contenido de un paquete, puede cifrar el paquete estableciendo su propiedad ProtectionLevel. Puede establecer esta propiedad en el nivel de protección que necesita el paquete. Por ejemplo, en un entorno de desarrollo de equipo, puede cifrar un paquete con una contraseña que solo conozcan los miembros del equipo que trabajan en el paquete.

Cuando se establece la propiedad ProtectionLevel de un paquete, 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, la propiedad ProtectionLevel de un paquete se establece en un nivel que cifra la información confidencial mediante una contraseña. En este paquete, Integration Services cifra automáticamente los valores de todas las propiedades confidenciales y no mostrará los datos correspondientes a no ser que se proporcione la contraseña correcta.

Normalmente, Integration Services identifica las propiedades como confidenciales si estas contienen información, como una contraseña o una cadena de conexión, o si corresponden a variables o nodos XML generados por tareas. El que Integration Services considere una propiedad como confidencial dependerá de si el programador del componente de Integration Services , como un administrador de conexiones o una tarea, ha designado la propiedad como tal. Los usuarios no pueden agregar propiedades a la lista de propiedades consideradas como confidenciales, ni tampoco quitarlas de dicha lista. Si escribe tareas, administradores de conexión o componentes de flujo de datos personalizados, puede especificar qué propiedades debe tratar Integration Services como confidenciales.

Para más información, consulte Access Control for Sensitive Data in Packages.

Controlar el acceso a los paquetes

En una instancia de Integration Services , los paquetes de SQL Serverse pueden guardar en la base de datos msdb o en el sistema de archivos como archivos XML con la extensión de nombre de archivo .dtsx. Para más información, vea Guardar paquetes.

Guardar paquetes en la base de datos msdb

Guardar los paquetes en la base de datos msdb proporciona seguridad en los siguientes niveles: servidor, base de datos y tabla. En la base de datos msdb, los paquetes de Integration Services se almacenan en la tabla sysssispackages. Dado que los paquetes se guardan en las tablas sysssispackages y sysdtspackages de la base de datos msdb, se realiza una copia de seguridad de dichos paquetes de forma automática al crear una copia de seguridad de la base de datos msdb.

SQL Server los paquetes almacenados en la base de datos msdb también se pueden proteger aplicando los roles de nivel de base de datos Integration Services . Integration Services incluye tres roles fijos de nivel de base de datos db_ssisadmin, db_ssisltduser y db_ssisoperator para controlar el acceso a los paquetes. Se puede asociar un rol de lector y de escritor a cada paquete. También se pueden definir roles personalizados de nivel de base de datos para usarlos en los paquetes de Integration Services . Los roles solo 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 Roles de Integration Services (servicio SSIS).

Guardar paquetes en el sistema de archivos

Si almacena los paquetes en el sistema de archivos en lugar de en la base de datos msdb, no olvide asegurar los archivos de los paquetes y las carpetas que contienen los archivos de los paquetes.

Controlar el acceso a los archivos usados por los paquetes

Los paquetes configurados para usar 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 una base de datos de SQL Server . Las configuraciones y los registros que se guardan en SQL Server están sujetos a la configuración de seguridad de SQL Server , pero la información guardada en el sistema de archivos requiere una seguridad adicional.

Para más información, vea Acceso a los archivos usados por los paquetes.

Almacenar configuraciones de paquetes de forma segura

Las configuraciones de paquetes se pueden guardar en una tabla de una base de datos de SQL Server o en el sistema de archivos.

Las configuraciones se pueden guardar en cualquier base de datos de SQL Server , no solo en la base de datos msdb. Por lo tanto, puede especificar qué base de datos actúa como repositorio de 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 permite proporcionar seguridad en tres niveles: servidor, base de datos y 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 almacena las configuraciones en el sistema de archivos en lugar de en SQL Server, no olvide asegurar las carpetas que contienen los archivos de configuración de paquetes.

Para obtener más información acerca de las configuraciones, vea Package Configurations.

Controlar el acceso al servicio Integration Services

SQL Server Management Studio usa el servicio de SQL Server para mostrar los paquetes almacenados. Restrinja el acceso a los equipos que ejecutan el servicio de SQL Server para evitar que los usuarios no autorizados tengan acceso a la información sobre los paquetes almacenados en equipos locales y remotos, y obtengan información privada.

Para más información, vea Acceso al servicio Integration Services.

La lista siguiente contiene vínculos a temas que muestran cómo realizar una determinada tarea relacionada con la seguridad.

Consulte también

SQL Server Integration Services