Hoy queremos compartir los pasos a realizar para integrar nuestro IPA con el proveedor de SSO de VMware vCenter. En este escenario, contamos con un servidor de IPA 4.5.0 y un vCenter 6.0. El objetivo es poder loguearse en el vCenter utilizando cuentas existentes en el IPA, a la vez que se asigna el rol predefinido de “Administrador” a los miembros del grupo de usuarios de IPA, que en este caso es “tecnicosessi”. 

Los pasos a seguir son 5. ¡Veámoslos!

 

1 – PREPARACIÓN DEL SERVIDOR IPA:

VMware tiene una serie de requerimientos para que su autenticación funcione correctamente con los schemas de OpenLDAP. Podéis ver información en este link https://kb.vmware.com/s/article/2064977

Para que todos los requerimientos se cumplan, será necesario agregar el objectclass “groupOfUniqueNames” en la configuración de grupos del servidor IPA.

Para ello, desde la configuración web del servidor IPA, iremos a:
Servidor IPA > Configuración > Opciones de Grupo

Ahí agregaremos el objectclass ” groupOfUniqueNames”.

 

Esta configuración afectará a los grupos que se creen a partir de ahora. En nuestro caso, el grupo “tecnicosessi” ya existía, por lo que agregaremos esta opción de grupo de forma explícita al grupo ya existente.

Adicionalmente, nos aseguraremos que el equipo vCenter exista en el servidor IPA.

 

2 – PREPARACIÓN DEL GRUPO EN IPA:

En este punto realizaremos 2 acciones. La primera será incluir al vCenter en el grupo de “tecnicosessi” y la segunda será terminar de configurar el IPA.

 

kinit admin

Password for admin@ESSI.LAB:
 ********

ipa group-mod tecnicosessi --addattr=objectclass=GroupOfUniqueNames
 -----------------------------
 Modified group "tecnicosessi"
 -----------------------------
 Group name: tecnicosessi
 GID: 999800003
 Member users: sgreco, jguillemat, dmardones, dmartin, ftapiador, malonso, mmartinez, pcastillo, ppuig

 

Ahora que el grupo “tecnicosessi” tiene el objectclass, agregaremos los miembros al mismo ya que es lo que en realidad va a buscar vCenter. Esto es importante tenerlo en cuenta puesto que agregar/quitar usuarios de este grupo, no tendrá impacto en los roles que posteriormente asignemos en vCenter, sino que es esta membresía la que hay que modificar para que los roles se vean afectados. Si bien esto se puede simplificar mucho con playbooks (Ansible) sencillos, para esta guía realizaremos el proceso de forma manual.

Se puede realizar de varias formas, en este caso lo haremos con un oneliner que se valdrá del fichero /tools/listado.tecnicosessi que contiene una lista de los usuarios del grupo “tecnicosessi”.

 

for usuario in `cat /tools/listado.tecnicosessi` ; do ipa group-mod tecnicosessi
 --addattr="uniqueMember=uid=$usuario,cn=users,cn=accounts,dc=essi,dc=lab" ; done

 

El resultado una vez ejecutado este oneliner es el siguiente:


 

O si lo preferís, también se pueden visualizar los uniquemember en un explorador de LDAP.

 

Donde también podremos comprobar los DN de todos los usuarios que asignaremos a los roles de vCenter. Recordad que vCenter mirará los uniqueMembers y no los members del grupo (como sería lógico pensar).

 

3 – CONFIGURACIÓN DEL SSO EN vCENTER:

Conectados al vCenter con el webclient, agregaremos una nueva identity source.

Home > Administration > Single Sign-On > Configuration > Add

El tipo de origen ha de ser OpenLDAP. Habrá que darle un nombre para identificarla en el entorno de vSphere, así como una base de búsqueda para usuarios y otra para grupos. Los enseñados a continuación aplican al entorno de laboratorio de Essi Projects y para la conexión utilizaremos el usuario “admin” aunque en entornos productivos es recomendable tener un usuario específico para esta conexión.

 

En este punto, la verificación debería ser satisfactoria y todos los usuarios de essi.lab deberían ser visibles desde el vCenter y además loguearse, todo y que todavía no tengan asignado ningún rol (esto es a nuestro entender un fallo de diseño que también aplica a otras fuentes de identidad como Active Directory).

 

4 – ASIGNACIÓN DE ROLES EN EL vCENTER:

Nuevamente desde el cliente web de vSphere.

Home > Administration > Access Control > Global Permissions > Add

Seleccionaremos el dominio deseado. Podemos o bien buscar el grupo u ordenar mostrando “grupo primero” que en nuestro caso es más sencillo puesto que como sólo hemos preparado un grupo de IPA, vCenter sólo puede ver ese grupo.

 

En este ejemplo, se asigna el rol de “Administrator” al grupo de IPA “tecnicosessi”.

 

Ahora sólo queda probar que funciona. En nuestro caso, el dominio por defecto del entorno vSphere sigue siendo “sso.vmware”, por lo que se debe especificar que el usuario pertenece al dominio “essi.lab” al hacer login.

 

Y ya podemos comprobar que el acceso para el usuario “sgreco@essi.lab” es el de administrador, por su pertenencia al grupo “ESSI.LAB\tecnicosessi” que únicamente existe en el servidor IPA.


Bueno, espero que haya quedado claro y que lo podáis poner en práctica. Si tenéis cualquier duda, podéis preguntarme en los comentarios y os atenderé encantado.
¡Nos vemos pronto!

 

 
Sebastián Greco
IT Consultant

IT ARCHITECTS AT YOUR SERVICE

En Essi Projects estamos especializados en proyectos de consultoría, integración y formación técnica certificada, con fuerte enfoque en software Open Source con Soporte Enterprise. Nuestras principales áreas de interés son la Virtualización, la Nube Híbrida (IaaS, PaaS), las Arquitecturas de Aplicaciones, el DevOps y la Automatización.

POSTS RECIENTES

CATEGORÍAS

Etiquetas