Modelo de integración
Extracción de metadatos
Para la extracción de metadata de un objeto se utilizan los métodos que ofrece el driver com.denodo.vdp.jdbc.Driver mediante los cuales se accede a la definición de esquemas y tablas.
El plugin extrae los siguientes atributos que deben llamarse igual en la tabla attribute_definition, campo name para que aparezcan en la plantilla:
-
catalog con el valor de catalog en la base de datos
-
schema con el valor de schema en la base de datos
-
physicalName y name con el mismo valor, el nombre de la tabla
-
path con la concatenación de los valores de catalog, schema and table
-
infrastructure con el valor seleccionado
-
technology con el valor seleccionado
-
zone con el valor seleccionado
-
tags son las etiquetas a nivel de vista que tienen las tablas.
También envía los siguientes atributos relativos a los campos del recurso pedido:
-
name y physicalName con el valor del campo
-
defaultValue con el valor por defecto definido para el campo
-
fieldDataType con el tipo de dato definido para el campo
-
length con el tamaño del campo
-
incrementalField indicando si es un campo incremental
-
position posición que ocupa el campo
-
precision con el valor de la precisión del campo
-
nullable indicando si el campo es nullable
-
pk indicando si el campo es una pk
-
description con el valor para el campo
-
tags son las etiquetas a nivel de columna que tienen las tablas.
Los atributos a crear en Anjana deben de tener los siguientes tipos:
|
Nombre de atributo |
Tipo de atributo |
|
Catalog |
INPUT_TEXT |
|
Schema |
INPUT_TEXT |
|
PhysicalName |
INPUT_TEXT |
|
Path |
INPUT_TEXT |
|
Infrastructure |
SELECT |
|
Technology |
SELECT |
|
Zone |
SELECT |
|
Tags |
ARRAY_ALPHANUMERICAL |
|
Name |
INPUT_TEXT |
|
DefaulValue |
INPUT_TEXT |
|
FieldDataType |
INPUT_TEXT |
|
Length |
INPUT_NUMBER |
|
IncrementalField |
INPUT_CHECKBOX |
|
Position |
INPUT_NUMBER |
|
Precision |
INPUT_NUMBER |
|
Nullable |
INPUT_CHECKBOX |
|
Pk |
INPUT_CHECKBOX |
|
Description |
ENRICHED_TEXT_AREA_INTERNATIONAL |
El plugin es capaz de realizar la extracción de metadatos de los siguientes tipos de elementos de Denodo:
-
Vistas de tablas de base de datos
-
Interfaces
-
Derived
Muestreo de datos
Utilizando el driver com.denodo.vdp.jdbc.Driver de Java se ejecuta una query simple de SELECT para acceder a un número limitado de elementos de la tabla para recuperar una muestra de los datos almacenados. Adicionalmente se sustituyen los valores de los campos sensibles por asteriscos.
Si algún tipo de Vista está mal definida en Denodo no se podrá realizar el muestreo. De igual manera, si se modifican las implementaciones asociadas a las Vistas de tipo Interface, después de haber sido creadas, también fallará el muestreo.
Gobierno activo
Mediante queries se permite crear/borrar los roles de Denodo cuando se aprueba o expira un DSA y se administran los permisos necesarios a la vista de la tabla (Read, Write) cuando se añaden datasets o expiran en un DSA.
Es necesario tener desplegado el plugin de Ldap o Entra ID para permitir crear los grupos.
Edición de objetos
Cuando se activa o desactiva una entidad no nativa, mediante queries, se dan o eliminan los permisos de las tablas correspondientes para los roles de Denodo.
Credenciales requeridas
Extracción de metadatos
Usuario con privilegios necesarios para hacer SELECT sobre las vistas de las tablas que se quieran gobernar (Connect, Metadata y Execute).
Muestreo de datos
Usuario con privilegios necesarios para hacer SELECT sobre las vistas de las tablas que se quieran gobernar (Connect, Metadata y Execute).
Gobierno activo
Para realizar las operaciones de gobierno activo son necesarios los siguientes roles en el usuario de conexión que se indique en el yml:
-create_role -> Necesario para crear roles.
-assignprivileges -> Necesario para realizar el grant/revoke.
-drop_role-> Necesario para borrar los roles.
Edición de objetos
Cuando en Anjana se active o desactive una entidad no nativa, el plugin dará o eliminará los permisos en las tablas correspondientes. Para realizar estas acciones el usuario de conexión que se indique en el yml debe tener el permiso:
-assignprivileges -> Necesario para realizar el grant/revoke.
Autenticación y autorización
con Ldap
Para que el plugin de Denodo funcione es necesario activar en Denodo la autenticación y autorización con Ldap, para ello hay que seguir estos pasos:
Para que funcione tanto la autenticación como la autorización los usuarios no deben de existir en Denodo, solo en Ldap, así de esa manera se conecta a Ldap para autenticar y autorizar.
con Entra ID
Para que el plugin de Denodo funcione es necesario activar en Denodo la autenticación y autorización con EntraID, para ello hay que seguir estos pasos:
https://community.denodo.com/kb/en/tag/Azure%20AD
Para que funcione tanto la autenticación como la autorización los usuarios no deben de existir en Denodo, solo en EntraID, así de esa manera se conecta a EntraID para autenticar y autorizar.
Actualización de tags
Es posible configurar que el plugin actualice los tags modificados en Anjana automáticamente en Denodo a partir de todos aquellos datasets que estén gobernados y estén aprobados o deprecados. Esta configuración se hace por medio de un comando crontab que define la periodicidad en la que se quiere ejecutar la acción.
Para realizar las operaciones de actualización de tags, son necesarios los siguientes roles en el usuario de conexión que se indique en el yml:
-
manage_tags -> Necesario para crear los tags.
-
assign_tags -> Necesario para asignar tags a las columnas.
En el siguiente ejemplo el proceso se ejecuta de lunes a viernes cada hora desde la 7:00 a las 22:00:
totplugin:
batch:
tags:
cron: 0 0 7-22 * * MON-FRI
Además se tendrá que configurar la ARI de tripleta para especificar sobre qué objetos de Anjana se actuará.
totplugin:
connection:
- ...
aris:
ari: "anja:totplugin:updateTags:/jdbc/denodo/denodo/"
También existe la posibilidad de configurar el separador que Anjana utiliza para recuperar los valores de un atributo de tipo lista. Normalmente no hay que cambiar este valor pero, si hubiera que hacerlo, se podría modificar la siguiente configuración:
totplugin:
anjana:
attributeSeparator: "_-"
El atributo tags de los datasets y dataset fields debe tener el nombre ‘tags’ en la tabla attribute_definition y ser del tipo ARRAY_ALPHANUMERICAL.
Configuración
En la https://wiki.anjanadata.com/es/configuracion/25.1/configuracion-tecnica y en https://wiki.anjanadata.com/es/configuracion/25.1/tot-despliegue-de-plugins hay algunas directrices.
Existe un YAML de ejemplo para facilitar la configuración en Nexus / com / anjana / documentation (necesario login previo) con explicaciones de las propiedades y valores por defecto.
Este plugin puede conectarse a varias instancias de la misma tecnología, también se puede ver el YAML de ejemplo.
Conectividad
La conectividad del plugin se realiza a través de:
-
Protocolo JDBC. Se debe suministrar la URL de conexión al VDP según se explica en el archivo de configuración de ejemplo
-
Puerto. El puerto estándar del VDP suele ser el 9999, aunque esto puede variar según el contexto en el que se instale el plugin
Queries case sensitive
El plugin de Denodo lanza las queries incluyendo los nombres de los tags, roles, schemas y datasources entre comillas dobles para que sean case sensitive pero también es necesario configurar la siguiente propiedad en el portal de Denodo:
Comprobar los tags disponibles en Denodo
Existen dos opciones:
En el apartado tags de Denodo
Lanzando esta query
SELECT column_name, tag_name from GET_VIEW_TAGS() WHERE INPUT_DATABASE_NAME = 'dev' and INPUT_VIEW_NAME= 'anjana_adherence_cart';
Aparecen así: