1. Introducción

El Servicio de Notificación de Correo Electrónico de GBDS proporciona una función de auditoría. A través de este servicio, es posible configurar una lista de correo electrónico que será notificada cada vez que se solicite una búsqueda de 1:N de rostros.

Es posible utilizar esta función con cualquier servidor SMTP, configurando el servicio como se describe en la sección Configurar el Notificador de Correo Electrónico. Cuando no hay disponible ningún servidor SMTP, el usuario debe crearlo e instalar las dependencias del servicio.

2. Configurar el Notificador de Correo Electrónico

2.1. Propiedades

El archivo de configuración del Servicio de Notificación de Correo Electrónico se encuentra 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 # seconds

Important

Los valores de los parámetros entre “<>” deben editarse de acuerdo con la información del entorno.

2.2. Base de datos

La tabla de base de datos enotifier.settings contiene la plantilla y el asunto del correo electrónico, y toda la información para la conexión SMTP:

Key Description
mail.smtp.auth SMTP mail authorization: NONE, TLS, SSL
mail.smtp.from.email SMTP mail from email
mail.smtp.from.name SMTP mail from name
mail.smtp.host SMTP mail host
mail.smtp.password SMTP mail password for TLS and SSL encrypted using an already known key
mail.smtp.port SMTP mail port: NONE=25; TLS=587; SSL=465
mail.identify.request.single.subject Email subject; email-notifier will concatenate id hash for thread separation
mail.identify.request.single.template
Email body template: Fields:
<username>: username
<timestam:date/time pattern>: if no date time pattern is provided, MM/dd/YYYY HH:mm:ss is used
<biographics>: iterate over biographics; inside iteration: <biographic:key> and <biographic:value> provides key/value
image will be sent as an attachment
mail.identify.result.subject Search Result email notification subject
mail.identify.result.template Search Result email notification template
mail.identify.request.multiple Turns on/off multiple email sending with face identify search request notifications
mail.identify.request.multiple.period Period to consolidate email notifications
mail.identify.request.multiple.subject Subject for multiple notifications email
mail.identify.request.multiple.template Body template for multiple notifications email The emails packs a zip file with all images listed.

Attention

El archivo zip de la lista de imágenes adjuntas puede contener un máximo de 24 MB. Por encima de eso, la lista se divide en más de un correo electrónico.

Para crear la tabla, ejecute el archivo de volcado de base de datos requerido.

Note

Si no se proporcionó ningún archivo de volcado, comuníquese con el equipo de soporte de Griaule.

Important

Cualquier cambio aplicado a esta tabla se reflejará en el próximo correo electrónico enviado.

3. Operación

Los binarios del servicio se colocarán en /var/lib/griaule/email-notifier/gbs-email-notifier-xxx.jar y /var/lib/griaule/email-notifier/lib.

3.1. Iniciar y detener el notificador de correo electrónico

Para iniciar el servicio de notificación por correo electrónico, ejecute:

/var/lib/griaule/email-notifier/scripts/start-email-notifier.sh

Y para detenerlo:

/var/lib/griaule/email-notifier/scripts/kill-email-notifier.sh

3.2. Registros

El notificador de correo electrónico utiliza el archivo de configuración log4j en /etc/griaule/conf/email-notifier/email-notifier-log4j.xml. Todos los registros se colocarán en /var/logs/griaule/email-notifier/.

El registro de apagado se generará en /var/log/griaule/email-notifier/email-notifier.log

3.3. Acciones

El servicio de correo electrónico puede mantener una lista de intereses a través de GBDS para algunas personas. Algunas acciones se pueden realizar cuando se requiere una búsqueda y estas personas aparecen en los resultados de la búsqueda. Las acciones son:

  • Ocultar a la persona del resultado de la búsqueda;
  • Ocultar la información de la persona en el resultado de la búsqueda si el usuario autorizado no tiene acceso para verla;
  • Notificar a través de correo electrónico el resultado de la búsqueda con la persona.

Para configurarlo, es necesario acceder a las tablas gbds.people_transparency y gbds.people_transparency_group para informar si alguna persona debe ser eliminada, oculta o notificada en cada búsqueda de identificación realizada.

La tabla contiene PGUID para algunas personas, acción, bandera para habilitar esta transparencia de la persona. La tabla de grupo contiene grupos de correo electrónico para la notificación.

Con la acción PGUID insertada debe ser: REMOVE, CLASSIFIED o NOTIFY:

  • En eliminar (REMOVE), el punto final del resultado no devolverá a la persona;
  • En clasificar/ocultar información (CLASSIFIED), el resultado de la búsqueda devolverá a la persona pero los campos pguid/tguid estarán con el texto clasificado, todas sus coincidencias con la puntuación, la consulta y el índice de referencia como -1. Si el usuario autenticado tiene permiso transparency_show_classified_people, se muestra nuevamente toda la información de la persona.
  • En notificar (NOTIFY), la tabla gbds.people_transparency_group contiene grupos de correo electrónico que informan qué correos electrónicos deben ser notificados con el resultado de la búsqueda de la persona.

Note

En la tabla gbds.people_transparency, un pguid puede aparecer en más de una fila, por lo que se pueden realizar más de una acción para este pguid, por ejemplo: eliminar y notificar o clasificar y notificar.

4. Información adicional

4.1. Configuraciones de API y base de datos

Este servicio se activa mediante algunas configuraciones en gbdsapi.properties o en la tabla gbds.settings de la base de datos. Estas son:

  • gbds.transparency.search.identify.send-email.enabled

    • Habilita o deshabilita este servicio.
  • gbds.transparency.email-notifier.log-level

    • Establece el nivel de registro.
  • gbds.transparency.email-notifier.timeout

    • Define el tiempo de espera.
  • gbds.transparency.email-notifier.url

    • Define la URL de notificación.

Más información sobre estas configuraciones se puede encontrar en el Manual de Configuración de GBDS API.

4.2. Puntos finales de Notificador de Correo Electrónico GBDS

GBDS proporciona una API simple para almacenar y recuperar usuarios/correos electrónicos para enviar. La documentación completa de la API se puede ver en GBDS API

4.3. Punto final de Obtener Lista de Notificador

El notificador de correo electrónico tiene un punto final para listar las solicitudes de correo electrónico notificadas:

  • GET http://host:port/gbs-email-notifier/notify/list (el puerto suele ser 8086)

    Filtros de consulta:

    • estado: uno o más de: PENDIENTE, PROCESANDO, ERROR, HECHO
    • fecha-ini: fecha inicial en formato: AAAA-MM-dd-HH-mm-ss
    • fecha-fin: fecha final en formato: AAAA-MM-dd-HH-mm-ss
    • nombre de usuario
    • correo electrónico
    • índice de página, predeterminado 0, mínimo 0
    • tamaño de página, predeterminado 20, mínimo 1, máximo 100

El ejemplo de respuesta es:

{
    "notifications": [
        {
            "tguid": "86A2BA4A-822C-4F1F-9017-46E0144F274C", "timestamp": "2021-08-24-10-52-07", "status": "HECHO", "username": "rgiolo", "emails": [
                "email_01@griaule.com", "email_02@griaule.com"
            ], "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": "Correo electrónico enviado"
        },
        ...
    ]
}