Para que PingFederate se autentique con vCenter Server, configure el flujo de concesión de contraseña.
Requisitos previos
Inicie sesión en la consola de administrador de PingFederate con una cuenta de administrador.
Procedimiento
- Cree el validador de credenciales de contraseña.
- Vaya a Sistema > Almacenamiento de datos y credenciales > Validadores de credenciales de contraseña.
- Haga clic en Crear nuevas licencias.
- En la página Validadores de credenciales de contraseña | Crear nueva instancia, introduzca la información de la siguiente manera para cada pestaña y, a continuación, haga clic en Siguiente para avanzar.
- En la pestaña Tipo:
- Nombre de instancia: introduzca el nombre de la instancia. Por ejemplo, Validador vIDB.
- Id. de instancia: introduzca el identificador de instancia. Por ejemplo, vIDB.
- Tipo: seleccione Validador de credenciales de contraseña de nombre de usuario de LDAP.
- En la pestaña Configuración de instancia:
- Almacén de datos de LDAP: seleccione el almacén de datos que está utilizando.
- Buscar base: introduzca el DN base para buscar usuarios y grupos.
- Filtro de búsqueda: introduzca un filtro. Por ejemplo, userPrincipalName=${username}.
- Ámbito de búsqueda: seleccione subárbol.
- En la pestaña Contrato ampliado:
- De forma predeterminada, se agrega lo siguiente:
- DN
- givenName
- username
- De forma predeterminada, se agrega lo siguiente:
- En la pestaña Tipo:
- Haga clic en Siguiente, y, a continuación, haga clic en Guardar.
- Asigne el validador en la configuración del servidor de autorización.
- Vaya a Sistema > Ajustes de Oauth > Ajustes del servidor de autorización.
- En Validador de credenciales de contraseña, seleccione el que creó anteriormente. Por ejemplo, en esta documentación se utiliza el validador vIDB.
- Haga clic en Guardar.
- Cree la asignación de concesión de credenciales del propietario del recurso.
- Vaya a Autenticación > Oauth > Asignación de credenciales del propietario del recurso.
- En la ventana Asignación de credenciales del propietario del recurso:
- Instancia del validador de contraseña de origen: seleccione la que creó anteriormente y haga clic en Agregar asignación.
- En la página Asignación de concesión de credenciales del propietario del recurso | Asignación de credenciales del propietario del recurso, haga clic en Siguiente para omitir la pestaña Orígenes de atributos y búsqueda de usuarios.
- En la pestaña Cumplimiento del contrato:
- En USER_KEY, seleccione Validador de credenciales de contraseña y en Valor, seleccione username.
- Haga clic en Siguiente para omitir la pestaña Criterios de seguro y, a continuación, haga clic en Guardar.
- Crear la asignación de token de acceso: asigne el validador de credenciales de contraseña al administrador de tokens de acceso.
Esta asignación es necesaria para el flujo de trabajo de la concesión de contraseña. Si la asignación no existe, PingFederate registra el siguiente error:
No hay administradores de token de acceso disponibles para el cliente y el contexto de autenticación seleccionados.
- Vaya a Aplicaciones > Asignación de token de acceso.
- Contexto: seleccione el que creó anteriormente. Por ejemplo, en esta documentación se utiliza el validador vIDB.
- Administrador de tokens de acceso: seleccione el que creó anteriormente. Por ejemplo, en esta documentación se utiliza el administrador de tokens de acceso vIDB.
- Haga clic en Agregar asignación.
- Haga clic en Siguiente para omitir la pestaña Orígenes de atributos y búsqueda de usuarios.
- En la pestaña Cumplimiento del contrato, utilice la siguiente tabla.
Contrato Origen Valor aud Contexto El identificador de cliente creado previamente. Por ejemplo, el identificador utilizado en esta documentación es vIDB. exp Sin asignación - iat Expresión Introduzca lo siguiente: @org.jose4j.jwt.NumericDate@now().getValue()
iss Expresión (Si no está visible, consulte la documentación de PingFederate en https://docs.pingidentity.com/r/en-us/pingfederate-120/pf_enable_disable_express).
Introduzca lo siguiente: #tmp=#this.get("context.HttpRequest").getObjectValue().getRequestURL().toString(), #url=new java.net.URL(#tmp), #protocol=#url.getProtocol(), #host=#url.getHost(),#port=#url.getPort(), #result=(#port != -1) ? @java.lang.String@format("%s://%s:%d", #protocol, #host, #port) : @java.lang.String@format("%s://%s", #protocol, #host, #port)
userName Sin asignación -
Este contrato se utiliza más adelante en el filtro de LDAP para el flujo de trabajo de la directiva de OIDC para el código de autorización. En el caso del flujo de trabajo de PingFederate, no es necesario.
- Haga clic en Siguiente para omitir la pestaña Criterios de seguro y, a continuación, haga clic en Guardar.
- Vaya a Aplicaciones > Asignación de token de acceso.
Qué hacer a continuación
Continúe con Crear la configuración del flujo de código de autorización.