🔧 Sincronización de suscriptores por LDAP o AzureAD
Sincronización de Suscriptores desde un directorio activo
Si tu organización cuenta con un directorio activo puedes instalar el agente de sincronización de mensajería para poder registrar, actualizar y eliminar suscriptores de manera masiva sin necesidad de tener que realizar este proceso manualmente desde tu cuenta.
Actualmente se soportan dos fuentes de información:
Directorio Activo que soporte el protocolo LDAP
Azure AD utilizando el Graph API de Microsoft
El agente de sincronización puede ser desplegado de tres maneras:
Puedes crear una tarea programada y ejecutar el agente según la frecuencia deseada. Este proceso lo puedes realizar en sistemas operativos Windows y Linux
Puedes desplegar el agente cómo una función lambda en AWS y ejecutar la función según la frecuencia deseada desde un evento programado en CloudWatch.
Puedes desplegar el agente cómo una función en Azure (Azure Function) y configurar un trigger de lanzamiento.
Sincronización LDAP

El administrador debe configurar su cuenta para que se puedan registrar suscriptores utilizando LDAP.
Se debe configurar un cliente de sincronización para que revise la información de los suscriptores de manera periódica. Este componente puede ser desplegado en una función Lambda en AWS o en un servidor.
Los suscriptores se pueden registrar sin necesidad de ingresar un código de activación.
Sincronización AzureAD

El administrador debe configurar su cuenta para que se puedan registrar suscriptores utilizando AzureAD
Se debe configurar un cliente de sincronización para que revise la información de los suscriptores de manera periódica. Este componente puede ser desplegado en una función Lambda en AWS, una función en Azure o en un servidor (Programa de línea de comandos).
Los suscriptores se pueden registrar sin necesidad de ingresar un código de activación.
En las siguientes secciones puedes encontrar instrucciones detalladas para la descarga y ejecución de este componente.
Prerequisitos generales
Debes tener presente los siguientes puntos para proceder con la instalación, configuración y ejecución del agente de sincronización:
Debes tener una cuenta existente en nuestra plataforma Arkbox.
Se te solicitará en un paso que indiques la url(enlace) que utilizas para acceder a la consola de administración (Ej: example.arkbox.co )
2. El agente requiere de un usuario que ya esté registrado en tu cuenta Arkbox, por lo que te sugerimos crear uno exclusivamente para esto que cuente con un nombre de usuario o correo electrónico y la contraseña. Dicho usuario debe tener asignados todos los permisos del módulo suscriptores.
3. Si deseas realizar la sincronización utilizando LDAP debes contar con un usuario de lectura del directorio, así como con la información del servidor y la estructura de la organización.
4. Si deseas realizar la sincronización utilizando AzureAD debes registrar una aplicación de tipo ‘Service/Daemon’ en la consola de administración de Azure con permisos de lectura sobre los usuarios. Para esto, debes generar una clave secreta.
Puedes encontrar mas información en enlace a continuación:
Registrar una aplicación para el uso de Microsoft Graph
Ejecución como tarea programada
Debes tener permisos suficientes en el sistema para crear tareas programadas sin la necesidad de una sesión activa.
El equipo donde instales el agente debe tener acceso de red para comunicarse con nuestros servidores.
Deberás revisar el enlace de Puertos y recursos para mayor información.
Ejecución cómo función lambda en AWS
Debes tener una cuenta activa de AWS con unas Credenciales a la consola web
Para realizar el proceso, tu usuario debe contar con los permisos necesarios para administrar los recursos de la función:
Permisos para crear, actualizar y ejecutar una función Lambda
Permisos para programar un evento periódico en CloudWatch
Debes asignar un Rol de ejecución a la función que le permita acceder a internet o al los recursos del directorio activo que deseas configurar
Ejecución cómo Azure Function
Debes tener una cuenta activa de Azure con unas Credenciales a la consola web
Para realizar el proceso, tu usuario debe contar con los permisos necesarios para crear/publicar una función lambda
Instalación y configuración del agente en AWS - Lambda Function
Debes descargar el agente haciendo clic en el siguiente enlace:
Agente de Sincronizacón de Mensajería - AWS Lambda FunctionEs necesario que configures las variables de la función siguiendo la estructura definida en la sección Configuraciones del agente de sincronización
Debes crear un evento en CloudWatch que ejecute de manera periódica la función.
Instalación y configuración del agente en Azure - Azure Function
Debes descargar el agente haciendo clic en el siguiente enlace:
Agente de Sincronizacón de Mensajería - Azure FunctionLa manera más ágil de publicar una función utilizando un paquete zip es utilizando la consola de Azure Cloud. Debes seguir las instrucciones indicadas en el enlace a continuación:
Implementación con la CLI de Azure.
Recuerda que deberá subir el paquete descargado en el paso 1 a un fileshare para que lo puedas referenciar desde la consola.
3. Debes dirigirte a la sección Settings > Configuration > Application settings y configurar las variables de la función siguiendo la estructura definida en la sección Configuraciones del agente de sincronización
4. Debes validar que la función haya sido creada en la sección Functions y que el disparador de la función corresponda a un trigger con la siguiente regla de ejecución:0 0 5 * * *
Esto hará que se ejecute dicha función todos los días a las 5:00 a.m.
Puedes cambiar esta cofiguración según tus necesidades.
Instalación y configuración del agente en Sistema Operativo Windows
El agenge de sincronización se ejecuta cómo un programa de consola y a través de una tarea programada del sistema se programa su lanzamiento según la frecuencia deseada. Recomendamos realizar la sincronización al menos una vez cada día para garantizar que los usuarios modificados, registrados o eliminados se vean reflejados en nuestra plataforma.
Realice los siguientes pasos para configurar el agente:
Descargar el agente en el siguiente enlace: Agente de Sincronizacón de Mensajería (x86) ó desde el enlace Agente de Sincronizacón de Mensajería (x64) si su sistema operativo es de 64Bits
Descomprimir el agente en una carpeta del sistema. Este agente se deberá ejecutar por fuera de sesión por lo que sugerimos descomprimirlo en una carpeta que no pertenezca al usuario logueado. Mas adelante se le indicará realizar una tarea con el archivo
Arkbox.Messaging.Synchronizer.Runner.exe
. Tenga presente la ubicación de este archivo.Proveder las credenciales y configuraciones necesarias para la configuración del cliente. En la sección Configuraciones del agente de sincronización se encuentra la descripción de las configuraciones de la aplicación.
Configuraciones del agente de sincronización
La ejecución del agente requiere proveer un conjunto de configuraciones para garantizar el correcto funcionamiento de este. El archivo de descarga contiene ejemplos de los archivos de configuración. Debes utilizar los archivos que se requieren y renombrarlos retirando la palabra example.
Estas configuraciones pueden ser darse a través de dos mecanismos:
Si vas a ejecutar el agente como una función lambda en AWS o una Azure Function debes proporcionar las configuraciones a través de las variables de entorno de dicha función.
Si vas a ejecutar el agente como un programa de consola debes proveer dos archivos de configuración en la carpeta Configuration:
application-settings.json
Configuraciones generales del agente.XXXX-reader.json
Configuraciones del lector de información.
El valor XXXX puede corresponder a la implemntación usando LADP >ldap-reader-settings.json
o la implementacion usando Azure AD >azuread-reader-settings.json
Configuraciones de aplicación
Estas configuraciones permiten al agente comunicarse con nuestros servidores y realizar las operaciones de sincronización de suscriptores.
La columna Propiedad json hace referencia a los campos del archivo application-settings.json
. Este archivo se encuentra en la carpeta Configuration y está definido de la siguiente manera:
{
"host": "https://example.arkbox.co",
"username": "username",
"password": "password",
"allowRemoval": true,
"synchronizationFields": "SystemId,Name,Email,CountryCode,PhoneNumber,Area,JobTitle",
"comparisonFields": "SystemId",
"subscriptionMethod": "LDAP",
"enableDetailedLogging": false,
"tester": false
}
Debes abrir el archivo con tu editor de preferencia y modificarlo siguiendo las indicaciones de la tabla a continuación.
En ella definimos el uso de cada una de las posibles configuraciones:
Las propiedades y valores deben respetar las reglas de mayúsculas y minúsculas sugeridas en la tabla (Case sensitive)
Nombre | Variable de entorno (AWS Lambda / Azure Function) | Propiedad json (Archivo de configuración) | Requerido | Valor por defecto | Descripción |
---|---|---|---|---|---|
Servidor | app_host | host | SI | n/a | Url de la consola de administración Ej: example.arkbox.co |
Usuario | app_username | username | SI | n/a | Usuario para el acceso a la consola de administración (Plataforma CMS) |
Contraseña | app_password | password | SI | n/a | Contraseña del usuario |
Método sincronización | app_subscriptionMethod | subscriptionMethod | SI | n/a | Sincronización LDAP: |
Hablitar eliminación | app_allowRemoval | allowRemoval | NO |
| Si el valor es |
Modo pruebas | app_tester | tester | NO |
| Si el valor es |
Habilitar logging detallado | app_enableDetailedLogging | enableDetailedLogging | NO |
| Si esta opción está habilitada se mostrará una lista en consola de los suscriptores que se procesan |
Campos de sincronización | app_synchronizationFields | synchronizationFields | NO |
| Indica los campos a registrar de un suscriptor |
Campos de comparación | app_comparisonFields | comparisonFields | NO |
| Indica la(s) columan(s) local(es) para identificar un regsitro indiviualmente. Sólo se permiten los valores |
Configuraciones del lector de información
Estas configuraciones permiten al agente obtener la información de los suscriptores desde una fuente externa (LDAP o AzureAD).
Cada tipo de fuente define un conjunto de configuraciones.
Configuraciones del lector LDAP
La columna Propiedad json hace referencia a los campos del archivo ldap-reader-settings.json
. Este archivo se encuentra en la carpeta Configuration y está definido de la siguiente forma:
{
"host": "172.16.0.1",
"port": "389",
"path": "cn=Users,dc=contoso,dc=local",
"username": "CN=username,OU=branch,DC=contoso,DC=local",
"password": "password",
"domain": "contoso.local",
"searchFilter": "(&(objectClass=user)(objectClass=person))",
"userAttributes": "objectSid,objectGUID,title,mail,displayName,telephoneNumber,sAMAccountName"
}
En la siguiente tabla definimos el uso de cada una de las posibles configuraciones:
Nombre | Variable de entorno (AWS Lambda / Azure Function) | Proopiedad json | Requerido | Valor por defecto | Descripción |
---|---|---|---|---|---|
Servidor | reader_host | host | SI | n/a | Url o host del servidor LDAP sin indicar el esquema Ej: 172.16.0.1 ó CompanyServer01 |
Puerto | reader_port | port | NO | 389 | Puerto de conexión LDAP. Usualmente se utiliza el puerto |
Path | reader_path | path | SI | n/a | Indica la ruta (Conjunto de RDN) del directorio que se consultará. Ej: |
Usuario | reader_username | username | SI | n/a | Este valor corresponde al nombre distinguido (DN) del usuario registrado en el directorio con permisos de lectura sobre el path definido en la configuración anterior |
Contraseña | reader_password | password | SI | n/a | Contraseña del usuario |
Dominio | reader_domain | domain | SI | n/a | Indicar el dominio base de la organización. Ej: |
Filtro | reader_searchFilter | searchFilter | NO |
| Este es el filtro utilizado para realizar la consulta de los usuarios en la ruta definida previamente |
Atributos de usuario | reader_userAttributes | userAttributes | NO |
| Estos serán los atributos que se obtendrán del usuario. Si el atributo |
Configuraciones del lector AzureAD
La lectura de los usuarios de AzureAD se logra utilizando el Graph de Microsoft. Debes registrar una aplicación y generar las credenciales necesarias para permitir la consulta de los usuarios.
Puedes encontrar mas información en enlace a continuación:
Registrar una aplicación para el uso de Microsoft Graph
La columna Propiedad json hace referencia a los campos del archivo azuread-reader-settings.json
. Este archivo se encuentra en la carpeta Configuration y está definido de la siguiente forma:
{
"tenantId": "guid",
"clientId": "guid",
"clientSecret": "secret",
"groupId": "guid"
}
En la siguiente tabla definimos el uso de cada una de las posibles configuraciones:
Nombre | Variable de entorno (AWS Lambda / Azure Function) | Proopiedad json | Requerido | Valor por defecto | Descripción |
---|---|---|---|---|---|
Id de cuenta | reader_tenantId | tenantId | SI | n/a | Es un Id tipo GUID utilizado para identificar la cuenta del dominio |
Id de cliente | reader_clientId | clientId | SI | n/a | Es un Id tipo GUID utilizado para identificar la aplicación registrada |
Clave secreta | reader_clientSecret | clientSecret | SI | n/a | Permite a la aplicación generar tokens de autenticación para las operaciones sobre el Graph |
Id de grupo | reader_groupId | groupId | NO | n/a | Si se define este campo se filtrará la consulta de usuarios sólo relacionados al grupo indicado |
Ejecución del agente
Si despliegas el agente en un sistema operativo Windows o Linux debes crear una tarrea recurrente indicando el archivo de ejecución y configurando la frecuencia de lanzamiento deseada.
Configuración de tarea programada en Windows
Para crear una tarea programada debes seguir los siguientes pasos:
Debes abrir el programador de tareas seleccionando Menú inicio > Programador de Tareas. Ó puedes abrir una ventana de ejecución (Tecla Windows + R) y ejecutar el comando
taskschd.msc
Debes ubicar y seleccionar biblioteca de tareas programadas en el panel izquierdo.
Luego debes seleccionar la opción Crear tarea básica en el panel derecho.
Se te abrirá una ventana con un asistente.Ahora debes asignar un nombre para la tarea. Ej: Programa de sincronización de Arkbox Mensajería
Debes hacer clic en Siguiente y seleccionar el tipo de frecuencia.
Sugerimos una frecuencia diaria.En la siguiente ventana debes configurar la fecha de inicio del programa y los paramétros de recurrencia.
Ahora debes hacer clic en Siguiente para configurar la acción de lanzamiento.
Luego debes seleccionar Lanzar un programa.
Debes hacer click en explorar y ubicar el archivo
Arkbox.Messaging.Synchronizer.Runner.exe
A continuación debes hacer clic en Siguiente y revisar el resumen de la tarea.
Puedes editar estos parámetros luego de crear la tarea.Si validando ves que todo se encuentra bien debes hacer clic en Finalizar.
Para garantizar que la tarea se ejecute cuando se inicia sesión debes ingresar a las propiedades de la tarea y modificar la propiedad Ejecutar tanto si inició sesión como si no.
Se te va a pedir que ingreses tu usuario y contraseña nuevamente para confirmar esta acción.