Cómo cambiar la identidad del application pool de Crm y no morir en el intento

Como sabéis, el 'application pool' de Crm se arranca por defecto usando la cuenta 'Servicio de Red', pues esta es la configuración recomendada por Microsoft. Sin embargo, es posible que en ciertos escenarios queramos usar otra cuenta distinta. En este post no voy a tratar esos escenarios (eso lo dejo para futuros posts), y me voy a limitar a guiaros paso a paso si en alguna ocasión necesitáis realizar ese cambio.

1. Lo primero que tenemos que tener en cuenta es que la nueva cuenta de dominio que vamos a usar como identidad del Application Pool ha de ser una cuenta con suficientes permisos sobre todos los componentes de Crm (grupos de Directorio Activo, carpetas del Sitio Web, etc), por tanto se recomienda siempre usar una cuenta de administrador de dominio.

Para este ejemplo, en un alarde de originalidad vamos a suponer que esta cuenta se llama 'dominio\administrador'.

 

2. Vamos a añadir esta cuenta al grupo local IIS_WPG que se encuentra en el servidor de Crm.

Nótese que sin este paso, el application pool dejaría de arrancar tras cambiar su identidad. Nótese también que en IIS 7.0 (parte de Windows Server 2008) este paso no es necesario, pues el grupo IIS_WPG no existe.

En caso de que desconozcáis como conseguirlo, seguid estos pasos:

a) Click en inicio, right-click en Equipo, click en 'Administrar'.

b) Click en Usuarios o Grupos, click en Grupos, right-click en IIS_WPG, click en Agregar al grupo.

c) Buscar la cuenta 'dominio\administrador' y click en Aceptar.

image

 

3. Cambiamos la identidad del Application Pool, para ello:

a) Click en inicio, click en ejecutar, escribimos inetmgr y pulsamos enter.

b) Click en 'Grupos de Aplicaciones'.

c) Right-click en CrmAppPool y click en 'Set Application Pool Defaults'.

d) Click en la celda identidad. Click en el botón que indica que podemos especificar una cuenta distinta.

e) Click en 'Custom Account'. Click en el botón 'Set'.

f) Escribir dominio\administrador, y su password en los campos correspondientes.

g) Reiniciamos el application pool con los botones del menú contextual, o bien hacemos un iisreset en una ventana de comandos.

image

 

4. Cambiamos la identidad del Servicio de Procesamiento Asíncrono.

Desde versiones anteriores, Crm siempre ha necesitado que sus servicios se arranquen usando la misma cuenta que la que se usa en la Application Pool, por tanto hemos de ir a la consola de servicios y modificarla.

a) Inicio - Ejecutar - services.msc

b) Buscamos el Servicio Asíncrono de Microsoft Crm.

c) Right-click y entramos a sus propiedades.

d) En la pestaña xxxx sustituimos Network Service por la cuenta dominio\administrador, y escribimos el password donde lo pide.

e) Tras aceptar, deberemos reiniciar el servicio usando los botones de la barra de herramientas.

image

 

5. Añadimos la cuenta domain\administrador a los grupos de seguridad del dominio.

a) Necesitaremos tener acceso al controlador de dominio para poder abrir la consola de 'Usuarios y Equipos del Directorio Activo'.

b) Una vez dentro de dicha consola, buscaremos la Unidad Organizativa de Crm donde se crearon los 5 grupos de seguridad.

c) Hemos de añadir la cuenta a los siguientes tres grupos: PrivUserGroup, SQLAccessGroup, PrivReportingGroup.

En casode que no sepáis como añadir una cuenta a un grupo, basta con hacer right-click en el grupo y pulsar en 'Añadir a Grupo', y después escribir el nombre de la cuenta que se desea añadir.

image

 

6. Añadimos los SPNs necesarios a la cuenta.

Este es el paso más delicado (y complicado), por tanto prestad especial atención al seguir estos pasos.

a) Deberemos tener instaladas las Windows Support Tools bien en el servidor de Crm, o bien en el Controlador de Dominio. Si no están instaladas, descargarlas de aquí, e instaladlas.

b) Una vez instaladas, iremos a la carpeta c:\Archivos de Programa\Support Tools, donde se encuentra el archivo AdsiEdit, el cual hemos de ejecutar.

c) Una vez AdsiEdit esté abierto, navegaremos por el árbol que se encuentra en el panel de la izquierda hasta encontrar la cuenta del administrador.

d) Cuando la tengamos, hacemos right-click sobre ella y entramos a sus propiedades.

e) Buscamos una propiedad llamada Service Principal Names y hacemos doble click para abrirla.

f) En el cuadro de texto escribimos una cadena similar a la siguiente (da igual mayúsculas o minúsculas, pero aseguraros de escribirlo bien):

HTTP/crmserver

Tras escribirlo, pulsamos en Agregar, para que aparezca en la lista de SPNs que hay debajo.

g) Repetimos el paso anterior, esta vez para esta cadena:

HTTP/crmserver.dominio.local

image

IMPORTANTE: crmserver es el nombre de mi servidor de crm. Vosotros habréis de usar vuestro propio nombre y vuestro propio dominio y extensión. Por ejemplo, si en el dominio Contoso.org el servidor de Crm se llama server1, entonces los SPN serán HTTP/serv1 y HTTP/serv1.contoso.org

Nota: Es muy importante que en nuestro directorio activo no existan dos cuentas que contengan la misma cadena. Por ello es importante que la persona que administre el dominio os de el visto bueno para añadir estos SPN.

En caso de existir SPNs duplicados en varias cuentas, nos encontraremos con problemas de autenticación ejecutando Crm y otras aplicaciones que puedan estar instaladas en el sistema.

 

Esto es todo. Tras realizar estos cambios se suele ejecutar un iisreset para asegurarnos de que se toman las nuevas credenciales, y después lanzamos Crm para comprobar que todo está funcionando correctamente.

 

Por Luis Mazario