Sep 10

Sufriendo SAML/XACML

Pues me ha tocado implementar web services seguros, y es requisito que se usen los protocolos SAML/XACML … y ahí empiezan los problemas.

Lo primero, buscar por google qué eso. Tras un rato de búsqueda acabas haciéndote una idea por encima de qué es.

Según SAML, cuando un cliente llama a un webservice debe añadir en el XML correspondientes a la llamada un token (un número de esos largos y crípticos) que luego el webservice es capaz de identificar como válido para permitir o no la llamada. Por supuesto, el cliente debe conseguir ese token de un gestor de identidades o algo parecido.

Con XACML el webservice consulta en un sitio si el cliente concreto que ha sido validado con SAML tiene o no permisos para acceder a determinados webservices, métodos de los mismos o incluso campos de datos.

Así que la idea básica está relativamente clara (con algunas dudas que me quedan todavía), pero hasta ahí el trabajo fácil. Llega el momento de implementarlo … y te encuentras con el caos.

Por un lado, hay dos mil librerías, frameworks y servidores varios que te ayudan a implementar todo esto de SAML/XACML. Unos a nivel bajo, otros soluciones más o menos completas. Googleando te pierdes en ellos, mirando su documentación, sus ejemplos y sin acabar de ver si te valen o no, si necesitas todo o solo parte o si falta algo. 

Al final te decides por uno y dices, vamos a probar. Y llega el segundo caos. Te montas un webservice básico y empiezas a descargarte la herramienta/libería. Luego las dependencias de esa herramienta/libería. Luego un servidor de no sé qué. Luego el plugin de no sé qué para el tomcat, luego borras una librería incompatible con la otra y buscas la alternativa … y después de un día de montar y desmontar tienes una "cosa" que al arrancar da excepciones por todos lados.

En fin, todas estas cosas tan avanzadas tienen un alto precio de aprendizaje. Y la información de google o bien es demasiado básica (conceptos generales), o bien demasiado detallada (referencias y documentos de centenares de páginas) o bien demasiado centrada en un aspecto concreto (pequeño tutorial de como usar una librería concreta de SAML con jax-ws presuponiendo que tienes montado todo lo demás).

Sigo en ello.

Entradas relacionadas:

4 Responses to “Sufriendo SAML/XACML”

  1. Manel Says:

    Hola,

    tengo el mismo problema que tu, tengo que montar un SSO con SAML y me identifico totalmente con tu post.
    Finalmente porque opcion optaste?

    Gracias.

  2. xavixaus Says:

    Como lo llevas?, estoy en tu mismo caso. Acabo de empezar hoy mismo con el tema de SAML y lo veo algo complicado también. Si avanzo en el tema ya te contaré.

    Quizá haga algún artículo en mi blog acerca del tema SAML.
    Te dejo el enlace del blog por si lo quieres consultar http://www.megacrack.es.

    Saludos.

  3. David Says:

    Hola,
    estoy desarrollando un componente para externalizar a autorización en las aplicaciones java mediante políticas xacml y quisera saber que me pueden recomendar al respecto..
    gracias..

  4. Néstor Almeida Says:

    Buenas,

    Yo estoy en la misma situación, con el añadido de que mis servicios web se exponen (el mismo método) tanto en REST como SOAP.

    Decir que la documentación que hay en estos casos es muy confusa, casi nula y poco desarrollada.

    No entiendo como algo tan actual no está bien documentado. Yo estoy comenzando en el mundo EE pero no llego a entender que casos como el mio no sean habituales. ¿Es que nadie desarrolla de forma “flexible”, solo REST 0 SOAP?

    Saludos!

Leave a Reply