Información general sobre seguridad (Integration Services)
La seguridad en SQL ServerIntegration Services consta de varios niveles que proporcionan un entorno de seguridad rico y flexible. Estos niveles de seguridad incluyen el uso de firmas digitales, propiedades de paquete, funciones 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 obtener más información, vea Utilizar firmas digitales con los paquetes.
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 los paquetes estableciendo la propiedad ProtectionLevel del paquete. 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, suponga que establece la propiedad ProtectionLevel para un paquete 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 éstas contienen información, como una contraseña o una cadena de conexión, o si corresponden a variables o nodos XML generados por tareas. 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 obtener más información, vea Establecer el nivel de protección de los paquetes.
Controlar el acceso a los paquetes
En una instancia de SQL Server, los paquetes de Integration Services se 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 obtener 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, mientras que los paquetes DTS de SQL Server 2000 se almacenan en la tabla sysdtspackages. 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.
Los paquetes de SQL Server almacenados en la base de datos msdb también se pueden proteger aplicando las funciones de nivel de base de datos de Integration Services. Integration Services incluye tres funciones fijas de nivel de base de datos para controlar el acceso a los paquetes: db_ssisadmin, db_ssisltduser y db_ssisoperator. 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 o de SQL Server 2000. Las funciones 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 Usar funciones de Integration Services.
Importante |
---|
Para obtener información importante acerca de cómo proteger los paquetes DTS, vea Proteger paquetes DTS almacenados en SQL Server. |
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 obtener más información, vea Controlar el 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 Configuraciones de paquetes.
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 obtener más información, vea Controlar el acceso al servicio Integration Services.
|