Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El aprovisionamiento de cuentas para todo el producto se documenta en Configurar cuentas y permisos de servicio de Windows, un tema que proporciona información completa de la cuenta de servicio para todos los servicios de SQL Server, incluidos Analysis Services. Consulte este artículo para obtener información sobre los tipos de cuenta válidos, los privilegios de Windows asignados por la instalación, los permisos del sistema de archivos, los permisos del Registro, etc.
En este tema se proporciona información complementaria para Analysis Services, incluidos los permisos adicionales necesarios para las instalaciones tabulares y en clúster. También cubre los permisos necesarios para soportar operaciones de servidor. Por ejemplo, puede configurar las operaciones de procesamiento y consulta para que se ejecuten en la cuenta de servicio , en cuyo caso deberá conceder permisos adicionales para que funcionen.
Permisos del sistema de archivos asignados a Analysis Services
Concesión de permisos adicionales para operaciones de servidor específicas
Un paso de configuración adicional, no documentado aquí, es registrar un Service Principal Name (SPN) para la instancia de Analysis Services y la cuenta de servicio. Este paso permite la autenticación de paso directo desde las aplicaciones cliente a los orígenes de datos backend en el contexto de escenarios de doble salto. Este paso solo se aplica a los servicios configurados para la delegación restringida de Kerberos. Consulte Configurar Servicios de Análisis para la delegación restringida de Kerberos para obtener información adicional.
Recomendaciones de cuentas de inicio de sesión
En un clúster de conmutación por error, todas las instancias de Analysis Services deben configurarse para usar una cuenta de usuario del dominio de Windows. Asigne la misma cuenta a todas las instancias. Consulte How to Cluster Analysis Services para obtener más información.
Las instancias independientes deben usar la cuenta virtual predeterminada, NT Service\MSSQLServerOLAPService para la instancia predeterminada o NT Service\MSOLAP$instance-name para una instancia con nombre. Esta recomendación se aplica a las instancias de Analysis Services en todos los modos de servidor, suponiendo que Windows Server 2008 R2 y versiones posteriores para el sistema operativo y SQL Server 2012 y versiones posteriores para Analysis Services.
Concesión de permisos a Analysis Services
En esta sección se explican los permisos que Analysis Services requiere para las operaciones locales e internas, como iniciar el archivo ejecutable, leer el archivo de configuración y cargar bases de datos desde el directorio de datos. Si en su lugar busca instrucciones sobre cómo establecer permisos para el acceso a datos externos y la interoperabilidad con otros servicios y aplicaciones, consulte Concesión de permisos adicionales para operaciones de servidor específicas más adelante en este tema.
En el caso de las operaciones internas, el titular de permisos de Analysis Services no es la cuenta de inicio de sesión, sino un grupo de seguridad local de Windows creado por el programa de instalación que contiene el SID por servicio. Asignar permisos al grupo de seguridad es coherente con las versiones anteriores de Analysis Services. Además, las cuentas de inicio de sesión pueden cambiar con el tiempo, pero el SID por servicio y el grupo de seguridad local son constantes durante la duración de la instalación del servidor. Para Analysis Services, esto hace que el grupo de seguridad, en lugar de la cuenta de inicio de sesión, sea una mejor opción para conservar los permisos. Siempre que conceda manualmente derechos a la instancia de servicio, tanto si los permisos del sistema de archivos como los privilegios de Windows, asegúrese de conceder permisos al grupo de seguridad local creado para la instancia del servidor.
El nombre del grupo de seguridad sigue un patrón. El prefijo es siempre SQLServerMSASUser$, seguido del nombre del equipo, que termina con el nombre de la instancia. La instancia predeterminada es MSSQLSERVER. Una instancia con nombre es el nombre especificado durante la configuración.
Puede ver este grupo de seguridad en la configuración de seguridad local:
Ejecución de compmgmt.msc | Usuarios y grupos | localesGrupos |
SQLServerMSASUser$<server-name>$MSSQLSERVER(para una instancia predeterminada).Haga doble clic en el grupo de seguridad para ver sus miembros.
El único miembro del grupo es el SID específico por servicio. Justo al lado es la cuenta de inicio de sesión. El nombre de la cuenta de inicio de sesión es meramente decorativo, presente para proporcionar contexto al SID de cada servicio. Si posteriormente cambia la cuenta de inicio de sesión y vuelve a esta página, observará que el grupo de seguridad y el SID por servicio no cambian, pero la etiqueta de cuenta de inicio de sesión es diferente.
Privilegios de Windows asignados a la cuenta de servicio de Analysis Services
Analysis Services necesita permisos del sistema operativo para el inicio del servicio y solicitar recursos del sistema. Los requisitos varían según el modo de servidor y si la instancia está en clúster. Si no está familiarizado con los privilegios de Windows, consulte Privilegios y constantes de privilegios (Windows) para obtener más información.
Todas las instancias de Analysis Services requieren el privilegio Iniciar sesión como servicio (SeServiceLogonRight). El programa de instalación de SQL Server le asigna el privilegio en la cuenta de servicio especificada durante la instalación. En el caso de los servidores que se ejecutan en modo de minería de datos y multidimensional, este es el único privilegio de Windows que requiere la cuenta de servicio de Analysis Services para las instalaciones de servidor independientes y es el único privilegio que configura el programa de instalación para Analysis Services. En el caso de las instancias en clúster y tabulares, se deben agregar manualmente privilegios adicionales de Windows.
Las instancias de clúster de conmutación por error, en modo Tabular o Multidimensional, deben contar con Incremento de prioridad de programación (SeIncreaseBasePriorityPrivilege).
Las instancias tabulares usan los tres privilegios adicionales siguientes, que se deben conceder manualmente después de instalar la instancia.
| Aumentar el conjunto de trabajo de un proceso (SeIncreaseWorkingSetPrivilege) | Este privilegio está disponible para todos los usuarios de forma predeterminada a través del grupo de seguridad Usuarios . Si bloquea un servidor quitando privilegios para este grupo, Analysis Services podría no iniciarse, registrando este error: "El cliente no mantiene un privilegio necesario". Cuando se produce este error, restaure el privilegio a Analysis Services concediéndole al grupo de seguridad de Analysis Services adecuado. |
| Ajustar las cuotas de memoria de un proceso (SeIncreaseQuotaSizePrivilege) | Este privilegio se usa para solicitar más memoria si un proceso no tiene recursos suficientes para completar su ejecución, sujeto a los umbrales de memoria establecidos para la instancia. |
| Bloquear páginas en memoria (SeLockMemoryPrivilege) | Este privilegio solo es necesario cuando la paginación está desactivada por completo. De forma predeterminada, una instancia de servidor tabular usa el archivo de paginación de Windows, pero puede impedir que use la paginación de Windows estableciendo VertiPaqPagingPolicy en 0.VertiPaqPagingPolicy a 1 (valor predeterminado), indica a la instancia del servidor tabular que use el archivo de paginación de Windows. Las asignaciones no están bloqueadas, lo que permite a Windows realizar la paginación según sea necesario. Dado que se usa la paginación, no es necesario bloquear páginas en la memoria. Por lo tanto, para la configuración predeterminada (donde VertiPaqPagingPolicy = 1), no es necesario conceder privilegios de bloqueo de páginas en memoria a una instancia tabular.VertiPaqPagingPolicy a 0. Si desactiva la paginación en Analysis Services, las asignaciones se bloquean si se concede el privilegio Bloquear páginas en memoria a la instancia tabular. Dada esta configuración y el privilegio Bloquear páginas en memoria , Windows no puede paginar las asignaciones de memoria realizadas en Analysis Services cuando el sistema está bajo presión de memoria. Analysis Services se basa en el permiso Bloquear páginas en memoria como el mecanismo de ejecución detrás de VertiPaqPagingPolicy = 0. Tenga en cuenta que no se recomienda desactivar la paginación de Windows. Aumentará la tasa de errores de memoria insuficiente en las operaciones que podrían tener éxito si se permitiera la paginación. Consulte Propiedades de memoria para obtener más información sobre VertiPaqPagingPolicy. |
Para ver o agregar privilegios de Windows en la cuenta de servicio
Ejecución de GPEDIT.msc | Directiva de equipo local | Configuración del equipo | Configuración de Windows | Configuración de seguridad | Directivas locales | Asignaciones de derechos de usuario.
Revise las directivas existentes que incluyen
SQLServerMSASUser$. Se trata de un grupo de seguridad local que se encuentra en equipos que tienen una instalación de Analysis Services. Tanto los privilegios de Windows como los permisos de carpeta de archivos se conceden a este grupo de seguridad. Haga doble clic en la política Iniciar sesión como un servicio para ver cómo se especifica el grupo de seguridad en su sistema. El nombre completo del grupo de seguridad variará en función de si instaló Analysis Services como una instancia con nombre. Use este grupo de seguridad, en lugar de la cuenta de servicio real, al agregar privilegios de cuenta.Para agregar privilegios de cuenta en GPEDIT, haga clic con el botón derecho en Aumentar un conjunto de trabajo de proceso y seleccione Propiedades.
Haga clic en Agregar grupo o usuario.
Introduzca el grupo de usuarios para la instancia de Analysis Services. Recuerde que la cuenta de servicio es miembro de un grupo de seguridad local, lo que requiere que anteponga el nombre del equipo local como dominio de la cuenta.
En la lista siguiente se muestran dos ejemplos de una instancia predeterminada y una instancia con nombre denominada "Tabular" en una máquina denominada "SQL01-WIN12", donde el nombre del equipo es el dominio local.
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$MSSQLSERVER
SQL01-WIN12\SQL01-WIN12$SQLServerMSASUser$TABULAR
Repita para Ajustar cuotas de memoria para un proceso y, opcionalmente, para Bloquear páginas en memoria o Aumentar la prioridad de programación.
Nota:
Las versiones anteriores de la instalación añadieron inadvertidamente la cuenta de servicio de Analysis Services al grupo Usuarios del registro de rendimiento. Aunque se ha corregido este defecto, las instalaciones existentes podrían tener esta pertenencia innecesaria a grupos. Dado que la cuenta de servicio de Analysis Services no requiere la pertenencia al grupo Usuarios del registro de rendimiento , puede quitarla del grupo.
Permisos del sistema de archivos asignados a la cuenta de servicio de Analysis Services
Nota:
Consulta Configurar cuentas y permisos de servicio de Windows para obtener una lista de permisos asociados a cada carpeta del programa.
Consulte Configurar el acceso HTTP a Analysis Services en Internet Information Services (IIS) 8.0 para obtener información de permisos de archivo relacionada con la configuración de IIS y Analysis Services.
El programa de instalación de SQL Server asigna todos los permisos necesarios para las operaciones del servidor, incluidos los permisos necesarios para cargar y descargar bases de datos de una carpeta de datos designada.
El titular del permiso en archivos de datos, archivos ejecutables de archivos de programa, archivos de configuración, archivos de registro y archivos temporales es un grupo de seguridad local creado por el programa de instalación de SQL Server.
Hay un grupo de seguridad creado para cada instancia que instale. El grupo de seguridad se denomina después de la instancia , ya sea SQLServerMSASUser$MSSQLSERVER para la instancia predeterminada, o SQLServerMSASUser$<servername>$<instancename> para una instancia con nombre. El programa de instalación aprovisiona este grupo de seguridad con los permisos de archivo necesarios para realizar operaciones de servidor. Si comprueba los permisos de seguridad en el directorio \MSAS12.MSSQLSERVER\OLAP\BIN, verá que el grupo de seguridad (no la cuenta de servicio o su SID por servicio) es el titular de los permisos en ese directorio.
El grupo de seguridad contiene un solo miembro: el identificador de seguridad por servicio (SID) de la cuenta de inicio de la instancia de Analysis Services. La configuración agrega el SID específico del servicio al grupo de seguridad local. El uso de un grupo de seguridad local, con su pertenencia a SID, es una diferencia pequeña pero notable en la forma en que el programa de instalación de SQL Server aprovisiona Analysis Services, en comparación con el motor de base de datos.
Si cree que los permisos de archivo están dañados, siga estos pasos para comprobar que el servicio sigue aprovisionado correctamente:
Use la herramienta de línea de comandos Service Control (sc.exe) para obtener el SID de una instancia de servicio predeterminada.
SC showsid MSSqlServerOlapServicePara una instancia con nombre (donde el nombre de instancia es tabular), use esta sintaxis:
SC showsid MSOlap$TabularUse Administrador de equipos | Usuarios y grupos locales | Grupos para inspeccionar la pertenencia del grupo de seguridad SQLServerMSASUser$<servername>$<nombreDeInstancia>.
El SID del miembro debe coincidir con el SID de cada servicio del paso 1.
Usar Explorador de Windows | Archivos de Programa | Microsoft SQL Server | MSASxx.MSSQLServer | OLAP | bin para comprobar que las propiedades de seguridad de la carpeta se conceden al grupo de seguridad en el paso 2.
Nota:
Nunca quite ni modifique un SID. Para restaurar un SID por servicio que se eliminó accidentalmente, consulte https://support.microsoft.com/kb/2620201.
Más información sobre los SID por servicio
Cada cuenta de Windows tiene un SID asociado, pero los servicios también pueden tener SID, por lo que se conoce como SID por servicio. Se crea un SID por servicio cuando se instala la instancia de servicio, como un accesorio único y permanente del servicio. El SID por servicio es un SID de nivel de equipo local generado a partir del nombre del servicio. En una instancia predeterminada, su nombre descriptivo es NT SERVICE\MSSQLServerOLAPService.
La ventaja de un SID por servicio es que permite cambiar arbitrariamente la cuenta de inicio de sesión más visible, sin afectar a los permisos de archivo. Por ejemplo, supongamos que instaló dos instancias de Analysis Services, una instancia predeterminada y una instancia con nombre, que se ejecutan en la misma cuenta de usuario de Windows. Mientras se comparte la cuenta de inicio de sesión, cada instancia de servicio tendrá un SID único por servicio. Este SID es distinto del SID de la cuenta de inicio de sesión. El SID por servicio se usa para los permisos de archivo y los privilegios de Windows. En cambio, el SID de la cuenta de inicio de sesión se usa para escenarios de autenticación y autorización: diferentes SID, que se utilizan para distintos fines.
Dado que el SID es inmutable, las ACL del sistema de archivos creadas durante la instalación del servicio se pueden usar indefinidamente, independientemente de la frecuencia con la que cambie la cuenta de servicio. Como medida de seguridad agregada, las ACL que especifican permisos a través de un SID garantizan que solo se accede a los archivos ejecutables del programa y las carpetas de datos mediante una sola instancia de un servicio, incluso si otros servicios se ejecutan en la misma cuenta.
Concesión de permisos adicionales de Analysis Services para operaciones de servidor específicas
Analysis Services ejecuta algunas tareas en el contexto de seguridad de la cuenta de servicio (o cuenta de inicio de sesión) que se usa para iniciar Analysis Services y ejecuta otras tareas en el contexto de seguridad del usuario que solicita la tarea.
En la tabla siguiente se describen los permisos adicionales necesarios para admitir tareas que se ejecutan como la cuenta de servicio.
| Operación del servidor | Elemento de trabajo | Justificación |
|---|---|---|
| Acceso remoto a orígenes de datos relacionales externos | Crear el acceso a la base de datos para la cuenta de servicio | El procesamiento hace referencia a la recuperación de datos de un origen de datos externo (normalmente una base de datos relacional), que posteriormente se carga en una base de datos de Analysis Services. Una de las opciones de credenciales para recuperar datos externos es usar la cuenta de servicio. Esta opción de credencial solo funciona si crea un inicio de sesión de base de datos para la cuenta de servicio y concede permisos de lectura en la base de datos de origen. Consulte Establecer opciones de suplantación (SSAS - Multidimensional) para obtener más información sobre cómo se usa la opción de cuenta de servicio para esta tarea. Del mismo modo, si ROLAP se usa como modo de almacenamiento, están disponibles las mismas opciones de suplantación. En este caso, la cuenta también debe tener acceso de escritura a los datos de origen para procesar las particiones ROLAP (es decir, para almacenar agregaciones). |
| Consulta Directa | Crea un inicio de sesión de base de datos para la cuenta de servicio | DirectQuery es una característica tabular que se usa para consultar conjuntos de datos externos que son demasiado grandes para caber dentro del modelo tabular o tienen otras características que hacen que DirectQuery sea más adecuado que la opción de almacenamiento en memoria predeterminada. Una de las opciones de conexión disponibles en el modo DirectQuery es usar la cuenta de servicio. Nuevamente, esta opción solo funciona cuando la cuenta de servicio tiene credenciales de acceso a la base de datos y permisos de lectura en el origen de datos de destino. Consulte Establecer opciones de suplantación (SSAS - Multidimensional) para obtener más información sobre cómo se usa la opción de cuenta de servicio para esta tarea. Como alternativa, las credenciales del usuario actual se pueden usar para recuperar datos. En la mayoría de los casos, esta opción implica una conexión de doble salto, por lo que asegúrese de configurar la cuenta de servicio para la delegación restringida de Kerberos para que la cuenta de servicio pueda delegar identidades en un servidor aguas abajo. Para obtener más información, consulte Configurar Analysis Services para la delegación restringida de Kerberos. |
| Acceso remoto a otras instancias de SSAS | Adición de la cuenta de servicio a los roles de base de datos de Analysis Services definidos en el servidor remoto | Las particiones remotas y la referencia a objetos vinculados en otras instancias remotas de Analysis Services son funcionalidades del sistema que requieren permisos en un equipo remoto o dispositivo. Cuando una persona crea y rellena particiones remotas, o configura un objeto vinculado, esa operación se ejecuta en el contexto de seguridad del usuario actual. Si posteriormente automatiza estas operaciones, Analysis Services accederá a instancias remotas en el contexto de seguridad de su cuenta de servicio. Para tener acceso a objetos vinculados en una instancia remota de Analysis Services, la cuenta de inicio de sesión debe tener permiso para leer los objetos adecuados, como acceso de lectura a determinadas dimensiones. De forma similar, el uso de particiones remotas requiere que la cuenta de servicio tenga derechos administrativos en la instancia remota. Estos permisos se conceden en la instancia remota de Analysis Services, mediante roles que asocian operaciones permitidas a un objeto específico. Consulte Concesión de permisos de base de datos (Analysis Services) para obtener instrucciones sobre cómo conceder permisos de control total que permitan el procesamiento y las operaciones de consulta. Consulte Crear y administrar una partición remota (Analysis Services) para obtener más información sobre las particiones remotas. |
| Escritura diferida | Adición de la cuenta de servicio a los roles de base de datos de Analysis Services definidos en el servidor remoto | Cuando se habilita en aplicaciones cliente, la escritura diferida es una característica de modelos multidimensionales que permite la creación de nuevos valores de datos durante el análisis de datos. Si la escritura diferida está habilitada en cualquier dimensión o cubo, la cuenta de servicio de Analysis Services debe tener permisos de escritura en la tabla de reescritura de la base de datos relacional de SQL Server de origen. Si esta tabla aún no existe y debe crearse, la cuenta de servicio de Analysis Services también debe tener permisos de creación de tablas dentro de la base de datos de SQL Server designada. |
| Escritura en una tabla de registro de consultas en una base de datos relacional de SQL Server | Creación de un inicio de sesión de base de datos para la cuenta de servicio y asignación de permisos de escritura en la tabla de registro de consultas | Puede habilitar el registro de consultas para recopilar datos de uso en una tabla de base de datos para su posterior análisis. La cuenta de servicio de Analysis Services debe tener permisos de escritura en la tabla de registro de consultas de la base de datos de SQL Server designada. Si esta tabla aún no existe y debe crearse, la cuenta de inicio de sesión de Analysis Services también debe tener permisos de creación de tablas dentro de la base de datos de SQL Server designada. Para obtener más información, vea Mejorar el rendimiento de SQL Server Analysis Services con el Asistente para optimización basada en el uso (blog) y el registro de consultas en Analysis Services (blog). |
Véase también
Configurar los permisos y las cuentas de servicio de Windows
Cuenta de servicio de SQL Server y Per-Service SID (blog)
SQL Server usa un SID de servicio para proporcionar aislamiento de servicio (artículo de KB)
Token de acceso (MSDN)
Identificadores de seguridad (MSDN)
Token de acceso (Wikipedia)
Listas de control de acceso (Wikipedia)