Servicio de Notificación por Email
Introducción
El Servicio de Notificación por Correo Electrónico de GBDS proporciona una función para auditoría. A través de este servicio, es posible configurar una lista de correos electrónicos que será avisada siempre que se solicite una búsqueda facial 1:N.
Es posible utilizar esta función con cualquier servidor SMTP, configurando el servicio según se describe en la sección Configurando el Notificador de Correo. Cuando no haya disponible ningún servidor SMTP, el usuario deberá crearlo e instalar las dependencias del servicio.
Configurando el Notificador de Correo
Propiedades
El archivo de configuración del Servicio de Notificación por Correo está ubicado en etc/griaule/conf/email-notifier/config.properties y contiene los siguientes parámetros:
# GBS Email Notifier
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://<mysql/mariadb ip>:<port>/enotifier?useSSL=false
jdbc.username=<username>
jdbc.password=<encrypted password>
jdbc.dialect=org.hibernate.dialect.MySQLDialect
jdbc.showSql=false
locale=en_US
gbds.url=http://<gbds api host>:<port>
gbds.user=<gbds user>
gbds.key=<gbds password>
gbds.logLevel=INFO
gbds.timeout=300 # secondsLos valores de los parámetros entre <> deben ser editados de acuerdo con el entorno.
Base de Datos
La tabla enotifier.settings de la base de datos contiene la plantilla y el asunto del correo y toda la información para la conexión SMTP:
mail.smtp.auth
autorización del SMTP: NONE, TLS, SSL
mail.smtp.from.email
correo del remitente del SMTP
mail.smtp.from.name
nombre del remitente del SMTP
mail.smtp.host
host del SMTP
mail.smtp.password
contraseña del SMTP para TLS y SSL
mail.smtp.port
puerto del SMTP: NONE=25; TLS=587; SSL=465
mail.identify.request.single.subject
Asunto del correo; el notificador concatenará el id hash para separación de hilos.
mail.identify.request.single.template
Plantilla del cuerpo del correo: Campos: <username>: nombre del usuario <timestamp:date/time pattern>: si no se proporciona ningún patrón, se usará MM/dd/YYYY HH:mm:ss <biographics>: itera sobre los biográficos; dentro de la iteración: <biographic:key> y <biographic:value> proporcionan clave/valor las imágenes se enviarán como adjunto.
mail.identify.result.subject
Asunto de la notificación por correo del resultado de la búsqueda
mail.identify.result.template
Plantilla de la notificación por correo del resultado de la búsqueda
mail.identify.request.multiple
Activa/desactiva el envío de varios correos con notificaciones de solicitud de búsqueda de identificación facial
mail.identify.request.multiple.period
Período para consolidar notificaciones por correo
mail.identify.request.multiple.subject
Asunto para notificaciones múltiples por correo
mail.identify.request.multiple.template
Plantilla del cuerpo del correo de múltiples notificaciones. Los correos empaquetan un archivo zip con todas las imágenes listadas.
El archivo zip de la lista de imágenes adjuntas puede contener como máximo 24 MB. Por encima de eso, la lista se divide en más de un correo.
Para crear la tabla, ejecute el archivo de volcado (dump) de la base de datos necesario.
Cualquier cambio aplicado a esta tabla se reflejará en el próximo correo enviado.
Operación
Los binarios serán colocados en /var/lib/griaule/email-notifier/gbs-email-notifier-xxx.jar y /var/lib/griaule/email-notifier/lib.
Iniciando y deteniendo el Notificador de Correo
Para iniciar el Servicio de Notificación por Correo, ejecute:
/var/lib/griaule/email-notifier/scripts/start-email-notifier.shY para detenerlo:
/var/lib/griaule/email-notifier/scripts/kill-email-notifier.shRegistros
El notificador de correos usa el archivo de configuración de log4j en /etc/griaule/conf/email-notifier/email-notifier-log4j.xml. Todos los registros quedarán en /var/logs/griaule/email-notifier/.
El registro de apagado se generará en /var/log/griaule/email-notifier/email-notifier.log
Acciones
El servicio de correo puede contener una lista de intereses a través del GBDS para algunas personas. Algunas acciones pueden realizarse cuando se requiere una búsqueda y estas personas aparecen en los resultados de la búsqueda. Las acciones son:
Ocultar persona del resultado de la búsqueda;
Ocultar información de la persona en el resultado de la búsqueda si el usuario autorizado no tiene acceso para verla;
Notificar por correo el resultado de la búsqueda con la persona.
Para configurar la acción, es necesario acceder a las tablas gbds.people_transparency y gbds.people_transparency_group para informar si alguna persona debe ser eliminada, ocultada o notificada en cada búsqueda de identificación realizada.
La tabla contiene PGUID, acción y flag para habilitar la transparencia de esa persona. La tabla de grupos retiene grupos de correo para notificación.
Con el PGUI insertado, las acciones deben ser: REMOVE, CLASSIFIED, o NOTIFY:
Al eliminar (REMOVE), el endpoint get result no devolverá a la persona;
Al definir como información oculta (CLASSIFIED), el resultado de la búsqueda devolverá a la persona, pero los campos pguid/tguid estarán con el texto classified, todos sus emparejamientos (matches) con la puntuación, consulta e índice de referencia como -1. Si el usuario autenticado tiene el permiso
transparency_show_classified_peopletodos los datos personales se mostrarán nuevamente.En la notificación (NOTIFY), la tabla
gbds.people_transparency_groupcontiene grupos de correo indicando cuáles correos deben ser notificados con el resultado de la búsqueda de persona.
Información Adicional
Configuraciones de la API y de la Base de Datos
Este servicio está habilitado por algunas configuraciones en gbdsapi.properties o en la tabla gbds.settings en la base de datos. Estos son:
gbds.transparency.search.identify.send-email.enabled
Habilitar o deshabilitar este servicio
gbds.transparency.email-notifier.log-level
Define el nivel de registro
gbds.transparency.email-notifier.timeout
Define el timeout.
gbds.transparency.email-notifier.url
Define la URL de notificación
Más información sobre estas configuraciones puede verse en el Manual de Configuración de la API GBDS.
Endpoints del GBDS para el Servicio de Notificación por Correo
GBDS proporciona una API simple para almacenar y recuperar usuarios/correos para enviar. La documentación completa puede verse en la API GBDS
Insertar o actualizar grupos y correos: POST Email Notify Group
Esta llamada inserta/actualiza grupos y correos relativos a esos grupos.
Recuperar Grupo: Get Email Group
Esta llamada devuelve el grupo y los correos en el grupo.
Insertar o actualizar el usuario y sus grupos: POST Email Notify User
Esta llamada inserta/actualiza un usuario individual y lo asocia a grupos.
Recuperar usuario: Get Email User
Esta llamada devuelve el usuario y sus grupos asociados.
Endpoints de Get List del Notificador
El notificador de correo tiene un endpoint para listar las solicitudes de correo notificadas:
GET
http://host:port/gbs-email-notifier/notify/list(el puerto usualmente es 8086)Filtros de consulta:
status: uno o más de: PENDING, PROCESSING, ERROR, DONE
ini-date: fecha inicial en el formato: YYYY-MM-dd-HH-mm-ss
end-date: fecha final en el formato: YYYY-MM-dd-HH-mm-ss
username (usuario)
email
pageIndex, por defecto 0, mínimo 0
pageSize, por defecto 20, mínimo 1, máximo 100
La respuesta de ejemplo es:
{
"notifications": [
{
"tguid": "86A2BA4A-822C-4F1F-9017-46E0144F274C",
"timestamp": "2021-08-24-10-52-07",
"status": "DONE",
"username": "rgiolo",
"emails": [
"[email protected]",
"[email protected]"
],
"biographics": {
"information": "some value",
"ip-address": "192.168.0.62",
"face-score-threshold": "30",
"big-text": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum ..."
},
"message": "Email sent"
},
...
]
}Última actualización
¿Te fue útil?

