Sincronizar usuarios con SCIM

<< Clic para mostrar Tabla de Contenidos >>

Navegación:  Bizagi Studio > Definición de Seguridad > Seguridad del Portal de Trabajo > Sincronización de usuarios >

Sincronizar usuarios con SCIM

Introducción

Existe una variedad de proveedores de identidad para la gestión de usuarios e identidades en el mercado. Independientemente de las diferencias entre sistemas, la gestión de usuarios en todos los sistemas debe ser estandarizada y simple de realizar. Para eso, el IETF ha creado un estándar que ayuda a las organizaciones a mantener la administración de usuarios bajo un esquema y modelos comunes, reduciendo el costo y la complejidad de la integración entre sistemas. Este estándar es el Sistema para la Gestión de Identidad de Dominio Cruzado (SCIM por sus siglas en inglés).

SCIM proporciona un esquema para obtener o configurar la información de los usuarios. Basado en ese esquema y su modelo estándar subyacente, Bizagi expone una API REST con un conjunto de operaciones para crear, leer, eliminar o actualizar la información de los usuarios.

 

El modelo

La estructura de cómo la información está codificada se basa en el siguiente modelo:

 

SCIM_1A

 

Recurso: Este objeto contiene la información de todos los elementos como un denominador común. Cada recurso se identifica por su esquema que contiene los siguientes elementos: ID, nombre, descripción, atributos y metadatos. En Bizagi, hay dos tipos de recursos:

User: Este recurso contiene toda la información básica del usuario que puede definir para un usuario de Bizagi usando SCIM, como el nombre de usuario o correo electrónico, entre otros. Consulte User para obtener más información sobre este esquema.

BizagiUserProperties: Este recurso es un esquema extendido para el recurso de User que contiene todas las propiedades del usuario que se utilizan para la configuración del usuario. Por ejemplo, si el usuario está habilitado para las asignaciones. Aquí también puede encontrar propiedades de usuario extendidas creadas en Bizagi. Consulte Atributos extendidos para más detalles.

 

Esquemas

Un esquema define la estructura de los atributos y metadatospara uno o más tipos de recursos. A continuación están las características de los recursos disponibles en los servicios SCIM de Bizagi.

 

UserCuando usted crea un usuario en Bizagi, usted puede definir el perfil usando diferentes atributos:

SCIM_1

 

Estos atributos son columnas de la tabla WFUser en la base de datos del proyecto. Los siguientes atributos del WFUser pueden ser definidos usando el recurso User de los servicios SCIM:

 

 

Nombre completo

Nombre de usuario

Dominio

E-mail de contacto

Teléfono de contacto

Activo

 

Usted puede obtener la estructura JSON de los esquemas de los servicios de descubrimiento.

 

[Project_URL]/scim/v2/Schemas

 

Este servicio retorna el esquema de todos los recursos. Los siguientes atributos del recurso User están disponibles para la sincronización de usuarios:

 

Atributo

Sub atributo

Tipo

Descripción

userName

-

string

Este atributo también incluye el dominio usando el formato userName@domain.

name

familyName

string

El nombre del usuario se crea concatenando el  givenName y  familyName.

givenName

string

El nombre del usuario se crea concatenando el  givenName y familyName.

active

-

Boolean

Define si el usuario está activo en Bizagi.

email

value

string

Correo electrónico.

type

string

Usted solo puede definir alguno de las siguientes opciones: work, home, other. Solamente la opción work es considerada en Bizagi.

primary

Boolean

Usted tiene que definir si este es email primario. En Bizagi los usuarios solamente pueden tener un Email por lo que este atributo debe ser siempre true.

phoneNumbers

value

string

Número de teléfono.

type

string

Usted solo puede definir alguno de las siguientes opciones: work, home, other. Solamente la opción work es considerada en Bizagi.

primary

Boolean

Usted tiene que definir si este es teléfono primario. En Bizagi los usuarios solamente pueden tener un teléfono por lo que este atributo debe ser siempre true.

 

Para cada atributo usted encuentra un grupo de propiedades. Por ejemplo,en el JSON  de respuesta, se muestra la siguiente información:

 

 

{
  "totalResults": 2,
  "itemsPerPage": 10,
  "startIndex": 1,
  "schemas": [
    "urn:ietf:params:scim:api:messages:2.0:ListResponse"
  ],
  "Resources": [
    {
        "id": "urn:ietf:params:scim:schemas:core:2.0:User",
        "name": "User",
        "description": "User Account",
        "attributes": [
          {
              "name": "userName",
              "type": "string",
              "multiValued": false,
              "description": "Unique identifier for the User, typically used by the user to directly authenticate to the service provider. Each User MUST include a non-                        empty userName value.  This identifier MUST be unique across the service provider's entire set of Users. REQUIRED.",
              "required": true,
              "caseExact": false,
              "mutability": "readWrite",
              "returned": "default",
              "uniqueness": "server"
          }

 

UserProperties

Este recurso es una extensión de recuros User, bajo el mismo esquema. Cuando se configuran nuevos usuarios en Bizagi, usted puede configurar atributos sencillos que se muestra en este recurso de SCIM dentro de la pestaña de Configuración de usuario o la pestaña de Información adicional, si existen propiedades extendidas.

 

SCIM_2

 

La estructura de este recurso es la siguiente:

 

Atributo

Tipo

Descripción

DelegateEnable

Boolean

Se usa para activar el usuario delegado.

enabledForAssignation

Boolean

Se usa para activar el usuario para recibir asignaciones por otros usuarios.

createdCasesSkipAssigRules

Boolean

Si esta propieda está activa, el caso creado por el usuario no toma en cuenta las asignaciones de las tareas..

offlineForms

Boolean

Este atributo no se usa en Bizagi.

normalCost

decimal

Este atributo no se usa en Bizagi..

overtimeCost

decimal

Este atributo no se usa en Bizagi.

 

De manera similar usted puede encontrar características para cada atributo en la respuesta JSON. Por ejemplo, para el atributo DelegateEnable se muestra la siguiente información.

 

{
        "id": "urn:ietf:params:scim:schemas:extension:bizagi:2.0:UserProperties",
        "name": "BizagiUserProperties",
        "description": "Bizagi user properties",
        "attributes": [
          {
              "name": "DelegateEnabled",
              "type": "boolean",
              "multiValued": false,
              "description": "Delegate Enabled",
              "required": false,
              "caseExact": false,
              "mutability": "readWrite",
              "returned": "default",
              "uniqueness": "none"
          }

 

Propiedades Nuevas de Usuarios

Además, puede crear propiedades personalizadas para personalizar los perfiles de sus usuarios. Una nueva propiedad de usuario se crea en el módulo Organización de la vista Experto:

Organizations34

 

Estas propiedades de usuario también se muestran en el esquema SCIM:

{

           "id": "urn:ietf:params:scim:schemas:extension:bizagi:2.0:UserProperties",

           "name": "BizagiUserProperties",

           "description": "Bizagi user properties",

           "attributes": [

               {

                   "name": "Otherproperty",

                   "type": "integer",

                   "multiValued": false,

                   "description": "Other property",

                   "required": false,

                   "caseExact": false,

                   "mutability": "readWrite",

                   "returned": "default",

                   "uniqueness": "none"

               }

note_pin

Solo se pueden usar propiedades de tipo de datos simples, como cadenas o enteros, para sincronizar a los usuarios a través de los servicios SCIM. Las propiedades de usuario configuradas como una relación con entidades en Bizagi no se pueden usar en la sincronización de usuarios y, por lo tanto, no se muestran en los esquemas.

 

Servicios

Los servicios de SCIM de Bizagi exponen una serie de servicios de descubrimiento para obtener atributos, detalles  configuraciones, y otro set de servicios para realizar las operaciones:

Service Provider Config: Obtiene la información acerca de las opciones disponibles, esquemas de autenticación y modelos de datos.

GET [Project_URL]/scim/v2/ServiceProviderConfig

Resource Types: Obtiene los tipos de recursos.

GET [Project_URL]/scim/v2/scim/v2/ResourceTypes

Schemas: Obtiene los esquemas de los recursos en formato JSON.

GET [Project_URL]/scim/v2/Schemas

 

Obtener el token OAuth

Este servicio es usado para obtener el token de autenticación en OAuth 2.0:

POST [Project_URL]/oauth2/server/token

 

Servicios de Operaciones

Crear: Servicio para crear un usuario.

POST [Project_URL]/scim/v2/Users

Leer: servicio para obtener información de un usuario.

GET [Project_URL]/scim/v2/Users/{id}

Actualizar: servicio para actualizar la información de un usuario.

PATCH [Project_URL]/scim/v2/Users7{id}

Reemplazar: este usuario se usa para reemplazar toda la información de un usuario.

PUT [Project_URL]/scim/v2/Users7{id}

Borrar: Este servicio se usa para desactivar (lógicamente) un servicio.

DEL [Project_URL]/scim/v2/Users7{id}