Configuración del inicio de sesión único de OpenID Connect en la aplicación personalizada

Utilice OpenID Connect para el inicio de sesión único para permitir que las aplicaciones verifiquen la identidad de sus usuarios basándose en la autenticación realizada por Verify. No es necesario que los usuarios abran una cuenta con la aplicación. Los usuarios se redirigen a Verify para el inicio de sesión. Verify verifica las identidades de los usuarios, envía la información a través de una señal de ID y confirma con la entidad de confianza que los usuarios están autorizados para acceder y utilizar el recurso. Esta aplicación utiliza el proveedor de OpenID Connect con el punto final de descubrimiento https://<tenant-host>/oidc/endpoint/default/.well-known/openid-configuration.

Antes de empezar

Nota: Existe una alternativa a esta tarea disponible en Registro dinámico de clientes.
  • Debe tener permiso administrativo para realizar esta tarea.
  • Abra al menos dos ventanas de navegador para completar la configuración. Uno para la consola de administración de Verify y el otro para la consola de administración de la aplicación de destino.
    • Inicie sesión en la consola de administración de IBM® Verify como administrador.
    • Inicie la sesión en la consola de administración de la aplicación de destino con la cuenta de administrador.
  • Debe configurar la información básica para la instancia de aplicación en el separador General . Consulte Configuración de los detalles básicos de la aplicación.

Acerca de esta tarea

Las plantillas de aplicación predefinidas de Verify no tienen la opción de inicio de sesión OpenID Connect . Utilice la plantilla de aplicación personalizada para configurar una aplicación que actúe como una parte OpenID confiable de Connect o una aplicación cliente que delegue la autenticación de usuarios a Verify.

Configure Verify y la parte dependiente para comunicarse entre sí. Para habilitar el inicio de sesión único de OpenID Connect , debe proporcionar:
  • Verify con determinados datos de la entidad de confianza.
  • La entidad de confianza con determinados datos de Verify.

Puede configurar IBM Verify Access y aplicaciones móviles como OpenID Connect entidades de confianza.

Procedimiento

  1. Vaya a la pestaña Inicio de sesión .
  2. En el Método de inicio de sesión, seleccione OpenID Connect 1.0.
  3. Proporcione a Verify información básica sobre la entidad de confianza.
    Campo Descripción
    Dirección URL de la aplicación

    Es la URL inicialización de inicio de sesión único que se utiliza para iniciar sesión en la parte usuaria de OpenID Connect.

    La aplicación utiliza esta URL para solicitar a Verify el token de identificación que contiene los datos del usuario.

    Cuando los usuarios acceden a la aplicación a través de esta URL, son redirigidos a Verify para autenticarse.

    Puede obtener esta información de la entidad de confianza al configurar un proveedor de autorización o un proveedor de OpenID Connect en su ubicación.

    Tipos de concesión

    Indica el mecanismo que la parte dependiente puede utilizar para recuperar la señal de ID de Verify.

    Verify da soporte a los siguientes tipos de otorgamiento:
    • Código de autorización
      Nota: El código de autorización está preseleccionado como tipo de otorgamiento predeterminado con PKCE también seleccionado de forma predeterminada.
    • Implícito
    • Flujo de dispositivo
      Nota: Si selecciona Flujo de dispositivos, también puede generar un código QR.
    • Autorización basada en contexto
    • Portador JWT
      Nota: Si selecciona JWT bearer, tiene la opción de configurar JWKS URI, JWT bearer user identification y JWT bearer default identity source. Para obtener más información sobre cómo utilizar el tipo de concesión JWT bearer, consulte Tipos de concesión.
    • Cualquier combinación de código de autorización, implícito, flujo de dispositivos y ROPC.

    Debe seleccionar al menos un tipo de otorgamiento. Si ROPC es el único tipo de otorgamiento seleccionado, la sección Políticas de acceso no se muestra. Consulte Tipos de subvenciones para obtener una comparación rápida de los tipos de subvenciones admitidos y determinar qué tipo de subvención establecer para la solicitud.

    ID de cliente

    Es el identificador público exclusivo que se asigna a la aplicación cliente, que es la parte dependiente de OpenID Connect . El servidor de autorización utiliza esta información para identificar la entidad de confianza y la solicitud de autorización.

    Esta información se genera automáticamente después de guardar la aplicación OpenID Connect personalizada. Debe proporcionar esta información a la entidad de confianza cuando configure Verify como proveedor de OpenID Connect en la consola de administración de la aplicación.

    La entidad de confianza utiliza el ID de cliente cada vez que solicita una señal de acceso.

    Secreto de Kubernetes El archivo YAML secreto de Kubernetes se utiliza para conectarse con Red Hat OpenShift. Debe descargar el archivo YAML de secreto de Kubernetes para obtener los metadatos.
    Cliente público (sin secreto de cliente)

    Indica que el cliente no tiene ningún secreto que la aplicación deba proporcionar.

    Nota: Cuando se selecciona, el campo Secreto de cliente está oculto y los algoritmos siguientes se eliminan de las opciones Algoritmo de firma :
    • HS256
    • HS384
    • HS512

    Genere un secreto de cliente solo si el tipo de cliente es confidencial. Los clientes confidenciales pueden conservar el ID de cliente y secreto de un modo seguro y no muestran estas credenciales a entidades no autorizadas.

    Un secreto de cliente solo debe conocerlo la aplicación cliente y el servidor de autorizaciones.

    Secreto de cliente

    Estos datos se utilizan junto con el ID de cliente para autenticar la entidad de confianza y para intercambiar un código de autorización por una señal de ID.

    Esta información se genera automáticamente después de guardar la aplicación OpenID Connect personalizada. Debe proporcionar esta información a la entidad de confianza cuando configure Verify como proveedor de OpenID Connect en la consola de administración de la aplicación.

    Método de autenticación de cliente

    Indica el método de autenticación para puntos finales como el punto final de señal que requieren autenticación de cliente.

    Verifique los métodos de autenticación de cliente siguientes:
    • Valor predeterminado
    • Secreto de cliente básico
    • POST de secreto de cliente
    • JWT de secreto de cliente
    • JWT de clave privada

    Si se deja como valor predeterminado, se permiten tanto el secreto de cliente básico como POST. Si la parte de confianza lo admite, utilice JWT de clave privada como configuración.

    Validar JTI de aserción de cliente

    Indica si la JTI en la JWT de aserción de cliente se valida para un solo uso. Esta opción solo se visualiza cuando se selecciona el método de autenticación de cliente de JWT de secreto de cliente o JWT de clave privada.

    Claves de verificación de firma permitidas

    Los ID de clave de verificación de firma que se pueden utilizar para verificar la JWT de la aserción de cliente. Esta opción solo se visualiza cuando se selecciona el método de autenticación de cliente de JWT de clave privada.

    Requiere verificación de clave de prueba para el intercambio de código (PKCE) PKCE se utiliza para mitigar los ataques de intercepción de código de autorización. Requiere una interpelación de código antes de que el flujo de código de autorización pueda continuar. Esta opción se muestra solo cuando el flujo de otorgamiento del código de autorización está seleccionado.
    URI de redirección

    Es la URL devolución de llamada; la dirección a la que Verify envía su respuesta de autenticación a la parte de confianza.

    Los usuarios son redirigidos a esta URL una vez autenticados y autorizados por Verify.

    Debe especificar al menos un URI. Si el URI de devolución de llamada es el dominio de la aplicación, puede ser el dominio del arrendatario.
    Nota: El dominio puede tener un valor comodín. Aunque los comodines no están soportados en la vía de acceso de URI, el carácter "*" es un carácter de vía de acceso de URI válido y se trata como una serie literal.

    Puede añadir un máximo de 400 URI.

    Puede obtener esta información de la entidad de confianza al configurar un proveedor de autorización o un proveedor de OpenID Connect en su ubicación.
    URI JWKS El URI donde la entidad de confianza publica sus claves públicas en formato JWK (JSON Web Keys). Este URI se utiliza para la verificación de firmas JWT. El sistema puede rechazar un URI de JWKS no alcanzable o que no responde. El sistema también puede rechazar el URL de JWKS si el tamaño de JWKS es demasiado grande. Si la entidad de confianza no publica un URI de JWKS, se puede añadir una clave pública, en forma de un certificado X509, en el sistema. Consulte Gestión de certificados. El 'nombre descriptivo' asociado al certificado público es el valor de la cabecera de ID de clave (kid) de JWT.
    Identificación de usuario del titular de JWT

    Disponible solo para el tipo de otorgamiento de titular de JWT.

    Esta configuración indica al sistema cómo se interpreta el sujeto de titular de JWT (sub) para identificar al usuario que está asociado a esta señal de titular de JWT. El sub puede ser User ID, Username o External ID.
    Origen de identidad predeterminado del titular de JWT

    Disponible solo para el tipo de otorgamiento de titular de JWT.

    Si el JWT no especifica el dominio, se trata del dominio de origen de identidad predeterminado al que pertenece el usuario identificado por sub. Cuando la opción JWT bearer user identification se establece en User ID, este valor no es aplicable.
    Si está editando la aplicación existente, puede utilizar las siguientes opciones de secreto de cliente:
    • Seleccione Mostrar para ver el secreto de cliente.
    • Seleccione Ocultar para ocultar el secreto de cliente.
    • Seleccione Copiar para copiar el ID del cliente o el secreto al portapapeles.
    • Seleccione Lista para ver los secretos de cliente rotados.
      • Seleccione uno o más secretos de cliente rotados de la lista y haga clic en Eliminar para borrarlos.
    • Seleccione Volver a generar para generar un nuevo secreto de cliente. Utilice esta opción si piensa que el secreto de cliente está comprometido. Si vuelve a generar el secreto de cliente, debe actualizar el secreto de cliente en todos los clientes OAuth de la aplicación.
      • Seleccione la casilla de verificación Conservar secreto actual para añadir el secreto de cliente actual a la lista de secretos de cliente rotados.
      • Si la casilla Conservar secreto actual está seleccionada, elija la descripción del secreto del cliente y la hora de caducidad (en la hora local del navegador). Si no se selecciona ningún tiempo de expiración, se aplicará el tiempo de vida del secreto rotado del inquilino establecido en la configuración de la aplicación.
      • Los secretos de cliente rotados se codifican con hash y ya no pueden recuperarse en texto plano, pero pueden seguir utilizándose hasta la fecha de caducidad seleccionada.
      • Tras la confirmación, el secreto del cliente se rota inmediatamente. El nuevo secreto de cliente se muestra en la pantalla.
  4. Configure la señal de acceso y caducidad de señal de renovación para limitar el tiempo de acceso no autorizado en caso de robo de estas señales.

    La señal de acceso se utiliza para autorizar el acceso al recurso protegido. Cuando la señal de acceso caduca, se revoca la autorización.

    Tabla 1. Configuración de tokens
    Campo Descripción
    Caducidad de señal de acceso (seg)

    Establece la longitud del tiempo en segundos transcurrido el cual la señal de acceso caduca.

    Establezca una caducidad de la señal de acceso de modo que limite el tiempo que un atacante pueda acceder al recurso con la señal robada cuando se compromete la aplicación cliente.

    Solo se permiten enteros positivos.

    El valor predeterminado es 7200 segundos. El valor mínimo permitido es 1 y el máximo es 2147483647 segundos.

    Formato de señal de acceso Indica si la señal de acceso se genera como una serie opaca, que es laDefaulto en formato JWT.
    Audiencias Especifica los destinos que son los destinatarios de la señal. Estos valores se listan en la reclamación aud para las señales con formato JWT y en la carga útil de introspección como una sola serie o una matriz de series.
    Correlaciones de atributos Esta lista de correlaciones de atributos se utiliza para incluir reclamaciones en la carga útil de introspección y la señal de acceso con formato JWT.
    Nombre de atributo Nombre del atributo que la parte dependiente utiliza y necesita de Verify. No se pueden utilizar los siguientes nombres de atributo: aud, exp, groupIds, groupUids, at_hash, c_hash, rt_hash, s_hash, iat, iss, nonce, sub, client_id, grant_id, grant_type y scope.
    Atributos

    Enumera todas las fuentes de atributos que ha definido para cada tipo en Directorio > Atributos.

    El valor del origen de atributo seleccionado se asigna como el valor de atributo para el nombre de atributo de la entidad de confianza definida en la señal de ID.

    Generar señal para renovación

    Indica si la aplicación cliente puede solicitar y utilizar una señal de renovación para obtener una nueva señal de acceso del servidor de autorización del proveedor de identidad OpenID Connect .

    Utilice esta opción sólo si la aplicación tiene previsto utilizar la señal de acceso para realizar operaciones utilizando las API de Verify .

    Solo es necesario obtener una nueva señal de acceso si la anterior ha caducado.

    Esta opción no es relevante si ha seleccionado "Implícito" como Tipo de otorgamiento.

    Caducidad de señal de renovación (seg)

    Establece la longitud del tiempo en segundos transcurrido el cual la señal de renovación caduca. Este valor determina la frecuencia con la que el usuario puede volver a autenticarse.

    Establezca la caducidad de la señal de renovación para asegurarse de que el usuario vuelve a intentar la operación de inicio de sesión único completa contra Verify una vez transcurrido algún tiempo.

    Esta opción solo se muestra si ha habilitado Generar señal para renovación.

    Una señal de renovación se utiliza para obtener una nueva señal de acceso para continuar con el acceso al recurso protegido.

    Solo se permiten enteros positivos.

    El valor predeterminado es 604800 segundos. El valor mínimo permitido es 1 y el máximo es 2147483647 segundos.

    Renovar la duración de la señal de renovación Esta opción indica si la duración de la señal de renovación se renueva cuando se utiliza una señal de renovación para obtener un nuevo conjunto de señales. Cuando este recuadro de selección está seleccionado, el tiempo de vida establecido por Caducidad de la señal para renovación se renueva cada vez que se renuevan las señales de renovación. Si no está seleccionada, la señal de renovación renovada caduca cuando se alcanza la Caducidad de la señal de renovación original.
  5. Especifique las opciones de firma de señal de ID y cifrado . La parte dependiente utiliza la firma para verificar la integridad y autenticidad de las reclamaciones de usuario contenidas en la señal y el proveedor de identidad deOpenID Connect que ha firmado la señal. La señal se puede cifrar para que sólo la entidad de confianza pueda descifrarla.
    Tabla 2. Opciones de firma y cifrado
    Campo Descripción
    Algoritmo de firma

    El algoritmo que Verify utiliza para firmar la señal de ID. El algoritmo debe coincidir con el que la parte dependiente ha registrado con Verify.

    Elija uno para verificar la firma entre los siguientes algoritmos hash:
    • HS256
    • HS384
    • HS512
    • ES256
    • ES384
    • ES512
    • PS256
    • PS384
    • PS512
    • RS256 (valor predeterminado)
    • RS384
    • RS512
    Nota:
    • Si se selecciona el algoritmo de firma ES256, el certificado debe ser ECDSA con P-256.
    • Si se selecciona el algoritmo de firma ES384, el certificado debe ser ECDSA con P-384.
    • Si se selecciona el algoritmo de firma ES512, el certificado debe ser ECDSA con P-521.
    • Los algoritmos HS no se muestran si ha elegido no generar un secreto de cliente.
    Certificado de firma

    Esta opción solo se muestra si ha seleccionado cualquiera de los algoritmos de firma RS, ES o PS.

    Utilice este certificado para firmar la señal de ID durante el inicio de sesión único.

    La selección predeterminada hace referencia al certificado personal predeterminado que ha configurado en Seguridad > Certificados > Certificados personales.

    Algoritmo de cifrado El algoritmo criptográfico utilizado para cifrar o determinar el valor de la clave de cifrado de contenido (CEK).
    Se da soporte a los algoritmos siguientes:
    • RSA-OAEP
    • RSA-OAEP-256
    Algoritmo de contenido El algoritmo de cifrado de contenido que se utiliza para realizar el cifrado autenticado en el texto sin formato para producir el texto de cifrado y el código de autenticación.
    Se da soporte a los algoritmos siguientes:
    • A128GCM
    • A192GCM
    • A256GCM
    Clave de cifrado La etiqueta de certificado o el ID de clave de la clave que se debe utilizar para el cifrado.
  6. Correlacionar los atributos de usuario que Verify soporta y proporciona a la parte dependiente a través de la señal de ID.
    Verify podría ampliar el esquema estándar de reclamaciones JSON para incluir atributos adicionales, como el puesto del empleado, el responsable y el departamento.
    Nota: Los atributos siguientes ya se han añadido a la señal de ID de forma predeterminada: userType, uniqueSecurityName, displayName, realmName, name, preferred_username, jti, at_hash, ext. Algunos de estos atributos se pueden eliminar de la señal de ID correlacionándolos con un origen de atributo que está configurado para no devolver ningún valor.
    La sección Correlaciones de atributos consta de los siguientes elementos, que se describen en la Tabla 3.
    • Una opción de recuadro de selección para enviar todos los atributos de usuario conocidos.
    • Opción para añadir nombres de atributo y su origen de atributo correspondiente en Verify.
    Tabla 3. Asignaciones de atributos
    Información Descripciones
    Enviar todos los atributos de usuario conocidos en la señal de ID

    Cuando se selecciona, todos los atributos de credencial de usuario conocidos que están disponibles en el origen de identidad de OpenID Connect se incluyen automáticamente en la señal de ID.

    Los atributos de credenciales de usuario conocidos constan de:
    Atributos estándar
    Estos atributos proceden de Verify Cloud Directory, que incluye los atributos integrados que se muestran en Directorio > Atributos.
    Atributos ampliados
    Estos atributos proceden del proveedor de identidad SAML Enterprise que configuró en Autenticación > Proveedores de identidad.

    De lo contrario, defina solo los atributos específicos que la entidad de confianza requiere en la señal de ID. Especifique el nombre de atributo y el origen de atributo.

    Nombre de atributo Nombre del atributo que la parte dependiente utiliza y requiere de Verify.No se pueden utilizar los siguientes nombres de atributo: aud, exp, groupIds, groupUids, at_hash, c_hash, rt_hash, s_hash, iat, iss, nonce, client_id, grant_id, grant_type y scope. Si el nombre de atributo es sub, esta correlación de atributos modifica el valor de sub en la respuesta de introspección, la señal de acceso JWT, la respuesta de información de usuario y la señal de ID.
    Atributos

    Enumera todas las fuentes de atributos definidas para cada tipo en Directorio > Atributos.

    El valor del origen de atributo seleccionado se asigna como el valor de atributo para el nombre de atributo de la entidad de confianza definida en la señal de ID.

    Nota: Si se muestra Atributo sin etiquetar para el valor de origen de atributo, es porque se ha cambiado la finalidad del atributo. Las aplicaciones existentes que consumen el atributo pueden continuar utilizando la aplicación hasta que vuelva a correlacionar la aplicación para que utilice un atributo distinto para dicha finalidad. Por ejemplo, si se quita la selección del recuadro Inicio de sesión único (SSO) en un atributo existente, las aplicaciones que ya consumen dicho atributo para SSO pueden continuar utilizándolo para SSO. El mismo comportamiento se aplica a las correlaciones de atributos de suministro cuando se elimina la finalidad Suministro.
  7. Seleccione los orígenes de identidad y la política que determinan cómo los usuarios pueden acceder a la aplicación.
    1. Seleccione los orígenes de identidad que se pueden utilizar para iniciar sesión en esta aplicación.

      El valor predeterminado es permitir el acceso desde todos los orígenes de identidad de empresa que están configurados para el arrendatario. Para limitar los orígenes de identidad que se pueden utilizar para iniciar la sesión en la aplicación, seleccione Seleccionar orígenes de identidad soportados específicos. Marque los recuadros de selección correspondientes a los orígenes de identidad desde los que desea permitir el inicio de sesión.

    2. Seleccione la política que determina cómo los usuarios pueden acceder a la aplicación.
      Puede seguir utilizando la política de acceso predeterminada que está asignada, que es Permitir acceso desde todos los dispositivos. También puede desactivar la casilla de verificación y seleccionar Editar para seleccionarla de la lista de políticas de acceso predefinidas. Cuando se selecciona una política de acceso, puede aplicar la política de acceso a los tipos de otorgamiento de API seleccionando el recuadro de selección para cada tipo de otorgamiento. Para más información, consulte Políticas de acceso.
  8. Seleccione si desea solicitar el consentimiento del usuario.
    La solicitud de consentimiento del usuario se puede añadir a las aplicaciones de Open ID Connect. Está disponible para todos los tipos de otorgamientos, excepto para las credenciales de contraseña de propietario de recurso (ROPC). Si ROPC es el único tipo de otorgamiento seleccionado para la aplicación, la opción Consentimiento de usuario no se muestra. Si el valor predeterminado, Solicitar consentimiento, permanece seleccionado, se pide al usuario que dé su consentimiento explícito a los ámbitos y titularidades de acceso de API. El usuario puede conceder o denegar el permiso para el acceso de API. Las aplicaciones Open ID Connect existentes no solicitan consentimiento. Debe editar dichas aplicaciones si desea solicitar el consentimiento del usuario. Véase Gestión de las autorizaciones de solicitudes.

    Una vez creada la aplicación, el campo Tipo de consentimiento con el valor de Avanzado se muestra bajo Solicitar consentimiento. El valor Avanzado indica que los consentimientos del usuario se almacenan en DPCM. Las aplicaciones personalizadas OIDC anteriores muestran este campo después de migrar sus consentimientos a DPCM.

  9. Opcional: Restringir los ámbitos personalizados.
    Un cliente OIDC/OAuth puede solicitar ámbitos personalizados en los flujos de otorgamiento de OIDC/OAuth soportados. Si Restringir ámbitos personalizados está habilitado, que es el valor predeterminado, los ámbitos otorgados al cliente al final del flujo se limitan a los ámbitos especificados en esta sección. Si no se ha habilitado Restringir ámbitos personalizados, se otorga cualquier ámbito personalizado solicitado cuando el flujo se completa.
    Nota: Los ámbitos estándar openid, profile, email, phoney address no se pueden restringir.
    1. Asegúrese de que el recuadro de selección Restringir ámbitos personalizados esté seleccionado.
    2. Escriba el nombre del ámbito personalizado que desea otorgar y una descripción.
      El nombre de ámbito es el ámbito OAuth2/OIDC solicitado por una entidad de confianza/cliente. La descripción es una explicación descriptiva del ámbito.
      Se muestra otro conjunto de campos de ámbito.
    3. Repita el paso anterior para cada ámbito personalizado que desee otorgar.
  10. Opcional: conceder derechos API al token de inicio de sesión.
    Restringir el acceso de API es el valor predeterminado para las nuevas aplicaciones. La aplicación no tiene titularidades de señal de inicio de sesión. Para otorgar titularidades para el acceso de API, realice los pasos siguientes.
    1. Seleccione el icono Editar.
      Se inicia el asistente Editar cliente de API.
    2. Seleccione los permisos de usuario y no usuario que desee otorgar a la señal de inicio de sesión.
      Si desmarca el recuadro Restringir acceso de API, se otorga a la señal un conjunto predeterminado de titularidades. Consulte Derechos de API de token de inicio de sesión predeterminado.
    3. Seleccione Guardar.
  11. Seleccione Guardar.

Qué hacer a continuación