Para cambiar la cuenta de servicio (o su contraseña de la misma) utilizada en un App Pool de SharePoint, deberemos utilizar la Central Admin y jamás utilizar el IIS Manager ni tocar la Metabase del IIS directamete. Esto es debido a que SharePoint almacena la configuración de sus App Pools en la Base de Datos de Configuración de la Granja, de tal modo, que cuando añadimos un nuevo Frontal Web a nuestra Granja, SharePoint será capaz de crear los App Pools y Sitios de IIS de la misma forma que lo hizo en el resto de los Frontales Web en su momento. Esta es la idea de la Granja, y la verdad, que está bien pensada (mejorable, pero está muy bien).
Obviamente, deberemos tener en consideración ciertos detalles al realizar un cambio de este tipo, como por ejemplo:
- Revisar los SPNs de la cuenta de servicio afectada. Si vamos a cambiar sólo la password da igual, pero si vamos a configurar una cuenta de servicio diferente, deberemos eliminar los SPNs de la cuenta original, y configurar dichos SPNs sobre la nueva cuenta de servicio. Para esto podemos utilizar el comando setspn.exe.
- Revisar la pertenencia a grupos. Esto lo haremos tanto en Directorio Activo, como para los grupos locales (en cada uno de los servidores de la Granja de SharePoint, independientemente de si son Frontales Web o no).
- Revisar las propiedades de la cuenta en Directorio Activo. Principalmente, la opción Account is trusted for delegation.
- Revisar los permisos en SharePoint. Revisar los permisos, especialmente si la cuenta es Farm Admin, o si tiene permisos en alguna Aplicación Web.
- Revisar los permisos en SQL Server. Deberemos comprobar que la nueva cuenta tiene los mismos permisos sobre las mismas Bases de Datos que la cuenta original.
Por supuesto, deberemos conocer la contraseña de la cuenta antigua y de la nueva. Si no conocemos la contraseña de la cuenta antigua, deberemos al menos realizar algún tipo de Backup de nuestra Granja y de nuestros Servidores para poder garantizar la Marcha Atrás (no debería ser necesario, pero en Producción, toda precaución es poca).
Habitualmente, el riesgo principal al hacer un cambio de este tipo, no es el cambio en sí, sino la eterna duda de siempre: ¿Dónde más se estará utilizando la cuenta que voy a cambiar?
Podemos revisar los ficheros Web.Config de las Aplicaciones Web, las Tareas Programadas de Windows en todos los servidores de la Granja, los Servicios de Windows en todos los Servidores de la Granja (y más en particular los servicios de SharePoint como el Timer), y otras configuraciones de SharePoint, como la Indexación, la configuración del People Picker si tenemos relaciones de confianza unidireccionales con otros Dominios o Bosques, etc., pero nunca estaremos totalmente seguros. Por ello, suele ser recomendable mantener habilitada y con la contraseña original la cuenta que vamos a cambiar. De este modo, si existe algo en alguna parte que lo sigue utilizando, no generaremos ninguna indisponibilidad, puesto que la cuenta existe, con la misma contraseña y los mismos permisos. Posteriormente, podremos utilizar la Auditoría de Directorio Activo para comprobar si se han realizado Logones sobre esa cuenta y desde qué máquina, para de este modo, conseguir tener una mayor certeza, y sobre todo, transmitírsela a nuestro cliente/cuenta.
Y dicho todo este rollo, vamos a explicar cómo cambiar la cuenta de servicio de un App Pool de SharePoint 2007 (en versiones más reciente del producto, es la misma historia, aunque cambia el aspecto gráfico de la Central Admin).
Accederemos a la pestaña Operations de la Central Admin, y entraremos en la opción Service Accounts de la sección Security Configuration.
En la pantalla Service Accounts seleccionaremos la opción Web Application Pool, seguidamente indicaremos el App Pool que deseamos cambiar, e indicaremos el usuario y contraseña de la nueva cuenta de servicio que deseamos utilizar. Click OK para continuar.
Nos aparecerá un mensaje indicando que debemos ejecutar un IISRESET /NOFORCE sobre todos y cada uno de los servidores de la Granja de SharePoint.
Realizado esto, podremos comprobar con el IIS Manager que el App Pool ya ha quedado configurado con la nueva cuenta de servicio sobre todos los servidores de la Granja, y empezar a realizar todas las pruebas que consideremos oportunas para asegurarnos que el servicio se está prestando con total normalidad.
A modo informativo, si tenemos alguna herramienta como el SharePont Manager, podremos conectarnos a nuestra Granja de SharePoint y comprobar la información que guarda en la Base de Datos de Configuración sobre los distintos App Pools que conoce, así como otros detalles como la cuenta de servicio (uff, la contraseña está en texto plano ;-).
No se me ocurre mucho más que decir del cambio de cuenta de los App Pool de SharePoint (si caigo en algo más, intentaré actualizar el artículo más adelante).
Poco más por hoy. Como siempre, confío que la lectura resulte de interés.