Arquitectura de seguridad

Microsoft SQL Server 2005 Analysis Services (SSAS) confía en Microsoft Windows para autenticar los usuarios. De forma predeterminada, sólo 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 las funciones Analysis Services a las que pertenece el usuario, ya sea directamente o mediante la pertenencia a una función de Windows.

  • Analysis Services contiene una sola función fija de servidor, que concede a sus miembros permiso para realizar cualquier tarea dentro de toda la instancia.
  • Los usuarios que no son miembros de una función fija de servidor pueden convertirse en miembros de una o varias funciones de base de datos. Cada función de 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 una función de base de datos se le pueden conceder permisos de administrador, permisos de objeto de proceso, permisos de metadatos de objeto de vista y permisos en varios niveles dentro de cada base de datos de Analysis Services.
  • Los miembros de una función de base de datos que tienen permisos de administrador pueden ver o actualizar todos los datos de la base de datos. Los miembros de otras funciones de base de datos sólo 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 a nivel de base de datos. Si una función de base de datos tiene permisos a nivel de base de datos, a la función se le deben otorgar permisos específicos para cada objeto de la base de datos. Entre los objetos a los que una función puede conceder permisos se incluyen las bases de datos y las dimensiones de cubo, miembros individuales de la dimensión, 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. Finalmente, 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 caducidad 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 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, verifica 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.

Funciones de servidor y de base de datos

Analysis Services tiene dos tipos de funciones: la función de servidor y las funciones de base de datos. A continuación se incluye una breve descripción de las diferencias que existen entre estas dos funciones:

  • Sólo existe una función de servidor, y los miembros de esta función 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 de la función de servidor en una instancia de Analysis Services.

  • Pueden existir varias funciones de base de datos. Los miembros de la función de servidor crean estas funciones de base de datos dentro de cada base de datos, conceden permisos administrativos o de usuario a estas funciones de base de datos, como, por ejemplo, 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 estas funciones de base de datos.

    ms174927.note(es-es,SQL.90).gifImportante:
    Los permisos de las funciones son acumulables. Los permisos que un usuario o grupo de Windows tiene en una función de base de datos se agregan a los permisos que el mismo usuario o grupo de Windows tiene en otras funciones de base de datos. Si una función impide que un permiso de usuario o grupo realice determinadas tareas o visualice ciertos datos, pero hay otra función que concede este mismo permiso a ese usuario o grupo, el usuario o grupo tendrá permiso para realizar la tarea o ver los datos.

Para obtener más información:Configurar el acceso a Analysis Services

Derechos de administrador

Aunque los miembros de la función de servidor adquieren automáticamente plenos derechos de administrador, los miembros de una función de base de datos no. A una función de 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 más dimensiones
  • Leer la definición de una o más dimensiones
  • Procesar uno o más cubos
  • Leer la definición de uno o más cubos
  • Procesar una o más estructuras de minería de datos
  • Procesar uno o más modelos de minería de datos
  • Leer la definición de una o más estructuras de minería de datos
  • Leer la definición de uno o más modelos de minería de datos
  • Leer la definición de uno o más orígenes de datos

Sólo los miembros de la función de servidor y los miembros de una función de 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 función de base de datos concede explícitamente permisos de lectura o lectura/escritura a los objetos de datos en Analysis Services, como puedan ser dimensiones, cubos, celdas y modelos de minería de datos.

Para obtener más información:Conceder permisos administrativos a todo el servidor

Seguridad a nivel de dimensión

Una función de base de datos puede especificar si sus miembros tienen permiso para ver o actualizar los miembros de la dimensión en las dimensiones de base de datos especificadas. Además, dentro de cada dimensión en la que una función tiene derechos concedidos, a la función 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 una función de base de datos no se le conceden permisos para ver o actualizar una dimensión en particular y alguno o todos los miembros de la dimensión, los miembros de la función 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 una función de base de datos se aplican a las dimensiones del cubo basadas en 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:Conceder acceso de dimensiones y Conceder acceso personalizado a datos de dimensión.

Seguridad a nivel de cubo

Una función de 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 una función de base de datos no se le conceden como mínimo permisos de lectura o lectura/escritura en un cubo, los miembros de la función de 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 la función para ver los miembros de la dimensión.

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

Seguridad a nivel de celda

Una función de 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 una función de base de datos no se le conceden permisos en las celdas de un cubo, los miembros de la función de base de datos no tendrán permiso para ningún dato de los cubos. Si a una función de base de datos se le deniega el permiso para ver determinadas dimensiones debido a la seguridad de la dimensión, la seguridad a nivel de celda no podrá expandir los derechos de los miembros de la función de base de datos para incluir los miembros de celdas de esa dimensión. Por otro lado, si a una función de base de datos se le concede permiso para ver los miembros de una dimensión, la seguridad a nivel de celda puede utilizarse para limitar los miembros de celda de la dimensión que los miembros de la función de base de datos pueden ver.

Para obtener más información: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

Una función de base de datos puede especificar si sus miembros tienen permisos de lectura o lectura/escritura para las estructura y los modelos de minería de datos. A una función de 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 una función de base de datos se le pueden conceder permisos de lectura/escritura en los objetos de origen de datos. Este permiso permite a la función 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: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 analiza 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 la función de base de datos no puede realizar para el usuario, esa funció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 sólo 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.

Para obtener más información:Trabajar con procedimientos almacenados (Analysis Services)

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.

Para obtener más información:Proteger la comunicación de los clientes con una instancia de Analysis Services

Desactivado de forma predeterminada

De forma predeterminada, una instancia de Analysis Services se diseña para que sea segura. 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
  • Traza
  • Procedimientos almacenados
  • Particiones remotas
  • Objetos vinculados (a)
  • Objetos vinculados (desde)
  • Agregador de minería de datos
  • Nivel de protección cliente
  • Nivel de protección Web
  • Autenticación obligatoria de los clientes
  • Integración con Active Directory
  • Consultas Ad Hoc OpenRowset
  • Conectividad de clientes 8.0
  • Informes de bloqueo

Vea también

Conceptos

Proteger una instancia de Analysis Services

Otros recursos

Configurar el acceso a Analysis Services

Ayuda e información

Obtener ayuda sobre SQL Server 2005