Service Provisioning Markup Language ( SPML ) es un marco basado en XML , desarrollado por OASIS , para intercambiar información sobre el suministro de servicios, recursos y usuarios 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 administrar (configurar, modificar y revocar) los derechos de acceso del usuario o del sistema o los datos relacionados con los 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 servicios generen solicitudes de aprovisionamiento dentro y entre organizaciones. Esto puede llevar a la automatización del acceso del usuario o del sistema y los derechos de titularidad de los servicios electrónicos en diversas infraestructuras de TI, de modo que los clientes no estén limitados a soluciones patentadas.
Funcionalidad SPML
SPML versión 2.0 [2] define la siguiente funcionalidad:
Funciones básicas
- listTargets: permite a un solicitante determinar el conjunto de destinos que un proveedor pone a disposición para el aprovisionamiento.
- agregar: la operación de agregar permite a un solicitante crear 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 de modificación permite a un solicitante cambiar un objeto en un objetivo.
- 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.
- status: la operación de estado permite a un solicitante determinar si una operación asincrónica se ha completado con éxito o ha fallado o aún se está ejecutando.
Capacidad por lotes
- lote: admite la ejecución por lotes de las operaciones solicitadas.
Capacidad a granel
- bulkModify: permite ejecutar juntas varias solicitudes de modificación.
- bulkDelete: permite ejecutar juntas varias solicitudes de eliminación.
Capacidad de contraseña
- setPassword: permite a un solicitante especificar una nueva contraseña para un objeto.
- expirePassword: marca como inválida la contraseña actual para 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.
- validatePassword: permite a un solicitante determinar si un valor especificado sería válido como contraseña para un objeto especificado.
Capacidad de referencia
Capacidad de búsqueda
- búsqueda: la operación de búsqueda obtiene todos los objetos que coinciden con una consulta específica.
- iterar: la operación de iteración 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
específico.
Suspender la capacidad
- suspender: la operación de suspensión permite a un solicitante deshabilitar un objeto.
- reanudar: la operación de reanudación permite a un solicitante volver a habilitar un objeto que ha sido suspendido.
- active: 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 de iteración 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 no necesita más el conjunto de resultados de actualizaciones que representa un
específico.
Capacidades personalizadas
- Un proveedor individual (o cualquier tercero) puede definir una capacidad personalizada que se integra 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 en un objetivo. Por ejemplo, un proveedor representaría como un objeto cada cuenta que administra el proveedor.
Cada objeto está contenido por 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 como se define en el “Perfil SPMLv2 XSD” [SPMLv2-Profile-XSD].
- DSMLv2 como se define en el “Perfil SPMLv2 DSMLv2” [SPMLv2-Profile-DSML].
Un solicitante y un proveedor pueden intercambiar el protocolo SPML en cualquier perfil con el que estén de acuerdo.
El perfil DSMLv2 puede ser más conveniente para aplicaciones que acceden principalmente a destinos que son servicios de directorio LDAP o X500. El perfil XSD puede ser más conveniente para aplicaciones que acceden principalmente a destinos que son servicios web.