Envío de atributos con OAM y IdP
En este artículo se describe cómo se puede configurar OAM fácilmente para enviar atributos con la afirmación SSO al partner durante la operación SSO de federación. Esos atributos se pueden definir en datos recuperados de:
-
Registro de usuario de LDAP (atributos, DN...)
-
Sesión de usuario de OAM (atributos, recuento de sesiones...)
-
Solicitud HTTP del explorador (cookie, agente de usuario...)
Tenga en cuenta que la configuración de cómo se definen los valores NameID de SAML es similar a cómo se configuran los atributos en OAM.
Atributos en respuesta SSO
Durante la operación de SSO de federación, IdP emite un token de destino para el SP que contiene tres tipos de datos:
-
Información de usuario: datos sobre el usuario que también permite al SP identificar al usuario (
userID, dirección de correo electrónico...) -
Información de autenticación de federación: cómo se autenticó el usuario, cuándo se desafió al usuario, cuándo caduca la sesión del usuario...
-
Información relacionada con el token utilizada para validar la emisión del token, para garantizar que IdP era la entidad que creó el token y que el token aún no ha caducado...
El servidor IdP puede enviar información como atributos SAML/OpenID al SP/RP que se puede basar en:
-
Cadena estática
-
Información de usuario:
-
ID de usuario
-
Nombre de almacén de identidades
-
Identificador único global de usuario (
guid) -
Lista de grupos asignados al usuario
-
Valor de un atributo almacenado en el registro de usuario LDAP
-
-
Sesión del usuario de OAM:
-
Nivel de autenticación de la sesión
-
Nombre del esquema de autenticación utilizado para desafiar al cliente
-
Número de sesiones abiertas para el cliente
-
Fecha en formato XML en que se creó la sesión
-
Fecha en formato XML cuando caduca la sesión
-
Valor de un atributo almacenado en la sesión de OAM. Tenga en cuenta que este atributo puede haber sido almacenado por otro componente de OAM (por ejemplo, OAM, OAM/SP...)
-
-
Solicitud HTTP del explorador:
-
Valor de la cabecera HTTP específica
-
Valor de una cookie específica
-
Dirección IP del cliente
-
-
Combinación de los datos anteriores como un único atributo: por ejemplo, IdP se podría configurar para enviar el valor de un atributo basado en UserID, el nombre del almacén de identidades y el recuento de sesiones del usuario.
Lo anterior se aplica para enviar atributos en afirmaciones SAML y respuestas SSO OpenID, pero también es válido para definir el valor NameID de SAML en una afirmación SAML.
Configuración de IdP
Hay varias formas de configurar IdP para los atributos NameID y SAML/OpenID de SAML:
-
Mediante la consola de administración de OAM
-
SAML NameID se puede configurar mediante
-
Indicación del atributo de usuario LDAP que se va a utilizar
-
Definición de una expresión basada en un registro de usuario LDAP, datos de sesión, datos de solicitud http o datos estáticos
-
Un atributo SAML/OpenID se puede configurar indicando:
- El atributo de usuario LDAP que se va a utilizar
-
Uno de los siguientes datos de usuario:
-
ID de usuario
-
Nombre de almacén de identidades
-
Identificador único global de usuario (
guid) -
Lista de grupos asignados al usuario
-
Atributo de sesión de OAM que se va a utilizar
-
Uno de los siguientes datos de sesión:
-
Nivel de autenticación de la sesión
-
Nombre del esquema de autenticación utilizado para desafiar al cliente
-
Número de sesiones abiertas para el cliente
-
Fecha en formato XML en que se creó la sesión
-
Fecha en formato XML cuando caduca la sesión
-
Cabecera HTTP que se va a utilizar
-
Una cookie que se va a utilizar
-
Dirección IP del explorador
-
Una cadena estática
-
Expresión basada en registros de usuario LDAP, datos de sesión, datos de solicitud http o datos estáticos
-
Mediante un comando WLST
-
SAML NameID se puede configurar definiendo una expresión basada en un registro de usuario LDAP, datos de sesión, datos de solicitud http o datos estáticos
-
Se puede configurar un atributo SAML/OpenID indicando una expresión basada en un registro de usuario LDAP, datos de sesión, datos de solicitud http o datos estáticos
-
Expresiones
IdP está configurado para enviar atributos/NameID mediante el uso de un lenguaje de expresión similar al utilizado en las respuestas de política de autorización de OAM. A continuación se muestra la lista de posibles elementos que se pueden utilizar para configurar un identificador de nombre/atributo.
| Tipo | Datos | Expresión |
|
|---|---|---|---|
| Usuario | ID de usuario | $user.userid | $user.userid |
Almacén de Identidades Nombre |
$user.id_domain | $user.id_domain | |
| GUID de Usuario | $user.guid | $user.guid | |
Coma lista separada de grupos que el usuario está miembro de |
$user.groups | $user.groups | |
| Atributo de Usuario LDAP | $user.a?r.ATTR_NAME, donde ATTR_NAME es el nombre de un atributo de usuario LDAP | $user.a?r.givenname | |
| Sesión del usuario de OAM | Nivel de autenticación | $session.authn_level | $session.authn_level |
| Esquema de Autenticación | $session.authn_scheme | $session.authn_schem | |
| Recuento de Sesiones | $session.count | $session.count | |
| Fecha de creación de sesión | $session.creation | $session.creation | |
Sesión Caducidad |
$session.expiration | $session.expiration | |
| Atributo de Sesión | $session.a?r.ATTR_NAME, con ATTR_NAME es el nombre de un OAM Atributo de Sesión |
$session.a?r.fed.part (este juego de atributos de sesión) por OAM/SP al recibir una afirmación de un IdP remoto y contiene el Nombre del partner de IdP; hablamos más sobre esos atributos en un futuro artículo) |
|
Del Explorador HTTP request |
Valor de cabecera HTTP | $request.httpheader.HTTP_HEADER_NAME, donde HTTP_HEADER_NAME es el nombre de una cabecera HTTP | Agente $user.httpheader.user |
| Valor de Cookie | $request.cookie.COOKIE_NAME, con COOKIE_NAME es el nombre de una cookie |
$user.cookie.JSESSION | |
IP del cliente Dirección |
$request.client_ip | $request.client_ip |
Nota sobre Enviar siempre
El perfil de atributo de SP se utiliza para varios protocolos, entre los que se incluyen:
-
SSO de SAML, donde el SP no puede solicitar atributos en tiempo de ejecución
-
Intercambio de atributos de SOAP de SAML, donde el SP puede solicitar atributos en tiempo de ejecución
-
OpenID 2.0, donde el SP puede solicitar atributos en tiempo de ejecución
La opción "Enviar siempre" que se ve en la sección Perfil de atributo de SP permite a un administrador indicar a IdP que envíe siempre el atributo en una afirmación aunque el partner de SP no lo haya solicitado.
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Sending Attributes with OAM and IdP
F61885-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.