jueves, 21 de junio de 2012

Config Kerberos en NAVision 2009

Si tenemos en un servidor SQL y en otro los servicios de NAV, tendremos que configurar kerberos para acceder a los webservices y al cliente RTC. 

Las SPNs a crear son:

* Para SQL [SPN para la cuenta que levanta el servicio de SQL]
MSSQLSvc/ServidorSQL:1433
MSSQLSvc/FQDN_ServidorSQL:1433

Si el servidor SQL está en clúster,  también añadiremos una SPN sin puerto. Es decir:
MSSQLSvc/ServidorSQL
MSSQLSvc/FQDN_ServidorSQL

* Para los webservice [SPN para el usuario que levanta el servicio de webservice]
HTTP/ServidorNAV
HTTP/FQDN_ServidorNAV

* Para el servicio RTC [SPN para el usuario que levanta el servicio RTC]
NombreInstanciaNAV/ServidorNAV:7046
NombreInstanciaNAV/FQDN_ServidorNAV:7046

Por ejemplo: setspn -a DynamicsNAV/servidor01:7046 dominio\usuario

Si tenemos varias instancias de NAV, deberemos poner todas las que tengamos. 
Las SPNs de HTTP no distinguen puerto, por lo que es importante no crear una para el puerto 7047 y otra para el 80, etc. porque si no lo detecta como SPN duplicada y no funciona kerberos. 

En AD, los usuarios que levanten el servicio de SQL y NAV deberán tener la pestaña de delegación activa. Es decir, en las propiedades del usuario, en la pestaña Delegación, deberá tener marcada la opción "Trust this user for delegation to any service (Kerberos only)".

ADFS20 - Error certificado revocado

Hola,

Casuística: Cuando intentamos acceder al site (en mi caso CRM) y nos devuelve directamente un error de STS1.

Vamos a los visores de sucesos\ADFS\Admin y vemos que hay un error diciendo algo del estilo a
"An error occurred during an attempt to build the certificate chain for the relying party trust 'https://site:444' certificate identified by thumbprint 'xxxx'. Possible causes are that the certificate has been revokes, the certificate chain could not be verified as specified by the relying party trust's encryption certificate revocation settings or certificate is not within its validity period".

Solución: Evidentemente, lo primero a mirar es que el certificado no esté caducado. Pero si tenemos el certificado en perfectas condiciones, abrimos una powershell y escribimos


Add-PSSnapin Microsoft.Adfs.PowerShell

Set-AdfsRelyingPartyTrust -TARGETNAME "Nombre identificador de la Relying Party interna" -EncryptionCertificateRevocationCheck "None"

Set-AdfsRelyingPartyTrust -TARGETNAME "Nombre identificador de la Relying Party externa" -EncryptionCertificateRevocationCheck "None"

Y listos. Al acceder al site deberá salirnos correctamente la pantalla de login de ADFS y autenticarnos correctamente.

viernes, 18 de noviembre de 2011

AX - Error SysServerSessions

Buenas,

si el aos se vuelve loco y no acaba de iniciar o si inicia, pero a los usuarios les devuelven errores del estilo "usuario no reconocido en Ax", "no hay conexión con SQL", "error system sequence", "error sysserversession" ... tenemos 2 posibles soluciones:
  • Eliminar las stores procedures SysServerSession y SysClientSession
  • Copiar el contenido de SysServerSession y SysClientSession de una instalación de Ax que esté funcionando.

miércoles, 16 de noviembre de 2011

Autenticación Kerberos y Firefox

Buenas,

si estáis intentando acceder a alguna página web con autenticación kerberos y no hay manera de que se os muestre el contenido por los maravillosos errores de autenticación, probad lo siguiente.

Abrid un navegador firefox y escribir about:config en la barra de navegación.

Picamos el botón de “¡Tendré cuidado, lo prometo!”

Se nos abrirá una página con varios parámetros configurables de firefox. En el filtro podemos escribir auth para que nos muestre sólo los parámetros que nos interesan y sea más fácil modificarlos.

Debemos modificar 2 parámetros:

- network.negotiate-auth.delegation-uris
- network.negotiate-auth.trusted-uris

Nos ponemos sobre el parámetro\botón derecho -> Modificar

Aquí escribimos la url a la que intentamos ir, por ejemplo: erp.dominio.net

Lo mismo para el otro parámetro.

Cerramos todos los navegadores firefox que tengamos abiertos.

Cuando volvamos a abrir firefox ya podremos ver correctamente la web (nos pedirá autenticarnos 4 veces si el site no está en mis sitios de confianza).

AX - Auditar campos

Buenas,

en ocasiones nos interesará saber quién ha modificado x campo.

Para ello , vamos al módulo de Administración vamos a configurar\Registro de base de datos
En el formulario que se nos abre, le damos a “Nuevo”. Esto dará paso a un asistente para configurar las tablas que queremos auditar:
En la siguiente página seleccionaremos los dominios que queramos auditar:
En la siguiente página podemos escoger ver las tablas principales o mostrar todas las tablas.
Al desplegar los diferentes apartados, podremos marcar las tablas y/o campos que deseamos auditar.
En la siguiente página deberemos escoger qué queremos dejar registrado: cada vez que alguien inserte/actualice/elimine/asigne un nuevo nombre a la clave de la tabla auditada o cada vez que alguien modifique el campo auditado.
En la siguiente página nos muestra un resumen de lo que estamos registrando:
Cuando vayamos a Administración\Consultas\Registro de base de datos veremos los cambios realizados.
Si vamos a Administración\Informes\Registro de base de datos nos devolverá un informe detallado con los resultados de la auditoría.

AX - cómo replicar entornos

Un hecho recurrente en Ax es copiar entornos. Por ejemplo, tenemos el entorno de test desactualizado y queremos actualizarlo con lo que hay en producción.

Para hacer esto deberemos hacer backup de la carpeta de aplicación y de la BDD del entorno de test. Siempre recomiendo backup para poder dar marcha atrás o recurrir a esos archivos en caso de necesitarlos más adelante.

Paramos AOS de test, copiamos el contenido de la carpeta de aplicación de producción en test (importante mantener el nombre de la carpeta de test si no queremos tocar nada de la configuración del AOS y clientes).

Paralelamente, restauramos BDD de producción en Test.

Una vez ha finalizado, en la carpeta de aplicación de Test eliminamos el fichero .aoi e iniciamos el AOS de test.

Es normal que nos aparezca un mensaje del estilo "el servicio de aos no se ha podido iniciar en el tiempo estimado, espere". Esto es porque no está creando el archivo .aoi generando los nuevos índices.

Esperamos un poco y, una vez iniciado el aos, entramos en ax_test para verificar que tenemos el entorno replicado :)

AX2009 - Error PeriodYear en Role center

Buenas,
quien instale centro de roles y funcione todo a la primera: chapeut.

Para el resto, puede que resulte interesante este post :)
Desde el formulario de administración de OLAP\Pestaña Avanzado, Marcamos "actualizar datos BI" y pulsamos "Actualizar bases de datos", este proceso creará datos en la tabla "LedgerPeriodDuimensions".
Una vez hecho esto , hemos de procesar la dimension "Ledger Period Time dimension" desde la consola SQL management studio (Analysis services).

Y ya está, un problema menos ;)