Seguridad del recolección de datos

El recopilador de datos utiliza el modelo de seguridad basada en funciones implementado por el Agente SQL Server. Este modelo permite al administrador de bases de datos ejecutar las distintas tareas de recopilador de datos en un contexto de seguridad que sólo tiene los permisos necesarios realizar dicha tarea. Este enfoque también se utiliza para operaciones que implican tablas internas, a las que solamente se puede tener acceso utilizando un procedimiento almacenado o vista. No se concede ningún permiso a las tablas internas. En lugar de ello, los permisos se comprueban en el usuario del procedimiento almacenado o vista que se utiliza para tener acceso a una tabla.

Nota importanteImportante

Otro aspecto clave de este modelo de seguridad son los permisos concéntricos. Con los permisos concéntricos, las funciones con más privilegios heredan los permisos de las funciones con menos privilegios en los objetos (incluidos alertas, operadores, trabajos, programaciones y servidores proxy). Para obtener más información, vea Funciones fijas de base de datos del Agente SQL Server.

En las secciones siguientes se describe la seguridad de la recopilación de datos en general, así como las funciones que debe conceder a los usuarios para que puedan configurar y utilizar el recopilador de datos y llevar a cabo tareas asociadas al almacén de administración de datos.

Seguridad general

El recopilador de datos se instala según los estándares especificados para SQL Server 2008. Para obtener más información, vea Implementación segura (motor de base de datos).

Seguridad de la red

Se puede pasar información confidencial entre las instancias de destino, la instancia relacional asociada al servidor de configuración, los conjuntos de recopilación que se están ejecutando y el servidor que hospeda el almacén de administración de datos.

Para proteger los datos que se transfieren a través de una red, se implementan mecanismos de seguridad estándar, como el cifrado de protocolos para Transact-SQL.

Permisos para configurar y utilizar el recopilador de datos

En función de la tarea, los usuarios deben ser miembros de una o varias de las funciones de base de datos fijas que se proporcionan para el recopilador de datos. En orden de acceso con más privilegios a acceso con menos privilegios, las funciones son las siguientes:

  • dc_admin

  • dc_operator

  • dc_proxy

Estas funciones se almacenan en la base de datos msdb. De manera predeterminada, ningún usuario es miembro de estas funciones de base de datos. La pertenencia de los usuarios a estas funciones se debe conceder explícitamente.

Los usuarios que son miembros de la función fija de servidor sysadmin tienen acceso total a los objetos del Agente SQL Server y a las vistas del recopilador de datos. No obstante, deben agregarse explícitamente a las funciones del recopilador de datos.

Nota importanteImportante

Los miembros de la función db_ssisadmin y de la función dc_admin quizá puedan elevar sus privilegios a sysadmin. Esta elevación de privilegio se puede producir porque estas funciones pueden modificar los paquetes de Integration Services y SQL Server puede ejecutar estos paquetes utilizando el contexto de seguridad de sysadmin del Agente SQL Server. Para protegerse contra esta elevación de privilegio al ejecutar planes de mantenimiento, conjuntos de recopilación de datos y otros paquetes de Integration Services, configure los trabajos del Agente SQL Server que ejecutan paquetes para utilizar una cuenta de proxy con privilegios limitados o agregar solamente los miembros de sysadmin a las funciones dc_admin y db_ssisadmin.

Función dc_admin

Los usuarios asignados a la función dc_admin tienen acceso de administrador completo (crear, leer, actualizar y eliminar) a la configuración del recopilador de datos de una instancia del servidor. Los miembros de esta función pueden realizar las operaciones siguientes:

  • Establecer propiedades del nivel del recopilador.

  • Agregar nuevos conjuntos de recopilación.

  • Instalar nuevos tipos de recopilación.

  • Realizar todas las operaciones permitidas a la función dc_operator.

La función dc_admin es miembro de las funciones siguientes:

  • SQLAgentUserRole. Esta función es necesaria para crear programaciones y ejecutar trabajos.

    Nota

    Los servidores proxy creados para el recopilador de datos deben conceder acceso a dc_admin para crearlos y utilizarlos en los pasos de trabajo que exijan un servidor proxy.

  • dc_operator. Los miembros de la función dc_admin heredan los permisos concedidos a dc_operator.

Función dc_operator

Los miembros de la función dc_operator tienen acceso de lectura y actualización. Esta función admite tareas de operaciones relacionadas con la ejecución y configuración de conjuntos de recopilación. Los miembros de esta función pueden realizar las operaciones siguientes:

  • Iniciar o detener un conjunto de recopilación.

  • Enumerar conjuntos de recopilación existentes.

  • Ver la información detallada (por ejemplo, elementos de recopilación y frecuencia de recopilación) asociada a un conjunto de recopilación.

  • Cambiar la frecuencia de la carga para los conjuntos de recopilación existentes.

  • Cambiar la frecuencia de recopilación de los elementos de recopilación que forman parte de un conjunto de recopilación existente.

La función dc_operator es miembro de la función siguiente:

  • db_ssisltduser. La pertenencia a esta función es necesaria para que sus miembros puedan enumerar y ver paquetes del recopilador de datos. Para obtener más información, vea Usar roles de Integration Services.

Función dc_proxy

Los miembros de la función dc_proxy tienen acceso de lectura a los conjuntos de recopilación y a las propiedades del nivel de recopilador. Los miembros de esta función también pueden ejecutar los trabajos que les pertenecen, así como crear pasos de trabajos que se ejecuten como una cuenta de proxy existente.

Los miembros de esta función pueden realizar las operaciones siguientes:

  • Ver la información de configuración de conjuntos de recopilación (por ejemplo, parámetros de entrada para los elementos de recopilación, y la frecuencia de recopilación de estos elementos).

  • Obtener información cifrada interna a la que sólo se puede tener acceso por un procedimiento almacenado firmado (por ejemplo, información de conexión de almacenamiento de datos utilizada para las cargas de datos).

  • Registrar eventos en tiempo de ejecución de los conjuntos de recopilación.

La función dc_proxy es miembro de la función siguiente:

  • db_ssisltduser. La pertenencia a esta función es necesaria para que sus miembros puedan enumerar y ver paquetes del recopilador de datos. Para obtener más información, vea Usar roles de Integration Services.

Permisos para configurar y utilizar el almacén de administración de datos

En función de la tarea, los usuarios deben ser miembros de una o varias de las funciones de base de datos fijas que se proporcionan para tener acceso al almacén de administración de datos. En orden de acceso con más privilegios a acceso con menos privilegios, las funciones son las siguientes:

  • mdw_admin

  • mdw_writer

  • mdw_reader

Estas funciones se almacenan en la base de datos msdb. De manera predeterminada, ningún usuario es miembro de estas funciones de base de datos. La pertenencia de los usuarios a estas funciones se debe conceder explícitamente.

Los usuarios que son miembros de la función fija de servidor sysadmin tienen acceso total a las vistas del recopilador de datos. No obstante, deben agregarse explícitamente a las funciones de la base de datos para realizar otras operaciones.

Función mdw_admin

Los miembros de la función mdw_admin tienen acceso lectura, escritura, actualización y eliminación al almacén de administración de datos.

Los miembros de esta función pueden realizar las operaciones siguientes:

  • Cambiar el esquema del almacén de administración de datos cuando se requiere (por ejemplo, agregando una nueva tabla cuando se instala un nuevo tipo de recopilación).

    Nota

    Si hay un cambio del esquema, el usuario también debe ser miembro de la función dc_admin para instalar un nuevo tipo de recopilación, puesto que esta acción exige permiso para actualizar la configuración del recopilador de datos en msdb.

  • Ejecutar trabajos de mantenimiento en el almacén de administración de datos, por ejemplo archivado o limpieza.

Función mdw_writer

Los miembros de la función mdw_writer pueden cargar y escribir datos en el almacén de administración de datos. Cualquier recopilador de datos que almacene datos en el almacén de administración de datos tiene que ser miembro de esta función.

Función mdw_reader

Los miembros de la función mdw_reader tienen acceso lectura al almacén de administración de datos. Dado que la finalidad de esta función es permitir solucionar problemas proporcionando acceso a datos históricos, los miembros de esta función no pueden ver otros elementos del esquema de almacén de administración de datos.