¿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.

host name error

Si uso en su lugar, por ejemplo. http://openam.local:8080/openam el error no aparece.

Lo que he intentado hasta ahora:

  1. Agregué un contenedor Nginx que funciona como un proxy inverso y lo usé para cambiar los nombres de host del contenedor a .local. Ahora puedo llegar a los contenedores por ejemplo a través de http://openam.local:8080/openam y http://apache.local:8080. Sin embargo, cuando ahora accedo al OpenAM GUI usando http://openam.local:8080/openam, introduzca las contraseñas predeterminadas, y pulse Create Configuration la configuración falla con el siguiente mensaje:creat config error
  2. 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 de Amster y no puedo averiguar cómo configurar la política de agente usando Amster.

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 apache http://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:
    - Continúa utilizando Nginx como un proxy inverso para cambiar los nombres de host del contenedor a `.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:
    - Como mencionaste, el comando `ssoadm` ha sido deprecado a favor de `Amster` para la configuración de OpenAM.
    • 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