Saltar a contenido

Despliegue en Google Workspace

El desarrollo y las pruebas se hacen con cuentas personales de Google, pero el destino es el dominio de Google Workspace de un cliente. Las reglas de negocio (quién aprueba, quién genera el VoBo) usan la cuenta de la sesión y funcionan igual en ambos entornos. Lo que cambia es el acceso y los permisos.

Tema Prueba (cuentas personales) Workspace del cliente
Acceso (appsscript.json) "access": "ANYONE" "access": "DOMAIN": solo cuentas del dominio
Identidad "executeAs": "USER_ACCESSING" Igual: cada usuario queda identificado, y una app interna no muestra el aviso «app no verificada»
Permisos Compartir a mano con cada cuenta Grupos de Google (SCM, revisores) sobre la Sheet; notas y evidencias en una unidad compartida
Roles Pestaña de configuración de la Sheet Igual, o derivados de los grupos del dominio más adelante
Ejecutor remoto de pruebas Instalado en el proyecto de prueba No se instala: es solo para pruebas con datos ficticios
Secretos Propiedades del script del proyecto de prueba Propiedades del script del proyecto del cliente; nunca en el repo ni en la Sheet

Por qué USER_ACCESSING

Con USER_DEPLOYING todas las acciones se ejecutan como el dueño del script. Para una cuenta externa no hay forma de saber quién está operando, y las validaciones de separación de funciones no servirían. Con USER_ACCESSING cada acción queda a nombre de quien la hizo, y el acceso a la Sheet actúa como control de acceso.

Pasos

  1. Crear el proyecto de Apps Script y la Sheet en el dominio del cliente, con la cuenta que el cliente designe.
  2. Cambiar access a DOMAIN antes del primer despliegue.
  3. Crear la unidad compartida y los grupos:
    • grupo SCM: edición sobre la Sheet y la unidad;
    • grupo de revisores: edición sobre la Sheet y lectura sobre la unidad.
  4. El cliente carga los roles con sus cuentas reales; el repositorio no las contiene.
  5. Desplegar como aplicación web y compartir la URL solo dentro del dominio.

Prueba con dos cuentas (simulación)

Para reproducir el entorno multiusuario sin el dominio:

  1. Cargar datos ficticios registrando una segunda cuenta como revisor.
  2. Compartir con esa cuenta la Sheet (edición) y las carpetas de notas y evidencias (lectura).
  3. La segunda cuenta abre la app en una ventana privada y la autoriza una vez.