A partir de la versión 10.4.2, puede utilizar VMware Cloud Director como servidor proxy de proveedor de identidad con reconocimiento de tenants.
Cuando VMware Cloud Director se configura como servidor proxy de proveedor de identidad mediante el estándar OpenID Connect de OAuth 2.0, los usuarios de confianza pueden utilizar VMware Cloud Director para la autenticación con reconocimiento de tenants de usuarios conocidos por VMware Cloud Director. Para obtener información detallada sobre el estándar OpenID Connect, consulte OpenID Connect Core 1.0.
Como servidor proxy de proveedor de identidad, VMware Cloud Director actúa como intermediario entre la aplicación cliente (usuario de confianza) y el proveedor de identidad, y delega la autenticación real al mecanismo de autenticación correspondiente utilizado por el proveedor o los tenants.
Un administrador del sistemapuede configurar entidades de confianza que se integren con VMware Cloud Director y después puede habilitar tenants individuales para permitir que sus usuarios utilicen VMware Cloud Director como proxy de proveedor de identidad.
Flujo de autenticación
La integración con VMware Cloud Director se implementa mediante el estándar de flujo de código de autorización OIDC OAuth 2.0. Para obtener información detallada, consulte Autenticación mediante flujo de código de autorización.
Cuando un usuario de confianza redirecciona un usuario a VMware Cloud Director, si no hay ninguna sesión de cliente existente, se le solicita que inicie sesión en VMware Cloud Director identificando primero la organización o el portal para proveedores en que desea iniciar sesión. El usuario se autentica a través del mecanismo de autenticación configurado, que puede implicar redireccionamientos adicionales a proveedores de identidad externos. Si el navegador del usuario detecta una sesión de usuario de VMware Cloud Director existente, el flujo de autenticación proporciona una experiencia de SSO y no se requiere ninguna interacción del usuario para volver a autenticarse. Después de completar correctamente el proceso, VMware Cloud Director devuelve un token de acceso y un token de identificador. El código de autorización que se emite como parte del flujo es válido durante 5 minutos. El token de acceso es válido durante 5 minutos y el token de identificador es válido durante una hora.
VMware Cloud Director no devuelve un token de actualización.
No se puede utilizar el token de acceso que VMware Cloud Director devuelve una vez que la autenticación se realiza correctamente para acceder a los portales de la interfaz de usuario o para realizar llamadas regulares a la API de VMware Cloud Director.
- Detalles del token de identificador
-
El token de id. que devuelve VMware Cloud Director contiene las siguientes notificaciones estándar de OpenID y las notificaciones específicas de VMware Cloud Director.
Notificación
Descripción
at_hash
(Notificación estándar de OpenID) Valor hash de token de acceso.
sub
(Notificación estándar de OpenID) El
userId
en VMware Cloud Director en formato UUID.iss
(Notificación estándar de OpenID) Dirección pública de VMware Cloud Director.
preferred_username
(Notificación estándar de OpenID) Nombre de usuario del usuario en VMware Cloud Director
nonce
(Notificación estándar de OpenID) Valor de cadena utilizado para asociar una sesión de cliente con un token de id. y para mitigar los ataques de reproducción. Solo está presente si se incluyó inicialmente en la solicitud del usuario de confianza.
aud
(Notificación estándar de OpenID) El público de este token. El valor es el identificador de cliente del usuario de confianza solicitante.
azp
(Notificación estándar de OpenID) Parte autorizada para el token. El valor es el identificador de cliente del usuario de confianza. Su valor es el mismo que la notificación de
aud
.name
(Notificación estándar de OpenID) Nombre completo del usuario, si lo conoce VMware Cloud Director.
phone_number
(Notificación estándar de OpenID) Número de teléfono del usuario, si lo conoce VMware Cloud Director.
exp
(Notificación estándar de OpenID) Hora de caducidad. Tiempo tras el cual el token de ID no se acepta para su procesamiento.
iat
(Notificación estándar de OpenID) Hora a la que se emitió el token de identificador.
email
(Notificación estándar de OpenID) Dirección de correo electrónico del usuario, si lo conoce VMware Cloud Director.
roles
(Notificación personalizada de VMware Cloud Director) Una matriz de los nombres de las funciones que el usuario tiene en VMware Cloud Director.
groups
(Notificación personalizada de VMware Cloud Director) Una matriz de los nombres de los grupos a los que pertenece el usuario en VMware Cloud Director.
org_name
(Notificación personalizada de VMware Cloud Director) Nombre de la organización en la que el usuario ha iniciado sesión.
org_display_name
(Notificación personalizada de VMware Cloud Director) Nombre para mostrar de la organización.
org_id
(Notificación personalizada de VMware Cloud Director) El identificador de organización en formato UUID.
- Ámbitos de solicitud de OpenID
-
El ámbito de la solicitud de OpenID se utiliza para especificar los privilegios solicitados para un token de acceso.
Valores de ámbito
Descripción.
openid
Obligatorio. Ámbito estándar de OpenID.
profile
Ámbito estándar de OpenID. Solicita acceso a las notificaciones de perfil predeterminados del usuario final.
email
Ámbito estándar de OpenID. Solicita acceso a las notificaciones de la dirección de correo electrónico del usuario final.
groups
Ámbito estándar de OpenID. Solicita acceso a los grupos de los que forma parte el usuario en VMware Cloud Director.
phone
Ámbito estándar de OpenID. Solicita acceso a la notificación de número de teléfono del usuario.
vcd_idp
Ámbito específico de VMware Cloud Director. Solicita acceso a las notificaciones personales de VMware Cloud Director, como
roles
,groups
,org_name
,org_display_name
yorg_id
. - Endpoints
-
Puede utilizar el token de acceso devuelto por VMware Cloud Director para recuperar notificaciones sobre el usuario autenticado en el endpoint
hostname/oidc/UserInfo
. Para obtener más información, consulte UserInfo Endpoint.Puede recuperar los valores de configuración del proveedor, incluido el endpoint de JWKS e información sobre otros endpoints y ámbitos necesarios para la configuración del proxy de OIDC en la URL de configuración conocida
hostname/oidc/.well-known/openid-configuration
. Consulte Ver la configuración general del proxy de OIDC en VMware Cloud Director.
Acceso de intercambio de tokens al proxy de proveedor de identidad de VMware Cloud Director
La integración programática con la funcionalidad de proxy del proveedor de identidad de VMware Cloud Director está disponible a través del flujo de intercambio de tokens que se detalla a continuación. Este flujo no incluye la interfaz de usuario de VMware Cloud Director y es adecuado para el acceso mediante script, como la CLI.
Obtenga un JWT de VMware Cloud Director iniciando sesión directamente o mediante un token de API.
Ejecute una solicitud POST.
POST hostname/oidc/oauth2/token
Seleccione
x-www-form-urlencoded
para el cuerpo de la solicitud.Incluya los siguientes parámetros en el cuerpo de la solicitud.
{ "grant_type": "urn:ietf:params:oauth:grant-type:jwt-bearer", "assertion": "VMware_Cloud_Director JWT", "client_id": "Relying_party_ID", "scope": "openid profile email phone groups vcd_idp", }
La respuesta devuelve un token de identificador que incluye las notificaciones de OIDC y VMware Cloud Director y un token de acceso que se puede utilizar para recuperar notificaciones sobre el usuario autenticado en el endpoint
hostname/oidc/UserInfo
.
Ejemplo de token de id. codificado:
eyJhbGciOiJSUzI1NiIsInR5NDg4SI6I................4dHnbU1RQ6Y9Yohgw
Ejemplo de token de id. descodificado:
{ "at_hash": "1AA1aAA1AAAAAAaAA1A11a", "sub": "111111111-1111-1111-1111-11111111", "roles": [ "Organization Administrator" ], "iss": "https://hostname/oidc", "groups": [ "ALL USERS" ], "preferred_username": "testuser@vcd-ms1", "nonce": "ab123acab", "aud": "33333333-3333-3333-3333-33333333333", "azp": "22222222-2222-2222-2222-22222222", "org_id": "12345678-1234-1234-1234-123456789abc", "org_display_name": "oidcorg", "name": "test user", "phone_number": " ", "exp": 1111111111, "org_name": "oidcorg", "iat": 1111111111, "email": "[email protected]" }
Ejemplo de respuesta de información del usuario:
{ "sub": "111111111-1111-1111-1111-11111111", "preferred_username": "administrator", "name": "administrator user", "email": "[email protected]", "phone_number": "0 (111) 222-3333", "roles": [ "system administrator" ], "groups": [], "org_name": "system", "org_display_name": "System Organization", "org_id": "12345678-1234-1234-1234-123456789abc" }
Consideraciones sobre multisitio
En una implementación multisitio, cada sitio funciona como un único servidor de proveedor de identidades.
Los sitios emparejados no proporcionan compatibilidad con el servidor de identidad federada. Esto significa que, si durante el proceso de inicio de sesión un tenant que no pertenece al sitio que funciona como su proxy de proveedor de identidad intenta iniciar sesión en él a través de la selección de la organización de otro sitio de la implementación multisitio, se produce un error de inicio de sesión.