Naar inhoud
lightbulb Welkom op de nieuwe kennisbank | We hebben de docs volledig vernieuwd met meer dan 160 features. Bekijk wat nieuw isarrow_forward

Workspace-auditlogs in BigQuery analyseren

Exporteer Google Workspace-auditlogs naar BigQuery en schrijf SQL-queries voor beveiligingsanalyse, gebruiksrapportages en compliance-monitoring.

Waarom auditlogs in BigQuery?

De Admin Console van Workspace biedt ingebouwde auditlogs, maar die hebben beperkingen:

  • Beperkte bewaartermijn in de console (afhankelijk van het logtype en je licentie)
  • Beperkte query-mogelijkheden
  • Geen integratie met externe data

Met de BigQuery-export krijg je:

  • Onbeperkte bewaartermijn (zolang je de data zelf opslaat)
  • Volledige SQL-kracht
  • Combineerbaar met andere bronnen (HR-systeem, ticketsysteem)
  • Directe koppeling met Looker Studio
info

Welke edities ondersteunen dit?

De BigQuery-export van rapportagelogs is beschikbaar voor Enterprise Standard en Enterprise Plus, Education Standard en Education Plus, Frontline Standard en Frontline Plus, en Enterprise Essentials Plus. De Business-edities (Business Starter, Standard en Plus) ondersteunen deze export niet. Controleer je editie via de Admin Console onder Facturering > Abonnementen.

Export activeren

Workspace-auditlogs naar BigQuery exporteren

  1. Log in op admin.google.com als Workspace-beheerder.
  2. Ga naar Menu > Rapportage > Data-integraties. Bij een Education-editie heet dit BigQuery-export.
  3. Klik bij de kaart BigQuery-export op Bewerken en zet de export aan.
  4. Selecteer een Google Cloud-project waarin facturering is ingeschakeld.
  5. Kies of maak een BigQuery-dataset (kies een EU-regio voor AVG-compliance).
  6. Selecteer welke diensten je exporteert: Aanmelden, Drive, Gmail, Meet, Admin, Apparaten, enzovoort.
  7. Klik op Opslaan.

Activiteitslogs verschijnen meestal binnen tien minuten in BigQuery. Het serviceaccount gapps-reports@system.gserviceaccount.com moet daarvoor editor-rechten hebben op je BigQuery-project; dat regelt de Admin Console doorgaans automatisch bij het activeren.

warning

Pas de tabelvervaltermijn aan

De geëxporteerde tabellen krijgen standaard een vervaltermijn van 60 dagen, waarna BigQuery de data automatisch verwijdert. Wil je langer bewaren voor compliance, pas dan de table expiration (of een lege standaardvervaltermijn) op je dataset aan vóórdat de eerste 60 dagen verstrijken. Anders verlies je data ongemerkt.

Bij een verse activering exporteert Google vanaf het moment van configuratie. Wijzig je later van dataset of regio, dan kun je de bestaande activiteitsdata van de afgelopen 180 dagen laten meeverhuizen via de optie Backfill bestaande BigQuery-data van de afgelopen 180 dagen. Voor usage-data is dat venster 450 dagen.

Tabelstructuur begrijpen

De BigQuery-export maakt per dienst een aparte tabel. De exacte tabelnamen hangen af van je configuratie; de meest gebruikte zijn:

Tabel Inhoud
login Aanmeldingen en mislukte pogingen
drive Acties op Drive-bestanden
gmail Gmail-loggebeurtenissen
meet Meet-vergaderingen
admin Beheerdersacties
mobile Apparaatacties
groups Wijzigingen in Google Groepen

Elke tabel heeft een vergelijkbare opbouw: id, time, event_name, actor (wie de actie deed) en record_type/parameters met de details. Velden zoals actor.email en de parameters kunnen genest zijn, dus gebruik bij geneste JSON JSON_EXTRACT_SCALAR of de punt-notatie afhankelijk van het schema dat BigQuery voor jouw export aanmaakt.

lightbulb

Inspecteer eerst het schema

Open in BigQuery het tabbblad Schema van een geëxporteerde tabel voor je queries schrijft. De exacte veldnamen en of parameters als STRING, RECORD of REPEATED veld zijn opgeslagen, verschillen per dienst. Pas je JSON_EXTRACT_SCALAR- of punt-notatie daarop aan.

Nuttige SQL-queries

Mislukte aanmeldingen de afgelopen 7 dagen

SELECT
  actor.email AS gebruiker,
  COUNT(*) AS mislukte_pogingen,
  MAX(time) AS laatste_poging
FROM
  `workspace_audit.login`
WHERE
  event_name = 'login_failure'
  AND DATE(time) >= DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY)
GROUP BY
  actor.email
ORDER BY
  mislukte_pogingen DESC
LIMIT 50

Bestanden gedeeld buiten de organisatie

SELECT
  actor.email AS gedeeld_door,
  JSON_EXTRACT_SCALAR(parameters, '$.doc_title') AS bestandsnaam,
  JSON_EXTRACT_SCALAR(parameters, '$.visibility') AS zichtbaarheid,
  time AS tijdstip
FROM
  `workspace_audit.drive`
WHERE
  event_name = 'change_document_visibility'
  AND JSON_EXTRACT_SCALAR(parameters, '$.visibility') IN ('people_with_link', 'public_on_the_web')
  AND DATE(time) >= DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY)
ORDER BY
  time DESC

Meet-gebruik per afdeling

Koppel Meet-data aan een afdelingstabel uit je HR-systeem:

SELECT
  m.actor.email AS gebruiker,
  h.afdeling,
  COUNT(DISTINCT JSON_EXTRACT_SCALAR(m.parameters, '$.conference_id')) AS vergaderingen,
  SUM(CAST(JSON_EXTRACT_SCALAR(m.parameters, '$.duration_seconds') AS INT64)) / 3600 AS uren_vergaderd
FROM
  `workspace_audit.meet` m
JOIN
  `hr_data.medewerkers` h ON m.actor.email = h.email
WHERE
  m.event_name = 'call_ended'
  AND DATE(m.time) BETWEEN '2026-01-01' AND '2026-12-31'
GROUP BY
  m.actor.email, h.afdeling
ORDER BY
  uren_vergaderd DESC

Looker Studio-dashboard op auditdata

Bouw een security-dashboard in Looker Studio op basis van je BigQuery-auditdata. Een logische opzet:

Pagina 1: Beveiligingsoverzicht

  • Scorecards: aanmeldingen vandaag, mislukte pogingen, aanmeldingen vanuit onverwachte locaties
  • Tijdreeksgrafiek: aanmeldingen per dag
  • Tabel: gebruikers met de meeste mislukte aanmeldingen

Pagina 2: Data-deling

  • Tabel: bestanden gedeeld buiten de organisatie (deze week)
  • Grafiek: verdeling van deelmethodes (link, specifieke personen, openbaar)

Om kosten en snelheid te beheersen kun je in BigQuery vooraf samengevatte tabellen maken met Scheduled Queries en Looker Studio daarop laten draaien, in plaats van rechtstreeks op de ruwe logtabellen.

warning

Auditlogs zijn gevoelige data

Auditlogs bevatten persoonsgegevens (wie heeft wat wanneer gedaan). Beperk toegang tot het Looker Studio-dashboard en de onderliggende dataset tot een kleine groep beheerders en security-officers. Gebruik IAM-rollen op de BigQuery-dataset en deel het dashboard nooit openbaar.

De BigQuery-exportoptie is niet zichtbaar in mijn Admin Console. Waarom?

De functie vereist een Enterprise-, Education- of Frontline-editie (of Enterprise Essentials Plus). Business-edities ondersteunen de export niet. Controleer je abonnement via Facturering in de Admin Console.

Worden historische logs ook geëxporteerd?

Bij een verse activering begint de export vanaf het moment van configuratie. Verhuis je later naar een andere dataset of regio, dan kun je de activiteitsdata van de afgelopen 180 dagen laten backfillen. Voor usage-data is dat 450 dagen.

Hoe lang blijft mijn data in BigQuery bewaard?

Standaard krijgen de geëxporteerde tabellen een vervaltermijn van 60 dagen. Wil je langer bewaren, pas dan de table expiration op je dataset aan voordat die termijn verstrijkt, anders verwijdert BigQuery de data automatisch.

Hoe lang moet ik de data bewaren voor compliance?

Dat hangt af van je eigen eisen. Voor AVG/GDPR is vaak ongeveer een jaar afdoende, maar voor financiële of zorgsectoren kunnen langere bewaarplichten gelden. Leg de gekozen termijn vast in een retentiebeleid.

Kan ik alerts instellen bij verdachte activiteit?

Ja. Combineer BigQuery Scheduled Queries met Cloud Pub/Sub en Cloud Functions, of stuur logs naar Google Security Operations (SecOps), om een melding te krijgen wanneer een query resultaten oplevert, bijvoorbeeld meer dan tien mislukte aanmeldingen van één gebruiker.

Kan ik ook Gemini-activiteit analyseren?

Ja. Sinds 2025 kun je de Gemini-auditlogs van Workspace meenemen in de BigQuery-export, zodat je het gebruik van Gemini in de Workspace-apps kunt analyseren naast de overige diensten.