En la consola de administración de Google, Informes → Auditoría e investigación contiene los registros (Inicio de sesión, Administrador, Drive, OAuth y más), y cada uno se puede exportar desde allí. Para JSON, usa la Admin SDK Reports API, método activities.list. Para una vez, ni siquiera necesitas código: la página de referencia de la API tiene un panel «Prueba este método» que ejecuta la llamada como tú. La mayoría de los datos de auditoría de Workspace se guardan durante seis meses.
Los registros de auditoría de Workspace muestran quién inició sesión desde dónde, qué aplicaciones de terceros obtuvieron acceso al correo y archivos, y qué documentos se compartieron repentinamente con el mundo exterior. Prime Core tiene {N} reglas de detección para datos de Google Workspace, mapeadas a {M} técnicas MITRE ATT&CK. Entre ellas: abuso de cuentas en la nube (T1078.004), concesiones maliciosas de OAuth (T1528) y reenvío de correo a direcciones externas (T1114.003).
Antes de empezar
Permisos. Un superadministrador o un rol de administrador con el privilegio de Informes.
Elige el registro correcto. En la API, cada registro es un applicationName: login, admin, drive, token (concesiones OAuth), user_accounts, saml, groups y otros. Los registros de mensajes de Gmail no forman parte de esta API. Para esos, usa la Búsqueda de Registros de Correo en la consola de administración, o la exportación de BigQuery si tu edición lo tiene.
Retención y retraso. La mayoría de los registros de auditoría se remontan a unos seis meses. Los nuevos eventos pueden tardar de minutos a horas en aparecer, dependiendo del registro.
Un breve script en Python
Para exportaciones repetibles, una cuenta de servicio con delegación a nivel de dominio se hace pasar por un administrador. Necesita google-api-python-client y google-auth:
importar json
de google.oauth2 importar service_account
de googleapiclient.discovery importar build
credenciales = service_account.Credentials.from_service_account_file(
"sa.json",
alcances=["https://www.googleapis.com/auth/admin.reports.audit.readonly"],
sujeto="admin@example.com",
)
svc = build("admin", "reports_v1", credentials=credenciales)
con open("workspace_login_1019.jsonl", "w") como out:
req = svc.activities().list(
userKey="all", applicationName="login",
startTime="2026-10-19T00:00:00Z", endTime="2026-10-20T00:00:00Z",
maxResults=1000,
)
mientras req no sea None:
resp = req.execute()
para item en resp.get("items", []):
out.write(json.dumps(item) + "n")
req = svc.activities().list_next(req, resp)
La delegación a nivel de dominio es poderosa. Concédele solo este alcance de solo lectura, mantiene el archivo de claves fuera de las unidades compartidas y elimina la delegación cuando hayas terminado. Ejecuta el script una vez por cada applicationName que necesites.
Qué buscar
| Registro y evento | Por qué es importante |
|---|---|
| inicio de sesión: ráfagas de login_failure, cualquier suspicious_login | Adivinación de contraseñas, o Google mismo marcando un inicio de sesión |
| token: autorizar | Una aplicación de terceros recibió autorizaciones; verifica qué puede leer |
| administrador: asignaciones de roles, creación de usuario, cambios en la política de Verificación en 2 Pasos | Cambios de privilegio y configuraciones de seguridad debilitadas |
| drive: cambios de acceso o visibilidad a externo o “cualquiera con el enlace” | Datos abiertos al exterior |
| user_accounts: 2SV desactivado, contraseña cambiada | Limpieza de toma de cuenta, o preparación |
Cargar, sanitizar y revisar en LogTotal
- Subir. Abrir logtotal.com y carga el archivo .jsonl.
- Sanitizar.
- Revisar.
Cuando algo va mal
| Síntoma | Causa probable | Fix |
|---|---|---|
| 403 o permisos insuficientes | El administrador carece del privilegio de Informes, o el alcance delegado no está autorizado | Revisar el rol de administrador; comprobar la entrada de delegación a nivel de dominio |
| Resultados vacíos | Nombre de aplicación incorrecto, eventos demasiado recientes o más allá de la retención | Revisar el nombre; esperar; revisar las fechas |
| Se detiene en 1,000 eventos | Paginación no seguida | Usar pageToken o list_next |
| Sin eventos de mensajes de Gmail | No forma parte de la API de Informes | Usar Búsqueda de Registros de Correo o BigQuery |
FAQ
¿Puedo obtener estos registros a través de Google Cloud en su lugar?
Si tu organización comparte datos de Workspace con Google Cloud, los registros de auditoría aparecen en Cloud Logging a nivel de organización, y se aplica nuestra [guía de registros de auditoría de Google Cloud].
¿No es suficiente el centro de alertas?
El centro de alertas muestra lo que Google decidió marcar. Los registros de auditoría muestran todo, incluyendo lo que no fue marcado.