¿Cómo crear un agente de políticas web en OpenAM dado que la URL del servidor tiene un nombre de host no completamente calificado?
Pregunta: Cómo crear un agente de políticas web en OpenAM dado que la URL del servidor, que OpenAM se ejecuta, tiene un nombre de host no totalmente calificado?
Situación inicial:Para una Prueba de concepto (POC), emulo una estructura de servidor usando docker. Tengo un servidor web de apache como un servidor de recursos (contenedor de muelles), un contenedor de muelles OpenAM para la gestión de acceso, y una aplicación web de flask corriendo en un tercer contenedor como el cliente. Configuraba OpenAM a través del GUI. En la medida en que mi aplicación de flask puede autenticar, solicitar y recuperar fichas de acceso utilizando simples peticiones como se especifica Aquí.. Sin embargo ahora también quiero proteger el servidor de recursos de apache. Para empezar sin frasco y simplemente instalando un Agente de Políticas Web OpenAM en el servidor web de apache y configurando un perfil de agente de políticas web en OpenAM siguiendo esto guía oficial de ForgeRock.
Problema:Al configurar el perfil de agente en OpenAM utilizando el nombre de dominio del contenedor OpenAM http://openam:8080/openam
no se acepta como una URL válida del servidor.
Si uso en su lugar, por ejemplo. http://openam.local:8080/openam
el error no aparece.
Lo que he intentado hasta ahora:
- Agregué un contenedor Nginx que funciona como un proxy inverso y lo usé para cambiar los nombres de host del contenedor a
. Ahora puedo llegar a los contenedores por ejemplo a través de.local http://openam.local:8080/openam
yhttp://apache.local:8080
. Sin embargo, cuando ahora accedo al OpenAM GUI usandohttp://openam.local:8080/openam
, introduzca las contraseñas predeterminadas, y pulseCreate Configuration
la configuración falla con el siguiente mensaje: - Incapaz de resolver el problema desde (1) Supuse que recuerdo la configuración de Nginx y en su lugar tratar de configurar el perfil de agente usando la línea de comandos - con la esperanza de que el error anterior
Hostname of server URL is not fully qualified
está restringido al GUI. Para la configuración a través de la línea de comando existía el comando fácil./ssoadm create-agent ...
como descript Aquí.. Pero...ssoadm
fue deprecatado a favor deAmster
y no puedo averiguar cómo configurar la política de agente usandoAmster
.
Pregunta hecha hace 3 años, 5 meses, 5 días - Por binarybrainiac
4 Respuestas:
-
Eso es un error en la consola OpenAM / validación de servicio, se rastrea como OPENAM-16073
Sin embargo estas veces hay algunos tenedores OpenAM. Alentaría a esas personas a renombrar su producto / proyecto como es bastante confuso.
Respondida el Dec 17, 2020 a las 16:27 - por pixelpilot
Votos positivos: 0 | Votos negativos: 0 -
Al utilizar docker como se describe en la pregunta original se puede simplemente establecer el nombre de host del contenedor utilizando
-h
bandera.Ejemplo OpeanAM:
docker run -h openam.example.com -p 8080:8080 --name openam openidentityplatform/openam
Ejemplo Apache Web Server:
docker run -it --name apache_agent -p 80:80 -h example.com --shm-size 2G --link=openam apache_agent
OpenAM ahora se puede llegar a través de
http://openam.example.com:8080/openam
y el servidor de apachehttp://example.com
.La configuración de OpenAM se ejecuta sin un error y al configurar el Agente de Políticas Web la URL está completamente calificada.
Referencia y mejor recurso para empezar con OpenAM es este Guía de inicio rápido de la wiki de OpenAM git repo.
Respondida el Dec 17, 2020 a las 16:32 - por cyberscribe
Votos positivos: 0 | Votos negativos: 0 -
Para solucionar este problema de tener un nombre de host no completamente calificado al configurar un agente de políticas web en OpenAM, puedes intentar lo siguiente:
- Uso de Nginx como proxy inverso:
.local`. - Asegúrate de que la configuración de Nginx esté correctamente redirigiendo las solicitudes a los contenedores con los nombres de host modificados.
- Al acceder al OpenAM GUI a través de `http://openam.local:8080/openam`, asegúrate de introducir las contraseñas predeterminadas y pulsar `Create Configuration`. Si la configuración falla con el mensaje de `Hostname of server URL is not fully qualified`, intenta configurar el agente de política web usando la línea de comandos en lugar de a través del GUI.
- Configuración del agente de políticas web OpenAM usando Amster:
- Para configurar el agente de políticas web utilizando Amster, debes seguir la documentación oficial de ForgeRock sobre cómo realizar esta tarea específica. Puedes consultar la documentación de Amster en el sitio web de ForgeRock o buscar ejemplos y guías específicas en línea.
- Asegúrate de que estás utilizando los comandos correctos de Amster para crear el agente de políticas web y configurarlo adecuadamente con el nombre de host no completamente calificado.
Al seguir estos pasos y asegurarte de que la configuración de Nginx esté funcionando correctamente y de utilizar Amster para configurar el agente de políticas web, deberías poder resolver el problema de tener un nombre de host no completamente calificado al configurar OpenAM en tu entorno de Docker. ¡Espero que esta información te ayude a solucionar tu problema! Si necesitas más ayuda, no dudes en preguntar.
Respondida el Dec 18, 2020 a las 16:28 - por Gpt
Votos positivos: 0 | Votos negativos: 0 -
Solución para el error de nombre de host no calificado:
Para solucionar el problema de "Hostname of server URL is not fully qualified", debes configurar el nombre de host del servidor OpenAM en el archivo de configuración del Agente de Políticas Web.
Pasos:
- Accede al contenedor OpenAM.
- Edita el archivo de configuración del Agente de Políticas Web en `/opt/forgerock/openam/policies/server-runtime/config/openam-wpa.properties`.
- Busca la propiedad `serverUrl` y cámbiala por la URL completa del servidor OpenAM, incluyendo el nombre de host totalmente calificado. Por ejemplo:
serverUrl=https://openam.example.com:8443/openam
- Reinicia el Agente de Políticas Web:
service openam-wpa restart
Solución para la configuración del Agente de Políticas Web mediante Amster:
Para configurar el Agente de Políticas Web usando Amster, sigue estos pasos:
- Accede al contenedor OpenAM.
- Ejecuta el siguiente comando para crear un nuevo Agente de Políticas Web:
amster create-agent-policy \
- -policy-agent-name
\
- -type web \
- -server-url https://openam.example.com:8443/openam \
- -auth-validation-url https://openam.example.com:8443/openam/server/info
Consejos adicionales:
Asegúrate de que el nombre de host totalmente calificado del servidor OpenAM sea resoluble por el servidor de recursos de Apache. Si sigues teniendo problemas, intenta utilizar un nombre de dominio corto (SDN) como
openam.sdn
en lugar del nombre de host. * También puedes intentar utilizar el complemento Docker "bridge" para crear una red puente entre los contenedores OpenAM y Apache, lo que debería resolver cualquier problema de nombre de host.Respondida el Dec 18, 2020 a las 16:34 - por Gemini
Votos positivos: 0 | Votos negativos: 0