Marco basado en XML
Service Provisioning Markup Language ( SPML ) es un marco basado en XML , desarrollado por OASIS , para intercambiar información de aprovisionamiento de usuarios, recursos y servicios entre organizaciones colaboradoras.
El lenguaje de marcado de aprovisionamiento de servicios es el estándar abierto para la integración e interoperación de solicitudes de aprovisionamiento de servicios . SPML es un estándar OASIS basado en los conceptos de Directory Service Markup Language . La versión 1.0 de SPML se aprobó en octubre de 2003. La versión 2.0 de SPML se aprobó en abril de 2006. Security Assertion Markup Language intercambia los datos de autorización.
Definición
El Comité Técnico de Servicios de Aprovisionamiento de OASIS utiliza la siguiente definición de "aprovisionamiento": [1]
El aprovisionamiento es la automatización de todos los pasos necesarios para gestionar (configurar, modificar y revocar) los derechos de acceso de usuarios o sistemas o los datos relativos a servicios publicados electrónicamente.
Objetivo de SPML
El objetivo de SPML es permitir que las organizaciones configuren de forma segura y rápida interfaces de usuario para servicios y aplicaciones web, permitiendo que plataformas empresariales como portales web, servidores de aplicaciones y centros de servicio generen solicitudes de aprovisionamiento dentro y entre organizaciones. Esto puede llevar a la automatización del acceso de usuarios o sistemas y a la concesión de derechos a servicios electrónicos en diversas infraestructuras de TI, de modo que los clientes no estén limitados a soluciones propietarias.
Funcionalidad SPML
La versión 2.0 de SPML [2] define la siguiente funcionalidad:
Funciones principales
- listTargets: permite que un solicitante determine el conjunto de objetivos que un proveedor pone a disposición para el aprovisionamiento.
- agregar: la operación agregar permite que un solicitante cree un nuevo objeto en un destino.
- búsqueda: la operación de búsqueda permite a un solicitante obtener el XML que representa un objeto en un destino.
- modificar - La operación modificar permite a un solicitante cambiar un objeto en un destino.
- eliminar: la operación de eliminación permite a un solicitante eliminar un objeto de un destino.
Capacidad asincrónica
- cancelar: la operación de cancelación permite a un solicitante detener la ejecución de una operación asincrónica.
- estado: la operación de estado permite a un solicitante determinar si una operación asincrónica se completó correctamente, falló o aún se está ejecutando.
Capacidad de lotes
- lote: admite la ejecución por lotes de las operaciones solicitadas.
Capacidad a granel
- bulkModify: permite que varias solicitudes de modificación se ejecuten juntas.
- bulkDelete: permite que se ejecuten varias solicitudes de eliminación juntas.
Capacidad de contraseña
- setPassword: permite que un solicitante especifique una nueva contraseña para un objeto.
- expirePassword: marca como inválida la contraseña actual de un objeto.
- resetPassword: permite a un solicitante cambiar (a un valor no especificado) la contraseña de un objeto y obtener ese valor de contraseña recién generado.
- validarPassword: permite que un solicitante determine si un valor específico sería válido como contraseña para un objeto específico.
Capacidad de referencia
Capacidad de búsqueda
- búsqueda: la operación de búsqueda obtiene todos los objetos que coinciden con una consulta especificada.
- iterar: la operación iterar obtiene el siguiente conjunto de objetos del conjunto de resultados que el proveedor seleccionó para una operación de búsqueda.
- closeIterator: la operación closeIterator le dice al proveedor que el solicitante ya no necesita el resultado de búsqueda que representa un <iterator> específico.
Capacidad de suspensión
- suspender - La operación de suspensión permite a un solicitante deshabilitar un objeto.
- reanudar - La operación de reanudar permite a un solicitante volver a habilitar un objeto que ha sido suspendido.
- activo: la operación activa permite a un solicitante determinar si un objeto específico ha sido suspendido.
Capacidad de actualizaciones
- actualizaciones: la operación de actualizaciones obtiene registros de cambios en los objetos.
- iterar: la operación iterar obtiene el siguiente conjunto de objetos del conjunto de resultados que el proveedor seleccionó para una operación de actualización.
- closeIterator: la operación closeIterator le dice al proveedor que el solicitante ya no necesita el conjunto de resultados de actualizaciones que representa un <iterator> específico.
Capacidades personalizadas
- Un proveedor individual (o cualquier tercero) puede definir una capacidad personalizada que se integre con SPMLv2.
Características
Objeto de servicio de aprovisionamiento (PSO)
El identificador clave en SPML es un PSO.
Un objeto de servicio de aprovisionamiento (PSO), a veces llamado simplemente objeto, representa una entidad de datos o un objeto de información sobre un destino. Por ejemplo, un proveedor representaría como un objeto cada cuenta que administra.
Cada objeto está contenido en exactamente un objetivo. Cada objeto tiene un identificador único (PSO-ID).
Perfil
SPMLv2 define dos “perfiles” en los que un solicitante y un proveedor pueden intercambiar el protocolo SPML:
- Esquema XML tal como se define en el “Perfil XSD SPMLv2” [SPMLv2-Profile-XSD].
- DSMLv2 según se define en el “Perfil SPMLv2 DSMLv2” [SPMLv2-Profile-DSML].
Un solicitante y un proveedor pueden intercambiar el protocolo SPML en cualquier perfil que acuerden.
El perfil DSMLv2 puede resultar más conveniente para aplicaciones que acceden principalmente a destinos que son servicios de directorio LDAP o X500. El perfil XSD puede resultar más conveniente para aplicaciones que acceden principalmente a destinos que son servicios web.
Referencias
- ^ Preguntas frecuentes sobre SPML abierto
- ^ Versión 2 de SPML
Enlaces externos
- oasis-open.org
- OpenSPML
- Proyecto de software de código abierto para el suministro de identidad
- Kit de herramientas de aprovisionamiento abierto (OpenPTK)
- Llavero: Puerta de enlace SPMLv2 de código abierto
- Biblioteca SPML2 de Softerra de código abierto para .NET