Actualizar VMware Identity Manager (vIDM) – Actualizando vRA Parte 4

Continuando con esta serie de posts acerca de la actualización de la solución vRealize Automation 8.x, en esta oportunidad estaremos actualizando el componente de VMware Identity Manager (ahora Workspace ONE Access). Para este capitulo tendremos una serie de prerrequisitos que verificar. Pero si ha seguido esta serie de publicaciones no debería tener ningún problema.

PRERREQUISITOS

– Verifique que haya tomado una snapshot de los nodos de VMware Identity Manager (Si ha seguido esta serie de posts para la actualización de vRealize Automation 8.x omita este paso, ya lo hicimos en la Parte 1).

– Para una actualización de VMware Identity Manager en clúster, asegúrese de deshabilitar todos los nodos en espera en el equilibrador de carga para que el tráfico no se enrute a los nodos en espera y habilítelos nuevamente una vez que se complete la actualización.

– Por ultimo, debemos verificar que los Binarios ya se encuentre disponibles en vRealize Lifecycle Manager (vLCM). Desde el servicio de Lifecycle Operations vaya a la sección Home -> Settings -> Binary Mapping. Sino ha seguido esta serie de post no se preocupe! en el Post Configurar Binarios en vLCM – Actualizando vRA a 8.3 Parte 3 explico cual es el procedimiento para hacerlo. No tomara mas de 5 min de lectura. (Léalo y vuelva cuando este listo).

Deshabilitar nodos secundarios en el balanceador de vIDM (NSX-T)

Como pudimos observar uno de los prerrequisitos cuando tenemos una configuración de cluster en vIDM, es que debemos deshabilitar los miembros del balanceador que estén en Standby, es decir los nodos que son secundarios.

Para saber cuales es el nodo primario y cuales los nodos secundarios basta con ir a vLCM ->Lifecycle Operations ->Environments y clic en VIEW DETAILS de globalenvironment.

Nota 1: Bajo Product References podrá ver cual es el nodo primario y cuales los nodos secundarios. Tenga en cuenta esta información para cuando vaya a deshabilitar los miembros del balanceador.

Podemos ahora continuar con los siguientes pasos en la interface de NSX-T Manager.

1. Una vez identificado los nodos Standby debe hacer login en NSX-T y luego en Networking -> Load Balancing -> Virtual Servers, para editar el balanceador y sus miembros.

Identifique el Server Pool asociado a la solución de VMware Identity Manager (para este caso es wsa-server-pool).

2. Vaya a la sección de SERVER POOLS en la interface de NSX-T y luego seleccione el server pool asociado al vIDM.

3. Haga clic en los tres puntos verticales al lado izquierdo y luego Edit.

4. Después haga clic en el numero 3 que indica los miembros del Server Pool, para editarlo.

5. En esta vista haga clic en los tres punto y luego Edit en los miembros del pool que son secundarios.(Para este caso los nodos secundarios son irpaclyvm-vidm-it-02 y irpaclyvm-vidm-it-03).

Cambie el estado a Disabled para ambos miembros y clic en SAVE.

6. Después clic en APPLY para aplicar los cambio y debería verse de la siguiente forma.

7. Clic en SAVE para terminar.

Una vez hemos completado los prerrequisitos. Podemos continuar con el proceso de actualización de vIDM desde la interface de vRealize Lifecycle Manager.

PROCEDIMIENTO

1. En el servicio Lifecycle Operations haga clic en Manage Environment.

2. Navegue hasta la instancia globalenvironment.

3. Clic en VIEW DETAILS. 

4. Clic en los tres punto a la derecha de VMware Identity Manager y después en Trigger Cluster Health.

El resultado del Request debería ser Completed.

5. Vuelva a Environments -> globalenvironment y haga clic en el botón Upgrade. Y marque los check asociados al snapshot y al cluster health.

Nota 2: Si ya tomó el Snapshot marque el check, sino cree uno desde el vCenter Server o desde el vLCM para los appliances de vIDM.

6. Clic en el botón TRIGGER INVENTORY SYNC. Es mandatorio para poder habilitar el botón de PROCEED.

7. Clic en PROCEED y seleccione el tipo de repositorio.

Nota 3: Puede seleccionar cualquiera de los siguiente repositorios.

Nota 4: De manera opcional puede hacer clic en el botón VIEW COMPATIBILITY MATRIX para verificar la compatibilidad de la nueva versión con las soluciones existentes. Se requiere acceso a internet en la IP de vLCM para esta acción.

8. Clic en el botón RUN PRECHECK.

9. Lea los comentario y marque el check “I took care of the manual steps above and am ready to proceed” para habilitar el botón RUN PRECHECK.

10. Clic en RUN PRECHECK una vez mas y espere a que termine la validación.

11. Revise la información presentada y luego clic en NEXT.

12. Luego clic en SUBMIT y espere a que el proceso de actualización termine. Sea paciente, este proceso puede tardar mas de una hora.

Al final el resultado del Request debería ser Completed.

13. Vaya a de nuevo Environments -> globalenvironment y verifique la versión del producto. Para este caso mostrara 3.3.4.

14. Inicie sesión en la URL del Tenant en vIDM y verifique el correcto funcionamiento de la solución.

15. Siguiendo los pasos anteriormente mencionado para deshabilitar los miembros Standby del balanceador de vIDM, debemos hacer lo mismo pero esta vez para volver a activarlos. Deberían quedar todos los miembros con el estado en Enabled.

16. Por ultimo, verifique que hasta aquí continúe con acceso al portal de vRealize Automation.

Referencia

https://docs.vmware.com/en/VMware-vRealize-Suite-Lifecycle-Manager/8.3/com.vmware.vrsuite.lcm.8.3.doc/GUID-F2072ADF-4C4B-454E-A074-DB4B0B472184.html#GUID-F2072ADF-4C4B-454E-A074-DB4B0B472184

Reset password expirado en VMware Identity Manager vía API

En esta ocasión venimos a solucionar un problema que hace un par de días me consumió toda una tarde, primero porque no tenia ni idea de como configurar Postman y segundo porque no sabia como utilizar las API calls disponibles para VMware Identity Manager (vIDM).

Escenario:  El usuario default Tenant (confiadmin) o cualquier usuario local creado en vIDM para el entorno de vRA tiene su contraseña expirada.

Antes de continuar debemos aclarar que si tenemos un SMTP configurado en la solución vIDM, el reset del password no seria un problemas debido a que simplemente hacemos login en la URL del Tenant de vIDM con el usuario admin, vamos a la sección User & Groups, seleccionamos el usuario que tiene el password expirado y hacemos clic en reset password. Esta acción envía una notificación por email y desde allá podremos restaurar la clave.

El problema realmente viene cuando no tenemos un SMTP configurado, por lo tanto VMware Identity Manager (vIDM) no es capas de enviar la notificación al usuario y no podemos restaurar la contraseña de esta manera. El error generado cuando esto pasa dice los siguiente: Password reset email could not be sent due to "Error sending email".

Como el nombre del post lo indica, la clave aquí es usar API calls utilizando la herramienta Postman. Al final notará que resulta ser la forma mas fácil de solucionar el problema. Veamos el procedimiento…

PROCEDIMIENTO

El procedimiento explicado a continuación muestra la desde la configuración del cliente necesario en vIDM, hasta la utilización de las APIs en Postman para la restauración del password del usuario afectado.

Configurar vIDM para usar OAuth token

1. Una vez instalada la herramienta debemos configurar un token para la autenticación. Utilizando los siguientes pasos que han sido adaptados del siguiente blog.

2. Desde un navegador web haga Login en la URL del Tenant de vIDM en donde tiene el usuario afectado. Y luego vaya a la seccione Catalog y clic en Settings.

3. Clic en Remote App Access y después clic en Create Client.

4. Configure el Cliente con los siguientes datos:

– Access Type: Service Client Token.

– Client ID: Elija un nombre como por ejemplo PostmanClient.

5. Ahora haga clic en la flecha frente a Advanced para visualizar las opciones y clic en  Generate Shared Secret. (copie y pegue el Shared Secret generado en un bloc de notas para utilizarlo mas adelante).

Nota 1: Los valores del TTL del token de acceso le indicarán cuánto tiempo serán válidos sus Tokens tipo Bearer.

6. Y por ultimo clic en el botón ADD.

Configurar Postman para usar un token OAuth

1. Lo primero que debemos hacer por supuesto es descargar e instalar Postman, la descarga la pude realizar desde aquí.

2. Abra una nueva pestaña en Postman.

3. En la sección Authorization, seleccione TYPE como “OAuth 2.0”

4. Clic en el botón Get New Access Token y configure los siguientes datos:

– Token Name: elija un nombre. Ejemplo: vIDM Token

– Grant Type: Client Credentials

– Access Token URL: ingrese https://URL_del_Tenant/SAAS/auth/oauthtoken.

  Ejemplo:  https://irpaclyvm-vidm-it-mst.lab.local/SAAS/auth/oauthtoken

– Client ID: Ingrese el Client ID creado arriba (PostmanClient).

– Client Secret: Copie y pegue el shared secret que dejó disponible en el bloc de notas anteriormente.

– Scope: Admin.

– Client Authentication: Send as Basic Auth header.

5. Haga clic en Request Token.

6. Clic en Use Token.

7. Ahora podrá ver sus token creados en el menú desplegable de Available Tokens para su posterior uso.

Hasta aquí ya tenemos vIDM y Postman listos para usar las API call y solucionar nuestro problema con la contraseña del usuario configadmin.

Consultar detalles del Usuario

Debido a que necesitamos restaurar la contraseña del usuario configadmin. Lo primero que debemos hacer es obtener los detalles de ese usuario especifico haciendo uso de la siguiente API.

1. Abra una nueva pestana en Postman.

2. Seleccione el método  GET e ingrese la API para la URL del Tenant https://URLTENANT/SAAS/jersey/manager/api/scim/Users?filter=username%20eq%20%22MiUsuario%22.

Nota 2: Reemplace MiUsuario con el username de su ambiente. Para este ejemplo utilizaremos configadmin

Ejemplohttps://irpaclyvm-vidm-it-mst.lab.local/SAAS/jersey/manager/api/scim/Users?filter=username%20eq%20%configadmin%22

3. Click en el botón Send.

Esta API devolverá todos los atributos asociados para el usuario filtrado.

Nota 3: El resultado de este método debe mostrar Status: 200 OK.

4. De esta salida nos interesa el “Id” del usuario afectado (en este caso configadmin). Por lo que será necesario copiarlo para la modificación de su contraseña .

Modificación del Usuario

Utilizando el “Id” copiado anteriormente utilizaremos la siguiente API para modificar el valor de la contraseña del usuario afectado (configadmin).

1. Abra una nueva pestana en Postman.

2. Seleccione el método  PATCH e ingrese la API para la URL del Tenant https://URLTENANT/SAAS/jersey/manager/api/scim/Users/{ID}

Nota 4: Reemplace la URL del Tenant y el ID del usuario afectado.

Ejemplo: https://irpaclyvm-vidm-it-mst.lab.local/SAAS/jersey/manager/api/scim/Users/12cd6205-6b20-4d00-96b8-b3481155f87e

3. Como puede apreciar en la documentación de las referencias API para vIDM. Para esta API es requerido el ID y el Body. Por lo que tendremos que hacer clic en la pestaña Body, seleccionar raw y escribir los siguiente:

{

    “password”: “VMware1!”

}

Nota 5: Reemplace el password por el deseado.

4. Clic en el botón Send.

El resultado de este método debe mostrar Status: 204 No Content.

5. Ahora debería poder utilizar su contraseña actualizada. Abra una ventana de un navegador web con la URL del Tenant y haga login con el usuario y el nuevo password.