Introducción a Single Sign-On – Parte II


El Sistema Enterprise Single Sign-On

El siguiente diagrama muestra la arquitectura del sistema SSO (ver imagen).

El sistema de SSO de BizTalk provee de los servicios base para almacenar, asociar y transmitir las credenciales encriptadas de los usuarios a sistemas back-end mediante los protocolos de transporte estándar de Internet. Esto permite a los usuarios finales enviar las credenciales no-Windows que necesitan las aplicaciones de back-end en base a las credenciales Windows del usuario original. Para lograr esto la aplicación que utiliza los servicios de SSO envía las credenciales de Windows con formato "domain\user" al servidor de SSO. El componente de lookup de SSO, obtiene las credenciales non-Windows asociadas (usuario y contraseña) de la base de datos de credenciales de SSO y las envía a la aplicación de back-end (affiliate application ó aplicación afiliada). El sistema de SSO contiene los siguientes artefactos: una base de datos de credenciales, un servidor secreto maestro (master secret Server), y uno o mas servidores de SSO. La funcionalidad del servicio SSO esta dividida en cuatro sub-servicios: mapping (relación ó asociar), lookup (búsqueda de información), administración, y secret. Cuando configuramos un servicio de mapping de SSO, un administrador crea una aplicación afiliada y entonces, relaciona una o más credenciales de usuario a esta aplicación. El servicio de administración brinda las herramientas que permiten a los administradores agregar, editar, y borrar estas aplicaciones afiliadas y sus relaciones, además el servicio de mapping tiene la capacidad de agregar, editar y borrar relaciones entre las cuentas de usuario de la aplicación afiliada y cuentas de Windows.

Luego que las relaciones son creadas y configuradas, una aplicación puede obtener las credenciales de una aplicación afiliada de back-end, utilizando el usuario de Windows; el servicio de lookup de SSO, procesa esta solicitud y devuelve las credenciales necesarias.

Finalmente, el servicio secret crea la clave maestra secreta, con la que se encriptan los datos en la base de la base de datos de credenciales. En un ambiente distribuido este, provee los servicios necesarios para la distribución de las claves a los otros servidores de SSO en el BizTalk Server cluster.

El master secret server puede realizar las funciones de lookup, mapping, y administración; sin embargo, solamente puede existir un único master secret server en el SSO . Este servidor es además, el único que puede correr el servicio secret.

En BizTalk Server 2004 existen un conjunto de APIs y utilitarios que permiten acceder y configurar la información de cada uno de estos subservicios de SSO. Afortunadamente la nueva versión BizTalk Server 2006 cuenta con una serie de herramientas que nos facilitan la administración de cada uno de estos artefactos, como podemos ver en el siguiente articulo publicado por Carlos Medina Nueva consola administrativa para SSO en BTS 2006 Beta 1


Arquitectura

Una vista a nivel de componentes de la arquitectura del sistema Enterprise Single Sign-On de BizTalk Server 2004, se detalla a continuación:

SSO básicamente, esta compuesto por los siguientes componentes y objetos:

Objeto

Descripción

Credential Store

Es una base de datos SQL Server que almacena en forma segura la información de configuración de las aplicaciones afiliadas y/o la información de credenciales

SSO Service

El servicio SSO primario, que permite a los administradores configurar y manejar el servicio de SSO como credenciales, mappings, y aplicaciones afiliadas

SSO Master Secret Server

Almacena la clave maestra. Todos los servidores en un cluster de BizTalk Server obtienen la clave maestro de este servidor, para encriptar los datos de configuración y de credenciales. Solo puede existir un único master secret server

SSO Admin Object

Proveen las interfaces de management y administración para los servicios SSO. Los comandos SSO Manage y SSOConfig utilizan este objeto.

SSO Client Utility

Línea de comando que permite a los usuarios configurar sus mappings.

SSO Lookup Object

Permite obtener las credenciales de la aplicación afiliada utilizando las credenciales de Windows o datos de configuración.

SSO Mapping Object

Permite crear, editar, y borrar datos de configuración y relaciones entre credenciales y aplicaciones afiliadas.

Como ya mencionamos, existen APIs que nos permiten crear componentes personalizados y scripts para facilitar la administración y configuración del sistema SSO. Estas interfaces son:

  • ISSOAdmin
  • ISSOConfigStore
  • ISSOLookup1
  • ISSOMapper
  • ISSOMapping
  • ISSOTicket

Existen además, tres comandos provistos por SSO que encapsulan las APIs de administración y mapping. Estas herramientas facilitan las áreas de los administradores sin necesidad de escribir aplicaciones personalizadas:

  • SSOConfig
  • SSOManage
  • SSOClient

Y finalmente, existen cuatro grupos de usuarios de Windows, cada uno con privilegios y tareas definidos:

  • SSO Administrators
  • SSO Affiliate Administrators
  • SSO Application Administrators
  • SSO Application Users

En el próximo articulo, vamos a evaluar alguno de los diferentes escenarios en los que podemos utilizar los servicios de SSO; para tener un mayor entendimiento del flujo de información del sistema SSO.

Autor: Christian Carnero

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no otorga ningún derecho