Cuentas para Instalar y Crear la Granja de SharePoint 2013
Lo primero, comentar que esta recomendación es válida, tanto para SharePoint 2013, como para versiones previas del producto como SharePoint 2010 y SharePoint 2007.
Para poder realizar la instalación de SharePoint en cada uno de los servidores (excepto de SQL Server, que es otro tema), tanto de los pre-requisitos como del resto del software (ej: SharePoint, Language Packs, Service Packs, Cumulative Updates, etc.), así como para crear la Granja de SharePoint, es decir, ejecutar el Asistente de Configuración o el psconfig.exe, necesitaremos disponer de las siguientes cuentas (recomendablemente). De hecho, sino tenemos claro el resto de cuentas, podemos ir pidiendo estas cuentas y empezar la instalación y configuración de la Granja, mientras continuamos pensando en el resto de cuentas que vamos a utilizar (el mundo de la Consultoría, no da para perder el tiempo ;-).
- Setup user account (ej: GUILLESQL\sp_setup). También podemos llamarla la cuenta de Instalación/Configuración. Esta es la cuenta que se utilizará para realizar la instalación y configuración de Granja de SharePoint. Debe ser Administrador Local de todos los servidores SharePoint 2013, y además debe ser miembro de los roles securityadmin y dbcreator en SQL Server. Adicionalmente, es recomendable que sea miembro del rol db_owner en la base de datos MODEL, para que pueda heredar estos permisos en las futuras bases de datos nuevas que se creen en la Instancia SQL.
- Server farm account or database access account (ej: GUILLESQL\sp_farm). También podemos llamarla la cuenta de servicio de la Granja. Es la cuenta que especificaremos al crear la Granja (utilizando el Asistente de Configuración, el psconfig.exe, o PowerShell), la cual, levantará los Servicios y Web Services básicos de SharePoint (de ahí lo de Farm Account). También es conocida como Database Access Account, porque al crear la Granja, esta cuenta se utilizará como cuenta de servicio que será empleada para acceder a la Base de Datos de Configuración, etc.
Quería dejar claro que la cuenta de Instalación/Configuración, no debe ser utilizada por ningún servicio. Es sólo para nosotros, sólo para que nos logemos en las máquinas de SharePoint, para llevar a cabo tareas de Instalación y Configuración de SharePoint. Al no ser utilizada por ningún servicio, no habrá problema si algún día algún técnico introduce mal la contraseña y bloqueamos la password (no generaremos ninguna indisponibilidad, ya que ningún servicio depende de ella), y además si en un futuro deseamos cambiarla la contraseña de esta cuenta, no tendremos ningún inconveniente. En muchos clientes, esta cuenta la utilizan para muchas cosas más, incluso es la misma que la cuenta de servicio de la granja y de otras Aplicaciones, y cuando alguna persona ha abandonado el departamento (por poner un ejemplo entre muchos) y quieren cambiar su contraseña, se encuentran con todo el pastel. Adicionalmente, yo tengo la (mala o buena) costumbre, de conceder permisos de control total a esta cuenta en todas las Aplicaciones Web utilizando Policies, de tal modo, que al estar logados con la cuenta de Instalación/Configuración para realizar dichas tareas, no tener problemas de permisos sobre los Sites, y que la administración resulte más cómoda. Es manía.
Cuentas de Servicio necesarias para configurar la Granja de SharePoint
Una vez que hemos realizado la Instalación de SharePoint, necesitaremos tener el resto de cuentas de servicio, para poder continuar con el resto de la configuración de nuestra Granja. Este dependerá entre otras cosas de qué servicios deseemos levantar en la Granja, así como también, de ciertas configuraciones adicionales que pueda haber relacionadas con dichos servicios. Otro factor importante, es cuanto pijo somos, es decir, muchos servicios en SharePoint requieren de un App Pool, por lo tanto, podemos utilizar un App Pool independiente para cada Servicio, o bien compartir un mismo App Pool entre varios servicios. Claro está, que lo suyo es que cada App Pool tenga su propia cuenta de servicio, con los permisos mínimos necesarios. Si nos ponemos pijos, nos ponemos pijos.
Personalmente, me parece una tontería plantearse una estrategia de permisos tan cuidada, si en el grupo de Administradores del Dominio de nuestra empresa está metida hasta la señora (o el señor) de la limpieza. Puede resultar bastante laborioso mantener un entorno así con el paso del tiempo. Si estamos en una empresa en la que todas las cosas se hacen así de bien, hagámoslo. Sino, vale la pena buscar un punto intermedio, más simple, y que también nos proporcione una infraestructura robusta y segura.
En términos generales, mi recomendación de Cuentas de Servicio para una Instalación de SharePoint 2013 típica, es la siguiente:
- Services (ej: GUILLESQL\sp_services). Una única cuenta de servicio, para utilizar para todos los App Pool utilizados por los servicios de nuestra Granja, es decir, esta cuenta NO la utilizaremos para los App Pool correspondientes a nuestros Sitios Web (Web Applications).
- Search (ej: GUILLESQL\sp_search). Una cuenta de servicio para los Servicios de Búsqueda de SharePoint.
- Crawl (ej: GUILLESQL\sp_crawl). Una cuenta de servicio para la Indexación (Crawling) de contenidos. Esta NO es una Cuenta Gestionada (Managed Account) por SharePoint.
- User Profiles (ej: GUILLESQL\sp_profiles). Una cuenta de servicio para la importación de perfiles, que típicamente realizaremos importando desde Directorio Activo. Necesitaremos conceder permisos de Replicate Directory Changes sobre Directorio Activo a este cuenta.
- Claims to Windows Token Service - c2WTS (ej: GUILLESQL\sp_c2wts). Una cuenta de servicio para el servicio C2WTS. Como alternativa, podríamos utilizar la cuenta de servicio de la Granja (Farm Accont). Honestamente, no tengo muy claro hasta qué punto vale la pena tener una cuenta de servicio dedicada sólo para C2WTS. En cualquier caso, es importante revisar los permisos que debemos conceder a esta cuenta (ver Claims to Windows Token Service - C2WTS).
- Web Applications. Para mi es bastante importante tener una cuenta de servicio dedicada para cada Web Application (es decir, para los App Pool que dan servicio a las Aplicaciones Web de SharePoint, en consecuencia, a los Sitios Web). Si quieres algo más simple, al menos plantéate tener una cuenta de servicio sólo para los Web Applications, aunque sea compartida entre todos los Web Applications que tengas.
Antes de acabar, quería añadir algunos artículos para quien desee ampliar más información:
Ahora que ya tenemos nuestras Cuentas de Servicio, podemos proceder a instalar los binarios (Pre-Requisitos, SharePoint, Language Packs, Service Packs, etc) sobre cada servidor, crear la Granja de SharePoint 2013 (por ejemplo con psconfig.exe), y levantar los Servicios y Aplicaciones de SharePoint 2013 (por ejemplo con PowerShell) que deseemos ofrecer desde nuestra Granja.
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.