Arquitectura de seguridad para el acceso de los usuarios

Microsoft SQL Server Analysis Services utiliza Microsoft Windows para autenticar a los usuarios. De forma predeterminada, solo los usuarios autenticados que tienen derechos dentro de Analysis Services pueden establecer una conexión con Analysis Services. Después de que un usuario se haya conectado a Analysis Services, los permisos que ese usuario tiene dentro de Analysis Services están determinados por los derechos que se asignan a los roles de Analysis Services a los que pertenece el usuario, ya sea directamente o mediante la pertenencia a un rol de Windows.

  • Analysis Services contiene un solo rol fijo de servidor, que concede a sus miembros permiso para realizar cualquier tarea dentro de toda la instancia.

  • Los usuarios que no son miembros de un rol fijo de servidor pueden convertirse en miembros de uno o varios roles de base de datos. Cada rol de la base de datos tiene un conjunto personalizado de permisos que permiten a los usuarios obtener acceso a los datos y realizar tareas dentro de una base de datos determinada.

  • A un rol de la base de datos se le pueden conceder permisos de administrador, permisos para procesar objetos, permisos para ver los metadatos de los objetos y permisos para ver y modificar datos en varios niveles dentro de cada base de datos de Analysis Services.

  • Los miembros de un rol de la base de datos que tienen permisos de administrador pueden ver o actualizar todos los datos de la base de datos. Los miembros de otros roles de base de datos solo pueden ver o actualizar los objetos de datos para los que se les han concedido específicamente tales permisos.

  • Los permisos de una base de datos de Analysis Services se conceden inicialmente en el nivel de base de datos. Si un rol de la base de datos tiene permisos en el nivel de base de datos, al rol se le deben otorgar permisos específicos para cada objeto de la base de datos. Entre los objetos a los que un rol puede conceder permisos se incluyen las bases de datos y las dimensiones de cubo, miembros de dimensión individuales, cubos, celdas individuales dentro de un cubo, estructuras de minería de datos, modelos de minería de datos, orígenes de datos y procedimientos almacenados.

  • Aparte de estos componentes de arquitectura de seguridad, Analysis Services cifra todas las comunicaciones cliente/servidor para reducir el riesgo de que usuarios sin autorización puedan obtener acceso a información no autorizada. Por último, las características de Analysis Services que pueden poner en peligro la seguridad si se configuran inadecuadamente o se utilizan en un entorno inapropiado se deshabilitan. Por ejemplo, puede permitir a los usuarios conectarse a Analysis Services sin autenticación o puede aceptar la autenticación que se envía en texto no cifrado. Sin embargo, puesto que estas acciones pueden comprometer la seguridad si se realizan de forma incorrecta, la puesta en práctica de estas características requiere la modificación de la configuración predeterminada.

Autenticación de Windows

El acceso a Analysis Services se basa en la autenticación de Microsoft Windows. Este modelo de autenticación requiere que el sistema operativo Windows autentique todos los usuarios antes de que obtengan acceso a los datos almacenados en Analysis Services y antes de que puedan administrar los objetos de Analysis Services. La realización de la autenticación por parte del sistema operativo permite a Analysis Services beneficiarse de las características de seguridad de Windows, entre las que se incluyen la validación y cifrado seguros de las contraseñas, la auditoría, la expiración de las contraseñas, la longitud mínima de las contraseñas y el bloqueo de la cuenta tras varias solicitudes de inicio de sesión no válidas.

Nota

Si la instancia de Analysis Services se configura para permitir el acceso anónimo, Windows no autentica el usuario.

La autenticación de Windows y Analysis Services funcionan conjuntamente de la siguiente manera:

  1. Cuando un usuario inicia sesión en la red de Windows, un controlador de dominio de Windows valida el nombre de usuario y la contraseña del usuario, con lo cual se establecen las credenciales de autenticación de red del usuario.

  2. Más tarde, cuando el usuario intenta conectarse a Analysis Services, Analysis Services valida las credenciales de autenticación de red del usuario con un controlador de dominio de Windows.

Autorización

Después de autenticar un usuario, Analysis Services determina a continuación si el usuario tiene permisos para ver datos, actualizar datos, ver metadatos o realizar tareas administrativas. Si el usuario, o el grupo de usuarios al que pertenece el usuario, tiene algún tipo de permiso dentro de la instancia de Analysis Services, Analysis Services permite al usuario realizar la conexión. De forma predeterminada, Analysis Services no permite a un usuario conectarse si no tiene algún tipo de permiso dentro de la instancia de Analysis Services.

Sin embargo, la autorización no se detiene una vez que el usuario se conecta correctamente a Analysis Services. La autorización continúa a medida que el usuario trabaja en Analysis Services, como cuando el usuario ejecuta los procedimientos almacenados de servidor, las instrucciones de Extensiones de minería de datos (DMX), las consultas de Expresiones multidimensionales (MDX) o comandos de Objetos de administración de análisis (AMO). Cada vez que Analysis Services debe realizar una acción u obtener acceso a un objeto, compruebe la autoridad que el usuario tiene para obtener acceso a los objetos o ejecutar el comando. Si el usuario no tiene los permisos adecuados, Analysis Services devuelve un error de permiso.

Roles de servidor y de la base de datos

Analysis Services tiene dos tipos de roles: el rol de servidor y los roles de base de datos. A continuación se incluye una breve descripción de las diferencias que existen entre estos dos roles:

  • Solo existe un rol de servidor, y los miembros de este rol tienen todos los derechos de administrador en la instancia de Analysis Services.

    Nota

    Los miembros del grupo local Administradores del equipo local se convierten automáticamente en miembros del rol de servidor en una instancia de Analysis Services.

  • Puede haber varios roles de base de datos. Los miembros del rol de servidor crean estos roles de base de datos dentro de cada base de datos, conceden permisos administrativos o de usuario a estos roles de base de datos (como permisos de lectura o lectura/escritura para cubos, dimensiones, celdas, estructuras de minería de datos, modelos de minería de datos y objetos de origen de datos) y, a continuación, agregan usuarios y grupos de Windows a estos roles de base de datos.

    Importante

    Los permisos de los roles son acumulables.Los permisos que un usuario o grupo de Windows tiene en un rol de la base de datos se agregan a los permisos que el mismo usuario o grupo de Windows tiene en otros roles de base de datos.Si un rol impide que un permiso de usuario o grupo realice determinadas tareas o vea ciertos datos, pero hay otro rol que concede este mismo permiso a ese usuario o grupo, el usuario o grupo tendrá permiso para realizar la tarea o ver los datos.

Derechos de administrador

Aunque los miembros del rol de servidor adquieren automáticamente plenos derechos de administrador, no ocurre lo mismo con los miembros de un rol de la base de datos. A un rol de la base de datos se le pueden conceder derechos de Control total, o de Administrador, o bien un conjunto más limitado de derechos de administrador de la siguiente lista:

  • Procesar la base de datos

  • Leer los metadatos de una base de datos

  • Procesar una o varias dimensiones

  • Leer la definición de una o varias dimensiones

  • Procesar uno o varios cubos

  • Leer la definición de uno o varios cubos

  • Procesar una o varias estructuras de minería de datos

  • Procesar uno o varios modelos de minería de datos

  • Leer la definición de una o varias estructuras de minería de datos

  • Leer la definición de uno o varios modelos de minería de datos

  • Leer la definición de uno o varios orígenes de datos

Solamente los miembros del rol de servidor y los miembros de un rol de la base de datos que tienen derechos de Control total pueden leer los datos de Analysis Services sin permisos adicionales. Otros usuarios solamente podrán leer los datos de Analysis Services si su rol de la base de datos concede explícitamente permisos de lectura o lectura/escritura a los objetos de datos en Analysis Services, como dimensiones, cubos, celdas y modelos de minería de datos.

Seguridad de nivel de dimensión

Un rol de la base de datos puede especificar si sus miembros tienen permiso para ver o actualizar los miembros de dimensión en las dimensiones de base de datos especificadas. Además, dentro de cada dimensión en la que un rol de base de datos tiene derechos concedidos, al rol se le puede conceder permiso para ver o actualizar solamente determinados miembros de las dimensiones en lugar de todos los miembros de las dimensiones. Si a un rol de la base de datos no se le conceden permisos para ver o actualizar una dimensión en particular y alguno o todos los miembros de dimensión, los miembros del rol de la base de datos no tendrán permiso para ver la dimensión ni ninguno de sus miembros.

Nota

Los permisos de la dimensión concedidos a un rol de la base de datos se aplican a las dimensiones del cubo a partir de la dimensión de la base de datos, a no ser que se concedan explícitamente permisos diferentes en el cubo que utiliza la dimensión de base de datos.

Para obtener más información, vea Conceder acceso de dimensiones y Conceder acceso personalizado a datos de dimensión.

Seguridad de nivel de cubo

Un rol de la base de datos puede especificar si sus miembros tienen permisos de lectura o lectura/escritura en uno o más cubos de una base de datos. Si a un rol de la base de datos no se le conceden como mínimo permisos de lectura o lectura/escritura en un cubo, los miembros del rol de la base de datos no tendrán permiso para ver ningún cubo de la base de datos, independientemente de los derechos que estos miembros puedan tener en el rol para ver los miembros de dimensión.

Para obtener más información, vea Conceder acceso a un cubo.

Seguridad de nivel de celda

Un rol de la base de datos puede especificar si sus miembros tienen permisos de lectura, contingente de lectura o lectura/escritura en algunas o todas las celdas de un cubo. Si a un rol de la base de datos no se le conceden permisos en las celdas de un cubo, los miembros del rol de la base de datos no tendrán permiso para ningún dato de los cubos. Si a un rol de la base de datos se le deniega el permiso para ver determinadas dimensiones debido a la seguridad de la dimensión, la seguridad de nivel de celda no podrá expandir los derechos de los miembros del rol de la base de datos para incluir los miembros de celdas de esa dimensión. Sin embargo, si a un rol de la base de datos se le concede permiso para ver los miembros de una dimensión, la seguridad de nivel de celda puede utilizarse para limitar los miembros de celda de la dimensión que los miembros del rol de la base de datos pueden ver.

Para obtener más información, vea Conceder acceso personalizado a los datos de las celdas.

Seguridad de la estructura de minería de datos, modelo de minería de datos y origen de datos

Un rol de la base de datos puede especificar si sus miembros tienen permisos de lectura o lectura/escritura para las estructuras y los modelos de minería de datos. A un rol de la base de datos también se le puede conceder permiso para obtener detalles de los datos de origen y para examinar uno o más modelos de minería de datos. Por último, a un rol de la base de datos se le pueden conceder permisos de lectura/escritura en los objetos de origen de datos. Este permiso permite al rol hacer referencia a ese origen de datos en una cláusula OPENQUERY y utilizar la cadena de conexión definida en el objeto de origen de datos.

Para obtener más información, vea Conceder acceso a las estructuras y los modelos de minería de datos y Conceder acceso a orígenes de datos.

Seguridad de los procedimientos almacenados

Los procedimientos almacenados en Analysis Services son rutinas externas escritas en lenguaje de programación Microsoft .NET que amplían la capacidad de Analysis Services. Los procedimientos almacenados permiten a los programadores beneficiarse de la integración entre lenguajes, tratamiento de excepciones, compatibilidad de control de versiones, compatibilidad de implementación y compatibilidad de depuración.

Cualquier usuarios puede llamar a un procedimiento almacenado. Dependiendo de la configuración del procedimiento almacenado, el procedimiento puede ejecutarse en el contexto del usuario que llama al procedimiento o en el contexto de un usuario anónimo. Puesto que un usuario anónimo no tiene contexto de seguridad, puede combinar esta capacidad con la configuración de la instancia de Analysis Services para permitir el acceso anónimo.

Después de que el usuario haya llamado a un procedimiento almacenado pero antes de que Analysis Services haya ejecutado el procedimiento almacenado, Analysis Services evalúa las acciones dentro del procedimiento almacenado. Analysis Services evalúa las acciones en un procedimiento almacenado en función de la intersección de los permisos concedidos al usuario y el conjunto de permisos utilizado para ejecutar el procedimiento. Si el procedimiento almacenado contiene alguna acción que el rol de la base de datos no puede realizar para el usuario, esa acción no se llevará a cabo.

A continuación se enumeran los conjuntos de permisos utilizados para ejecutar procedimientos almacenados:

  • **Safe   **Con el permiso Safe establecido, un procedimiento almacenado no puede obtener acceso a los recursos protegidos en Microsoft .NET Framework. Este conjunto de permisos solamente permite realizar cálculos. Se trata del conjunto de permisos más seguro, puesto que impide cualquier pérdida de información en Analysis Services, los permisos no pueden elevarse y el riesgo de ataques que dañan los datos es mínimo.

  • **External Access   **Con el permiso External Access establecido, un procedimiento almacenado puede obtener acceso a los recursos externos mediante el uso de código administrado. Cuando se establece un procedimiento almacenado en este conjunto de permisos, no se producen errores de programación que podrían dar como resultado un funcionamiento inestable del servidor. Sin embargo, al utilizar este conjunto de permisos puede producirse alguna pérdida de información del servidor y existe la posibilidad de una elevación de los permisos y ataques que pueden dañar los datos.

  • Unrestricted Con el permiso Unrestricted establecido, un procedimiento almacenado puede obtener acceso a los recursos externos mediante cualquier tipo de código. Con este permiso establecido, no puede garantizarse la seguridad ni la confiabilidad de los procedimientos almacenados.

Cifrado

De forma predeterminada, Analysis Services requiere que todas las comunicaciones entre los clientes y la instancia de Analysis Services se realicen de forma cifrada.

Desactivado de forma predeterminada

Una instancia de Analysis Services está diseñada para que sea segura de forma predeterminada. Por lo tanto, las características que comprometen la seguridad se deshabilitan de forma predeterminada. Las siguientes características se deshabilitan de forma predeterminada y se deben habilitar específicamente para utilizarlas:

  • Conectividad HTTP

  • Seguimiento

  • Procedimientos almacenados

  • Particiones remotas

  • Objetos vinculados (a)

  • Objetos vinculados (desde)

  • Agregador de minería de datos

  • Nivel de protección cliente

  • Autenticación obligatoria de los clientes

  • Integración de Active Directory

  • Consultas Ad Hoc OpenRowset

  • Conectividad de clientes 8.0

  • Informes de bloqueo