Autenticación en IdP
En este artículo se describe la autenticación cuando OAM actúa como IdP y cómo se puede configurar el servidor para utilizar esquemas de autenticación de OAM específicos para desafiar al usuario. Cuando OAM 11gR1 actuando como IdP y OAM 11g se integraron juntos, OAM delegaba la autenticación del usuario a OAM mediante el uso de WebGate
:
- OHS tenía que estar instalado y configurado para actuar como proxy HTTP inverso para OAM
WebGate
tenía que estar instalado en OHS y registrado con OAM- Se ha tenido que configurar OAM para proteger una URL de OAM con
- Una política de autenticación
- Una política de autorización
- Configurar la URL de Desconexión de OAM en OAM
- OAM debe estar configurado para utilizar el motor de autenticación de OAM 11g
- Introduzca la cabecera HTTP que contiene el
userID
inyectado porWebGate
- Introduzca la cabecera HTTP que contiene el
- Configure la URL de desconexión de OAM en OAM 11gR2 y OAM 11gR2; los dos componentes están estrechamente integrados entre sí:
- No se requiere una configuración inicial para integrar los dos productos
- No se necesita WebGate/OHS para la autenticación IdP
- IdP puede aprovechar cualquier esquema de autenticación de OAM
Nota: Dada la naturaleza avanzada de la configuración, la configuración de autenticación de OAM solo se puede gestionar mediante comandos WLST de OAM.
Visión general
En la versión 11.1.2.2.0 o posterior de OAM, la aplicación web J2EE de OAM y la aplicación web J2EE de OAM se incluyen en la misma aplicación EAR J2EE de OAM que se despliega en una instancia de WLS autónoma. Este enfoque de despliegue permite a los dos módulos reenviar internamente la solicitud HTTP del usuario entrante de OAM a OAM y viceversa. Esto permite a la aplicación IdP disparar una operación de autenticación de OAM local que desafía e identifica al usuario. En tiempo de ejecución, cuando IdP necesite autenticación en una operación de federación, IdP:
- Reenviar internamente al usuario a OAM
- Indicar a OAM qué esquema de autenticación utilizar para la autenticación de usuario
- OAM determina si un usuario debe ser desafiado:
- Si el usuario aún no se ha autenticado
- Si el usuario está autenticado pero la sesión ha sufrido un timeout
- Si el usuario está autenticado, pero el nivel de esquema de autenticación de la autenticación original es inferior al nivel del esquema de autenticación solicitado por IdP
- Si el usuario necesita una comprobación, OAM lo hará según las reglas del esquema de autenticación especificado por IdP. Una vez que OAM ha autenticado (opcionalmente) al usuario y ha creado una sesión, reenvía internamente al usuario a IdP con información de identidad y sesión. IdP reanuda la operación de federación que estaba realizando. Inicialmente, IdP está configurado para utilizar
LDAPScheme
como esquema de autenticación de OAM para desafiar e identificar usuarios: se define como esquema global por defecto para IdP. Es posible para un administrador:- Para definir el esquema de autenticación de OAM por defecto global que se utilizará para autenticar usuarios.
- En un perfil de socio de SP para definir el esquema de autenticación de OAM que se utilizará para autenticar usuarios para socios de SP enlazados a este perfil de socio de SP. Si se define, este valor tiene prioridad sobre el esquema de autenticación de OAM por defecto global
- En un partner de SP para definir el esquema de autenticación de OAM por defecto que se utilizará para autenticar usuarios para este partner de SP. Si se define, este valor tiene prioridad sobre el esquema de autenticación de OAM definido en el perfil de socio de SP al que hace referencia este socio de SP o tiene prioridad sobre el esquema de autenticación de OAM por defecto global
Prueba de configuración
Utilice el siguiente entorno de prueba:
- IdP (Fin de creación)
- Un partner de SP de SAML 2.0 denominado
AcmeSP
- Otro partner de SP de SAML 2.0 denominado
HRsp
Ejecute varios casos de prueba:
- Autenticación por Defecto Global:
- Tanto
AcmeSP
comoHRsp
utilizan el perfil de socio de SP de SAML 2.0 por defecto - No se definirá ningún esquema de autenticación en el nivel de partner de SP
- No se definirá ningún esquema de autenticación en el nivel de perfil de socio de SP
- La autenticación por defecto global se utilizará tal cual (
OOTB
:LDAPScheme
) y se realizará una operación SSO de federación - La autenticación por defecto global se definirá en
BasicScheme
(Autenticación HTTP Básica) y se realizará una operación SSO de federación - Autenticación de perfil de socio de SP:
AcmeSP
utiliza el perfil de socio de SP de SAML 2.0 por defectoHRsp
utiliza otro perfil de partner de SP de SAML 2.0- No se definirá ningún esquema de autenticación en el nivel de partner de SP
- No se establecerá ningún esquema de autenticación en el nivel de perfil de socio de SP de SAML 2.0 por defecto, pero el nuevo perfil de socio de SP de SAML 2.0 se configurará para utilizar
BasicScheme
- La autenticación por defecto global se definirá en
LDAPScheme
- Se realizará una SSO de federación con
AcmeSP
- Se realizará una SSO de federación con
HRsp
- Autenticación de socio de SP:
- Tanto
AcmeSP
comoHRsp
utilizan el perfil de socio de SP de SAML 2.0 por defecto - El esquema de autenticación para el perfil de socio de SP de SAML 2.0 por defecto se definirá en
BasicScheme
- El esquema de autenticación para
AcmeSP
se definirá enLDAPScheme
- La autenticación por defecto global se definirá en
LDAPScheme
- Se realizará una SSO de federación con
AcmeSP
- Se realizará una SSO de federación con
HRsp
- Aumente la autenticación a través de diferentes niveles de autenticación
- Tanto
AcmeSP
comoHRsp
utilizan el perfil de socio de SP de SAML 2.0 por defecto - El esquema de autenticación para el perfil de socio de SP de SAML 2.0 por defecto se definirá en
BasicScheme
- El esquema de autenticación para
AcmeSP
se definirá enLDAPScheme
- La autenticación por defecto global se definirá en
LDAPScheme
LDAPScheme
se configurará para que su nivel esté definido en 3BasicScheme
no cambiará con su nivel definido en 2
Prueba n.o 1:
- El SSO de federación se realizará con
AcmeSP
- El usuario se desafía a través de
LDAPScheme
- En el mismo explorador, SSO de federación se realizará con
HRsp
- El usuario no será desafiado
Prueba n.o 2:
- El SSO de federación se realizará con
HRsp
- El usuario se desafía a través de
BasicScheme
- En el mismo explorador, SSO de federación se realizará con
AcmeSP
- El usuario será desafiado a través de
LDAPScheme
Las siguientes secciones, cada una de las cuales describe un caso de prueba, estarán en un orden cronológico, comenzando cada sección donde se detuvo la sección anterior.
Nota: Si se va a utilizar la autenticación básica HTTP en IdP, el dominio WebLogic en el que se ejecuta OAM debe estar configurado para no validar la autenticación básica HTTP para recursos no seguros.
Autenticación HTTP Básica
Por defecto, si un explorador envía credenciales de autenticación básica HTTP a OAM, el servidor WLS intenta validarlas antes de permitir que OAM procese la solicitud: esto puede provocar fallos de autenticación, especialmente si el dominio WLS no se ha configurado con autenticadores LDAP de WLS para cada almacén de identidades creado en OAM.
Nota: Incluso si el dominio de WLS se ha configurado correctamente para tener un autenticador LDAP de WLS para cada almacén de identidades creado en OAM, esto da como resultado dos operaciones de autenticación, una por WLS y la otra que OAM necesita para crear una sesión de OAM.
Es posible desactivar la validación automática de las credenciales de autenticación básica HTTP enviadas a [aplicaciones no seguras]{.underline} en el dominio de WLS en el que se está ejecutando OAM. Consulte la sección "Understanding BASIC Authentication with Unsecured Resources" de la guía Oracle Fusion Middleware Programming Security for Oracle WebLogic Server para obtener más información. Para desactivar la validación automática de las credenciales de autenticación básica HTTP enviadas a [aplicaciones no seguras]{.underline} en el dominio WLS, ejecute los siguientes pasos:
- Introduzca el entorno WLST ejecutando:
$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conéctese al servidor de administración de WLS:
connect()
- Inicie una sesión de edición:
edit()
startEdit()
- Navegue al nodo SecurityConfiguration:
cd('SecurityConfiguration')
- Navegue al dominio (sustituya DOMAIN_NAME por el nombre del dominio de WLS donde está instalado OAM):
cd('DOMAIN_NAME')
- Defina el valor
EnforceValidBasicAuthCredentials
en false para desactivar la validación táctica de las credenciales de autenticación básica HTTP enviadas a aplicaciones no seguras:set('EnforceValidBasicAuthCredentials', 'false')
- Guarde y active los cambios:
save()
activate()
- Reinicie los servidores en el dominio de WLS para que se apliquen los cambios.
Autenticación por defecto global
El primer paso es crear y configurar socios de SP en IdP para el inicio de sesión único de SAML 2.0. Después de configurarla, la lista de socios de SP en IdP tiene el siguiente aspecto:
Descripción de la ilustración accessmanagement.jpg
Si se realiza SSO de federación que incluye AcmeSP
o HRsp
con IdP, el servidor de OAM desafía al usuario mediante el esquema de autenticación global por defecto configurado como LDAPScheme
OOTB:
Descripción de la ilustración accessmanager.jpg
Para cambiar el esquema de autenticación global por defecto a BasicScheme
, utilice el comando WLST setIdPDefaultScheme()
de OAM y especifique qué esquema utilizar como valor por defecto:
-
Introduzca el entorno WLST ejecutando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
-
Conéctese al servidor de administración de WLS:
connect()
-
Navegue a la rama Domain Runtime:
domainRuntime()
-
Ejecute el comando
setIdPDefaultScheme()
:setIdPDefaultScheme("BasicScheme")
-
Salga del entorno WLST:
exit()
La realización de SSO de federación que incluyeAcmeSP
oHRsp
con IdP da como resultado que el servidor de OAM desafíe al usuario que utiliza OAMBasicScheme
en lugar deLDAPScheme
:
Para cambiar el esquema de autenticación global por defecto a LDAPScheme
, realice las siguientes operaciones:
- Introduzca el entorno WLST ejecutando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conéctese al servidor de administración de WLS:
connect()
- Navegue a la rama Domain Runtime:
domainRuntime()
- Ejecute el comando
setIdPDefaultScheme()
:setIdPDefaultScheme("LDAPScheme")
- Salga del entorno WLST:
exit()
Si se realiza SSO de federación que incluye AcmeSP
o HRsp
con IdP, el servidor de OAM desafía al usuario a través de LDAPScheme
.
Autenticación de perfil de socio de SP
A partir de los casos de prueba anteriores, la configuración es la siguiente:
AcmeSP
yHRsp
existen en IdP- El esquema de autenticación global por defecto en IdP es
LDAPScheme
- Tanto
AcmeSP
comoHRsp
utilizan el perfil de socio de SP de SAML 2.0 por defecto
Para configurar HRsp
para que utilice un nuevo perfil de socio de SP, ejecute los siguientes comandos:
- Introduzca el entorno WLST ejecutando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conéctese al servidor de administración de WLS:
connect()
- Navegue a la rama Domain Runtime:
domainRuntime()
- Cree el nuevo perfil de socio de SP a partir del perfil de socio de SP de SAML 2.0 por defecto:
createFedPartnerProfileFrom("new-saml20-pp", "saml20-sp-partner-profile")
- Enlace el socio HRsp al nuevo perfil de socio de SP:
setFedPartnerProfile("HRsp", "sp", "newsaml20-pp")
- Salga del entorno WLST:
exit()
En este punto, al realizar SSO de federación que implique AcmeSP
o HRsp
con IdP, el servidor OAM desafía al usuario a través de LDAPScheme
. Para configurar el nuevo perfil de socio de SP para que tenga BasicScheme
como esquema de autenticación por defecto, utilice el comando WLST setSPPartnerProfileDefaultScheme()
de OAM:
- Introduzca el entorno WLST ejecutando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conéctese al servidor de administración de WLS:
connect()
- Navegue a la rama Domain Runtime:
domainRuntime()
- Defina el esquema de autenticación por defecto para el nuevo perfil de socio de SP en
BasicScheme
:setSPPartnerProfileDefaultScheme("newsaml20-pp", "BasicScheme")
- Salga del entorno WLST:
exit()
Ahora, realizando SSO de federación con:
AcmeSP
hace que IdP desafíe al usuario a través deLDAPScheme
.HRsp
hace que IdP desafíe al usuario a través deBasicScheme
.
Enlace HRsp
de nuevo al perfil de socio de SP por defecto y, a continuación, suprima el perfil de socio de SP que he creado en esta prueba:
- Introduzca el entorno WLST ejecutando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conéctese al servidor de administración de WLS:
connect()
- Navegue a la rama Domain Runtime:
domainRuntime()
- Enlace el socio HRsp al perfil de socio de SP por defecto:
setFedPartnerProfile("HRsp", "sp", "saml20-sp-partner-profile")
- Suprima el nuevo perfil de socio de SP:
deleteFedPartnerProfile("new-saml20-pp")
- Salga del entorno WLST:
exit()
Después de ejecutar estos comandos, al realizar SSO de federación que implique AcmeSP
o HRsp
con IdP, el servidor OAM desafía al usuario a través de LDAPScheme
.
Autenticación de socio de SP
A partir de los casos de prueba anteriores, la configuración es la siguiente:
AcmeSP
yHRsp
existen en IdP- El esquema de autenticación global por defecto en IdP es
LDAPScheme
- Tanto
AcmeSP
comoHRsp
utilizan el perfil de socio de SP de SAML 2.0 por defecto
Para configurar el perfil de socio de SP de SAML 2.0 por defecto para utilizar BasicScheme
como esquema de autenticación, realice las siguientes operaciones:
- Introduzca el entorno WLST ejecutando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conéctese al servidor de administración de WLS:
connect()
- Navegue a la rama Domain Runtime:
domainRuntime()
- Defina el esquema de autenticación por defecto para el nuevo perfil de socio de SP en
BasicScheme
:setSPPartnerProfileDefaultScheme("saml20-sppartner-profile", "BasicScheme")
- Salga del entorno WLST:
exit()
En este punto, al realizar SSO de federación que implique AcmeSP
o HRsp
con IdP, el servidor OAM desafía al usuario a través de BasicScheme
. Para configurar el partner de SP AcmeSP
para que tenga LDAPScheme
como esquema de autenticación por defecto, utilice el comando WLST setSPPartnerDefaultScheme()
de OAM:
- Introduzca el entorno WLST ejecutando:
\$IAM_ORACLE_HOME/common/bin/wlst.sh
- Conéctese al servidor de administración de WLS:
connect()
- Navegue a la rama Domain Runtime:
domainRuntime()
- Defina el esquema de autenticación por defecto para el partner de SP
AcmeSP
enLDAPScheme
:setSPPartnerDefaultScheme("AcmeSP", "LDAPScheme")
- Salga del entorno WLST:
exit()
Ahora, realizando SSO de federación con:
AcmeSP
hace que IdP desafíe al usuario a través deLDAPScheme
.HRsp
hace que IdP desafíe al usuario a través deBasicScheme
.
Aumentar la autenticación a través de diferentes niveles de autenticación
A partir de los casos de prueba anteriores, la configuración es la siguiente:
AcmeSP
yHRsp
existen en IdP- El esquema de autenticación global por defecto en IdP es
LDAPScheme
- Tanto
AcmeSP
comoHRsp
utilizan el perfil de socio de SP de SAML 2.0 por defecto - El perfil de partner de SP de SAML 2.0 por defecto está configurado con el esquema de autenticación por defecto definido en
BasicScheme
- El partner de SP
AcmeSP
está configurado con el esquema de autenticación por defecto definido enLDAPScheme
En este punto, realizando SSO de federación con: AcmeSP
hace que IdP desafíe al usuario a través deLDAPScheme
.HRsp
hace que IdP desafíe al usuario a través deBasicScheme
.
OOTB, el nivel de autenticación para LDAPScheme
y BasicScheme
está definido en 2. Para cambiar el nivel de autenticación de LDAPScheme
a 3, realice las siguientes operaciones:
-
Vaya a la consola de administración de OAM:
http(s)://oam-admin-host:oam-adminport/oamconsole
-
Vaya a Access Manager, Authentication Schemes.
-
Haga clic en Buscar y seleccione
LDAPScheme
-
Definir el nivel de autenticación en 3
-
Haga clic en Aplicar.
Después de estos cambios, si el usuario ya está autenticado en OAM y el usuario realiza una operación de SSO de federación con IdP, OAM garantiza que el esquema que se ha utilizado para autenticar al usuario en primer lugar tiene un nivel superior o igual al esquema configurado para el partner de SP actual con el que se ejerce SSO de federación. Por ejemplo:
- Si el usuario se autentica por primera vez a través de
LDAPScheme
, no se volverá a poner en marcha cuando se realice una segunda operación de SSO de federación con el esquema de autenticación por defecto para ese segundo valor inferiorBasicScheme
: - El SSO de federación se ha iniciado con el partner
AcmeSP
- OAM desafía al usuario a través de
LDAPScheme
- IdP emite una afirmación y redirige al usuario a
AcmeSP
- En el mismo explorador, SSO de federación se inicia con
HRsp
- OAM no desafiará al usuario, porque el usuario ya está autenticado, la sesión no ha sufrido un timeout y el nivel del esquema utilizado para crear la sesión (que era 3 para
LDAPScheme
) es mayor o igual que el esquema por defecto configurado para este SSO de federación actual (que es 2 paraBasicScheme
) - IdP emite una afirmación y redirige al usuario a
HRsp
- Si el usuario se autentica por primera vez a través de
BasicScheme
, se volverá a poner en marcha cuando se realice una segunda operación de SSO de federación con el esquema de autenticación por defecto para ese segundo valor inferiorLDAPScheme
: - El SSO de federación se ha iniciado con el partner
HRsp
- OAM desafía al usuario a través de
BasicScheme
- IdP emite una afirmación y redirige al usuario a
HRsp
- En el mismo explorador, SSO de federación se inicia con
AcmeSP
- OAM desafía al usuario, porque el usuario ya está autenticado, la sesión no ha sufrido un timeout [pero]{.underline} el nivel del esquema utilizado para crear la sesión (que era 2 para
BasicScheme
) es inferior al esquema por defecto configurado para este SSO de federación actual (que es 3 paraLDAPScheme
) - IdP emite una afirmación y redirige al usuario a
AcmeSP
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.
Authentication in OAM and IdP
F59731-01
September 2022
Copyright © 2022, Oracle and/or its affiliates.