Modelo de integración
Gobierno activo de permisos de acceso
De forma general, los DSA (Data Sharing Agreements) de Anjana Data Platform se representan en GCP como roles custom con permisos predeterminados. Los firmantes del DSA no tienen un efecto directo en este plugin, ya que su representación final depende del servicio de datos en el que se materialice el acceso.
Anjana Data Platform crea y elimina los roles de forma automática, así como aplica o elimina su asignación a los usuarios afectados con el objetivo de materializar los procesos de adherencia y desadherencia a un DSA.
Los roles custom creados por Anjana Data Platform siguen la siguiente nomenclatura:
<prefijo configurable>_<nombre lógico del DSA>_v<nº de versión del DSA>
Donde:
-
<prefijo configurable>: prefijo definido por la organización para identificar los roles gestionados por Anjana Data Platform. Se configura en el YAML del plugin. -
<nombre lógico del DSA>: nombre funcional del acuerdo tal y como figura en Anjana. -
v<nº de versión del DSA>: número de versión del DSA, que permite distinguir versiones activas e históricas.
Importante: Es importante establecer un prefijo y nombre lógico del DSA que cumpla con las restricciones de creación de roles en Google IAM:
-
tener entre 3 y 64 caracteres,
-
y ajustarse al patrón
[a-zA-Z0-9_\.](alfanuméricos,_y.).
Referencia: Naming resources | Google
Para gestionar permisos y roles, el plugin se conecta a una instancia de Google IAM, que expone la API de control de identidades y accesos sobre recursos de Google Cloud.
El DSA está representado por un rol custom con permisos genéricos de acceso a la tecnología preconcedidos. Los usuarios se asocian a dicho rol (adquieren esos permisos) mediante políticas IAM, donde se termina de especificar el grano fino a nivel de elemento en las tecnologías que lo permiten.
Se pueden aplicar restricciones adicionales relacionadas con el número de usuarios asociados a un recurso según las cuotas y límites de IAM definidos por Google. Se pueden consultar en Quotas and limits | IAM Documentation | Google Cloud.
Las acciones que se aplican sobre GCP son:
-
Creación/eliminación de roles custom.
-
Asignación de roles a usuarios mediante políticas IAM con condiciones de aplicabilidad (para gestionar acceso a nivel de elemento).
En el plugin GCP IAM se recupera el nombre de los roles, y es mediante otros plugins (como GCP BigQuery y GCP Storage) como se asignan o eliminan dichos roles para los usuarios.
Credenciales requeridas
Las credenciales requeridas se deben configurar en el fichero yaml en la parte de “credentialsContent” de cada instancia configurada.
Creación de la cuenta de servicio
Para GCP es necesario crear una cuenta de servicio en IAM para cada plugin de forma individual y, tras eso, asignarle los permisos necesarios para la ejecución de las tareas específicas de cada plugin.
Para personalizar los permisos de forma adecuada es necesaria la creación de roles personalizados en los cuáles se engloban los permisos que luego son asociados a las cuentas de servicio.
Gobierno activo de permisos de acceso
Los permisos utilizados para el gobierno activo:
-
iam.roles.create
-
iam.roles.delete
-
iam.roles.list
Apis requeridas en proyecto:
-
Identity and Access Management (IAM) API
-
Admin API SDK
En resumen los permisos utilizados para el rol personalizado serán los siguientes:
Para asignar los permisos a la cuenta de servicio de BigQuery es necesario asignar el rol con los permisos al usuario:
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.