Una de las primeras tareas a realizar, después de instalar SharePoint 2010 y de crear la Granja de SharePoint 2010, es realizar la configuración de los servicios compartidos que deseamos ofrecer desde nuestra Granja. Una de las alternativas para acometer esta tarea es utilizar el Farm Configuration Wizard, como se describe en el artículo Configurar MOSS 2010: Configuración de Servicios y Servidores de una Granja MOSS 2010. Sin embargo, para entornos de producción, no es recomendable utilizar el Farm Configuration Wizard, siendo preferible realizar una configuración manual (o automatizada con PowerShell). El presente artículo describe el procedimiento a seguir para la configuración manual de PerformancePoint Service en una Granja MOSS 2010, de forma similar a como hicimos anteriormente con el Secure Store Service.
Una vez que tengamos configurado PerformancePoint Service en nuestra Granja MOSS, estamos en situación de poder empezar a crear Sitios habilitados para utilizar PerformancePoint Services, y de este modo, poder convertir nuestro Granja MOSS en un verdadero Portal de Business Intelligence.
Algunas recomendaciones para la configuración del PerformancePoint Service en SharePoint 2010
Para la configuración de PerformancePoint Service, necesitaremos una Base de Datos en SQL Server, así como un Application Pool que ejecutará el servicio.
Para la Base de Datos deberemos elegir sobre que instancia de SQL Server deseamos crear dicha Base de Datos, así como los datos de autenticación a la misma y el nombre que deseamos asignarla. No tiene gran complicación. Habitualmente se utiliza una única instancia para dar servicio a todas las Bases de Datos de una Granja SharePoint 2010, pudiendo utilizar esa misma instancia de SQL Server.
Para el Application Pool, lo primero que deberemos decidir es si crear un Application Pool dedicado para PerformacePoint Service, o si por el contrario, deseamos ejecutar PerformancePoint Service dentro de un Application Pool compartido para varios servicios. Para entornos de producción, la recomendación es crear un Application Pool exclusivo para PerformancePoint Services utilizando una cuenta de servicio dedicada para el mismo. El problema de compartir un Application Pool para varios servicios, es que si en un futuro es necesario reciclar el Application Pool por un problema en un Servicio específico, estaremos impactando al resto de servicios. Este razonamiento puede aplicarse al resto de tareas administrativas y de mantenimiento (ej: si paramos un Application Pool, si se nos cae el Application Pool, etc.).
Además, utilizar una cuenta específica para este Application Pool, nos permite tener un mayor control de los permisos, y del mismo modo, aislar problemas (o minimizar su impacto) que pueden llegar a producirse en un futuro (ej: a más de uno se le ha bloqueado una cuenta de servicio utilizada en un Application Pool o en un Servicio de Windows).
Por otro lado, está la cuenta de servicio desatendida de PerformancePoint Services (unattended service account), que permite el acceso a datos externos desde PerformancePoint Services sin necesidad de utilizar Kerberos. Téngase en cuenta, que antes de poder configurar la la cuenta desatendida de PerformancePoint Services (unattended service account), deberemos configurar el Secure Store Service. Téngase en cuenta que es recomendable utilizar una cuenta de usuario exclusiva como cuenta desatendida (unattended service account).
A continuación se detalla el proceso de configuración de PerformancePoint Services sobre una Granja de SharePoint 2010 correspondiente a un entorno de Laboratorio. La Granja está formada por un único servidor MOSS, que actuará como Frontal Web y como Servidor de Aplicaciones. Utilizaremos un Application Pool compartido para ejecutar el PerformancePoint Service. Del mismo modo, crearemos la Base de Datos de PerformancePoint Service sobre la misma instancia SQL utilizada para el resto de bases de datos de la Granja MOSS.
Configurar PerformancePoint Services en una Granja SharePoint 2010
La configuración inicial de PerformancePoint Service puede resumirse en los siguientes cuatro pasos:
- Registrar una cuenta gestionada (managed account) para ejecutar el Application Pool del PerformancePoint Service.
- Iniciar el servicio PerformancePoint Service en al menos un servidor MOSS de la Granja.
- Crear la aplicación de servicio para el PerformancePoint Service (PerformancePoint service application).
- Configurar la cuenta de servicio desatendida de PerformancePoint Services (unattended service account). Requiere que el Secure Store Service sea configurado previamente.
Realizado esto, estaremos en situación de poder utilizar PerformancePoint Services, habilitándolo en un Sitio existente, o bien, creando un nuevo Sitio o Colección de Sitios dedicado para ello.
A continuación se describen los anteriores cuatro pasos.
El primer paso a realizar es registrar una cuenta gestionada (managed account) para ejecutar el Application Pool del PerformancePoint Service, para lo cual, hace falta una simple cuenta de dominio sin privilegios elevados, simplemente con permisos sobre las Bases de Datos de Contenido que almacenan los datos de PerformancePoint Service (permisos que pueden concederse de forma sencilla utilizando PowerShell), y seguidamente registrar esta cuenta en la Central Administration, dentro de Security -> General Security -> Configure managed accounts (es muy sencillo). En nuestro caso de ejemplo vamos a seguir una filosofía simplista, y vamos a utilizar una única cuenta de servicio para todo, es decir, vamos a utilizar la cuenta que especificamos como Database Access Account al crear la Granja de SharePoint 2010, tanto en los Application Pool de los diferentes Servicios de MOSS como para los Application Pool de las Aplicaciones Web. Téngase en cuenta, que al utilizar una única cuenta de servicio para todo, no será necesario conceder los permisos sobre las Bases de Datos de Contenido a la cuenta de servicio de PerformancePoint Service). Además vamos a utilizar un Application Pool existente, en consecuencia, un Application Pool compartido. Todo esto es una mala práctica para entornos productivos, pero en nuestro caso de ejemplo estamos montando un entorno de Laboratorio, para lo cual resulta suficiente.
En consecuencia, si utilizamos una cuenta de servicio dedicada para el Application Pool del PerformancePoint Service, deberemos concederle permisos sobre las Bases de Datos de Contenido, para lo cual, podemos ejecutar un código similar la siguiente, ejecutándolo desde una sesión de SharePoint 2010 Management Shell abierta con permisos de administrador, y ejecutándolo para cada una de las Aplicaciones Web en las que tengamos Bases de Datos de Contenido que puedan almacenar datos de PerformancePoint Service.
$w = Get-SPWebApplication -identity <web application> $w.GrantAccessToProcessIdentity("<service account>")
|
El segundo paso es iniciar el servicio PerformancePoint Service en al menos un servidor MOSS de la Granja. En nuestro caso de ejemplo tenemos una Granja formada por un único servidor. Para ello accederemos a la consola de Administración Central de SharePoint (Central Administration), y haremos click en la opción Manage services on server de la sección System Settings.
En la pantalla Services on Server, en el desplegable Server seleccionaremos el servidor de la Granja sobre el cual deseamos iniciar el servicio PerformancePoint Service, y seguidamente en la lista de servicios deberemos hacer click en Start junto al servicio PerformancePoint Service.
Ahora, en el tercer paso, deberemos crear la aplicación de servicio para el PerformancePoint Service. Para ello accederemos a la consola de Administración Central de SharePoint (Central Administration), y haremos click en la opción Manage service applications de la sección Application Management.
En la pantalla Service Applications, desplegaremos el botón New, y click en PerformancePoint Service Application.
En el diálogo Create New PerformancePoint Service Application, deberemos especificar lo datos necesarios: un nombre descriptivo para el servicio que estamos creando (Service Application Name), especificar si deseamos añadir la Aplicación de Servicio que estamos creando al Default Proxy de la Granja, especificar una instancia de SQL Server y el nombre de base de datos que deseamos crear para utilizar por el PerformancePoint Service (Database Server y Database name) junto a los datos de autenticación (Database authentication) para conectar con dicha instancia SQL Server, el nombre de la instancia SQL Server que actúe como Mirror (Failover Server) en el caso de estar utilizando Database Mirroring (en caso contrario, dejar en blanco), y por último los datos de Application Pool que será utilizado por el PerformancePoint Service. Click Create para continuar.
Realizado esto, el PerformancePoint Service habrá sido creado con éxito. Click OK para continuar.
Con esto llegamos al cuarto paso, durante el cual configuraremos la cuenta de servicio desantendida (unattended service account) de PerformancePoint Service. Para ello, deberemos hacer click sobre la Aplicación de Servicio que acabamos de crear en el paso anterior (PerformancePoint Service Application).
En la pantalla Manage PerformancePoint Services, click en PerformancePoint Service Application Settings.
En la pantalla PerformancePoint Service Application Settings, deberemos especificar la Aplicación de Servicio de Secure Store Service que deseamos utilizar, así como los datos de la cuenta de servicio desatendida (unattended service account) de PerformancePoint Service.
Realizado esto, habremos finalizado la configuración inicial del PerformancePoint Service, a excepción de la concesión de permisos. Téngase en cuenta, que para poder acceder a datos externos, la cuenta de servicio desatendidad de PerformancePoint Services (unattended service account) debe tener suficientes permisos de acceso sobre los datos a los que se desea acceder, en particular:
- Para SQL Server, debe existir un inicio de sesión (login) con permisos de lectura sobre la base de datos a la que desea acceder (ej: a través de pertenencia al rol db_datareader) para la cuenta desatendida de PPS.
- Para SQL Server Analysis Services (SSAS), la cuenta desatendida de PPS debe tener permisos de lectura (Read) sobre el cubo (o porción del cubo) sobre la que se desea acceder.
- Para Excel Services, la cuenta desatendida de PPS debe tener permisos de acceso al libro Excel al que se desea acceder.
- Para Listas de SharePoint, la cuenta desatendida de PPS debe tener permisos de lectura sobre la lista a la que se desea acceder.
Como curiosidad, resulta de interés revisar cómo queda la configuración del Secure Store Service una vez que hemos creado la cuenta de servicio desatendida de PerformancePoint Services. Para ello, deberemos volver a la pantalla Service Applications, y seguidamente, click en la Aplicación de Servicio del Secure Store Service.
Podremos observar que se ha creado una entrada, para las credenciales correspondientes a la cuenta de servicio desatendida (unattended service account) de PerformancePoint Services. Si lo deseamos, podemos editarla para verla en detalle. OJO: Jamás deberemos editar la cuenta desatendida de PPS desde aquí, debe configurarse desde PerformancePoint Services. En nuestro caso, vamos a darle a Editar, pero sólo para verla, no vamos a aplicar ningún cambio. Las pruebas, con gaseosa.
Se mostrará la pantalla Target Application Settings, en la cual podemos ver el detalle de su configuración.
Antes de finaliza, comentar que acabamos de realizar una configuración mínima, desde el punto de vista de infraestructura, ya que para utilizar PerformancePoint Service, además de habilitar el servicio, es necesario crear un Sitio habilitado para PerformancePoint Services y configurar las ubicaciones de confianza (tanto para los orígenes de datos como para los contenidos de PerformancePoint Services), tareas que no quedan descritas en el presente artículo. Ademas, como comentamos un poco más arriba en el presente artículo, habría que conceder permisos de acceso a la cuenta de servicio desatendida de PerformancePoint Service (unattended service account) sobre los datos externos a los que se desea acceder.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.