Onboarding Google Workspace (Gmail) — modalidad archivo
Esta guía es para el administrador del dominio Google Workspace del cliente. Es el paralelo de la guía Microsoft 365, adaptado a Workspace.
Tiempo: ~25 minutos. Permisos que necesitas: Super Admin de Google Workspace.
Antes de empezar — qué cambia y qué no
✅ Lo que NO cambia:
- Tu MX, SPF, DKIM, DMARC permanecen iguales.
- Gmail sigue entrando exactamente como hoy.
- Aplicaciones cliente (Gmail web, Apple Mail, Outlook conectado a Gmail vía IMAP) — sin tocar.
✅ Lo que añades:
- Un service account de Google Cloud + Domain-Wide Delegation que solo lee mensajes (no envía, no borra) y solo de los usuarios del piloto.
- Una routing rule en Workspace Admin que añade BCC ciego a un destinatario nuestro por cada mensaje del piloto.
Paso 1 — Service account en Google Cloud
Google Cloud Console → proyecto a elegir (puedes crear uno nuevo ics-jmail-archive o reutilizar uno que ya gestiones).
APIs & Services → Enabled APIs → Enable APIs and services:
- Habilitar Gmail API.
- Habilitar Admin SDK API.
IAM & Admin → Service Accounts → Create Service Account:
| Campo | Valor |
|---|---|
| Name | ics-jmail-archive |
| Description | ICS jmail.com.es archive — Gmail bulk + resync |
| (Sin roles a nivel proyecto — el acceso viene por DWD, no IAM) |
Tras crearla, en la pestaña Keys del service account → Add key → Create new key → JSON. Descarga el JSON y guárdalo en sitio seguro: nos lo pasarás vía Vaultwarden.
Anota también:
- El email del service account (
ics-jmail-archive@<tu-proyecto>.iam.gserviceaccount.com). - El Unique ID del service account (Numeric — visible en la pestaña Details).
Paso 2 — Domain-Wide Delegation en Workspace
Workspace Admin Console → Security → Access and data control → API controls → Manage Domain-Wide Delegation.
Add new y poner:
| Campo | Valor |
|---|---|
| Client ID | el Unique ID del service account del paso 1 |
| OAuth scopes | https://www.googleapis.com/auth/gmail.readonly |
| Overwrite existing client ID | (sin marcar) |
gmail.readonly permite leer mensajes pero no enviar, no modificar, no borrar. Si en futuro activamos “borrar lo viejo en origen”, pediremos gmail.modify adicional.Paso 3 — Grupo o OU para acotar el piloto
DWD por defecto da al service account acceso a todos los usuarios del dominio. Para piloto restringimos vía OAuth API Controls → Manage Third-Party App Access → App Access Controls.
Camino más limpio para piloto:
- Workspace Admin → Directory → Groups → crear grupo
archive-pilot-jmail@<tu-dominio>y añadir los buzones piloto. - Security → Access and data control → API controls → Domain wide delegation → editar la entrada del paso 2 → en “Trusted for” (si tu versión de Workspace ya lo expone) acotar a ese grupo.
La opción de scope-restriction-per-DWD existe en planes Workspace Enterprise pero no en todos los SKU Business. Si tu plan no la tiene, hay dos alternativas:
- Trust nivel dominio: el service account ve todos los buzones, y nosotros nos comprometemos por contrato a operar solo sobre los buzones piloto. Auditable lado nuestro, pero el admin del dominio confía en nosotros más allá de lo técnico.
- Service account por OU: usar Google Cloud Identity Premium con app-acquired user mapping. Más laborioso. Lo evaluamos contigo si el SKU lo requiere.
Si dudas qué tienes, dinos tu plan Workspace y te decimos qué camino seguir.
Paso 4 — Routing rule “Add Bcc”
Workspace Admin Console → Apps → Google Workspace → Gmail → Routing.
Hay dos lugares donde se puede configurar:
- Routing (recomendado): aplica a entrada y salida.
- Compliance → Content compliance (alternativo): permite reglas más finas.
Usamos Routing → Add Setting → “Receiving routing” + Routing → “Sending routing” — uno cada uno para capturar entrada y salida.
4.a — Receiving routing (mensajes entrantes)
Add Setting:
| Campo | Valor |
|---|---|
| Description | ICS jmail archive — BCC inbound |
| Email messages to affect | Inbound |
| For the above types of messages, do the following | (avanzado) marcar Modify message |
| Recipients → Also deliver to | archive@<tu-dominio>.jmail.com.es |
| Account types to affect | Users y Groups |
| Filter (parte clave) | Only affect specific envelope recipients → addresses listed in group → seleccionar archive-pilot-jmail@<tu-dominio> |
| Headers | dejar default — añadir X-Jmail-Archive-Source: gmail |
4.b — Sending routing (mensajes salientes)
Add Setting equivalente con:
| Campo | Valor |
|---|---|
| Description | ICS jmail archive — BCC outbound |
| Email messages to affect | Outbound |
| Recipients → Also deliver to | archive@<tu-dominio>.jmail.com.es |
| Account types to affect | Users y Groups |
| Filter | Only affect specific envelope senders → addresses listed in group → seleccionar archive-pilot-jmail@<tu-dominio> |
| Headers | añadir X-Jmail-Archive-Source: gmail |
Paso 5 — Datos que nos pasas
Para arrancar nuestro lado:
- El JSON del service account (paso 1) — vía Vaultwarden compartido.
- El email del service account y su Unique ID.
- Confirmación de que DWD está aplicada (paso 2).
- Dominios piloto (típicamente 1-2).
- Lista de buzones piloto (típicamente 2-5).
- Cuánto histórico bulk bajamos: default 6 meses.
- Ventana para el cutover.
Lo que pasa después de cutover
Igual que en M365 — ver sección equivalente de la guía M365.
Si algo va mal
- No nos llega ningún BCC: confirma que el grupo
archive-pilot-jmail@<tu-dominio>tiene miembros y que las routing rules apuntan a ese grupo como filtro. Workspace tarda en propagar (~30 min). - El service account devuelve
forbiddenal hacer bulk: comprueba que la DWD del paso 2 está aplicada y el scope incluyegmail.readonly(exactamente esa string, sin trailing slash). - Llega BCC pero solo de algunos usuarios: el filtro de la routing rule está apuntando al grupo equivocado o el usuario no está añadido al grupo.
Resumen ejecutivo — checklist enviable
1. Service account "ics-jmail-archive" en Google Cloud + JSON key.
APIs habilitadas: Gmail API, Admin SDK API.
Pásanos: JSON completo (vía Vaultwarden), email del SA, Unique ID.
2. Domain-Wide Delegation del SA en Workspace Admin con scope
gmail.readonly.
3. Grupo "archive-pilot-jmail@<tu-dominio>" con los usuarios piloto.
Si tu SKU Workspace permite, acotar DWD a ese grupo.
4. Dos routing rules en Apps → Gmail → Routing:
- Inbound: Also deliver to archive@<tu-dominio>.jmail.com.es,
filtro envelope recipient ∈ grupo piloto.
- Outbound: idem para envelope sender ∈ grupo piloto.
Ambas añaden header X-Jmail-Archive-Source: gmail.
5. Datos del piloto:
- 1-2 dominios
- 2-5 buzones (lista completa)
- histórico a bulkear (default 6 meses)
- ventana de cutover (30 min)