W konsoli administracyjnej Google, Raportowanie → Audyt i dochodzenie przechowuje logi (Login, Admin, Dysk, OAuth i inne), a każdy z nich można wyeksportować stamtąd. Dla JSON użyj Admin SDK Reports API, metody activities.list. Dla jednorazowego użycia nie potrzebujesz nawet kodu: strona referencyjna API posiada panel „Wypróbuj tę metodę”, który wykonuje wywołanie jako ty. Większość danych audytu Workspace jest przechowywana przez sześć miesięcy.
Logi audytu Workspace pokazują, kto się zalogował, z jakiego miejsca, które aplikacje trzecie uzyskały dostęp do poczty i plików oraz które dokumenty nagle zostały udostępnione na zewnątrz. Prime Core ma {N} reguł detekcji dla danych Google Workspace, powiązanych z {M} MITRE ATT&CK technikami. Wśród nich: nadużycie kont w chmurze (T1078.004), złośliwe przyznawanie OAuth (T1528) i przekazywanie poczty na zewnętrzne adresy (T1114.003).
Zanim zaczniesz
Uprawnienia. Superadmin lub rola administracyjna z przywilejem Raportów.
Wybierz odpowiedni log. W API każdy log to applicationName: login, admin, drive, token (przyznania OAuth), user_accounts, saml, groups i inne. Logi wiadomości Gmail nie są częścią tego API. Dla nich użyj wyszukiwania logów e-mail w konsoli administracyjnej lub eksportu BigQuery, jeśli twoja edycja go posiada.
Zatrzymywanie i opóźnienie. Większość logów audytu sięga około sześciu miesięcy wstecz. Nowe zdarzenia mogą pojawić się od kilku minut do kilku godzin, zależnie od logu.
Krótki skrypt w Pythonie
Dla powtarzalnych eksportów, konto serwisowe z delegacją na poziomie domeny udaje administratora. Potrzebuje google-api-python-client i google-auth:
import json
from google.oauth2 import service_account
from googleapiclient.discovery import build
creds = service_account.Credentials.from_service_account_file(
"sa.json",
scopes=["https://www.googleapis.com/auth/admin.reports.audit.readonly"],
subject="admin@example.com",
)
svc = build("admin", "reports_v1", credentials=creds)
with open("workspace_login_1019.jsonl", "w") as out:
req = svc.activities().list(
userKey="all", applicationName="login",
startTime="2026-10-19T00:00:00Z", endTime="2026-10-20T00:00:00Z",
maxResults=1000,
)
while req is not None:
resp = req.execute()
for item in resp.get("items", []):
out.write(json.dumps(item) + "n")
req = svc.activities().list_next(req, resp)
Delegacja domenowa jest potężna. Przyznaj jej tylko ten zasięg do odczytu, przechowuj plik klucza poza wspólnymi dyskami i usuń delegację po zakończeniu. Uruchom skrypt raz na każdy potrzebny applicationName.
Na co zwrócić uwagę
| Log i zdarzenie | Dlaczego to ważne |
|---|---|
| login: serie nieudanych logowań, jakiekolwiek podejrzane logowania | Zgadzywanie haseł lub Google samo oznaczające logowanie |
| token: autoryzacja | Aplikacja trzecia uzyskała przywileje; sprawdź co może odczytać |
| admin: przypisywanie ról, tworzenie użytkowników, zmiany polityki weryfikacji dwuetapowej | Zmiany przywilejów i osłabione ustawienia bezpieczeństwa |
| drive: zmiany dostępu lub widoczności na zewnątrz lub „każdy z linkiem” | Dane otwierane dla zewnętrznych użytkowników |
| user_accounts: wyłączona weryfikacja dwuetapowa, zmienione hasło | Porządki po przejęciu konta lub przygotowania do przejęcia |
Prześlij, oczyść i oceń w LogTotal
- Prześlij. Otwórz logtotal.com i upuść plik .jsonl.
- Oczyść.
- Oceń.
Gdy coś idzie nie tak
| Objaw | Prawdopodobna przyczyna | Fix |
|---|---|---|
| 403 lub niewystarczające uprawnienia | Administrator nie ma przywileju Raportów lub delegowany zasięg nie jest autoryzowany | Sprawdź rolę administratora; sprawdź wpis delegacji na poziomie domeny |
| Puste wyniki | Zła nazwa applicationName, zdarzenia zbyt świeże lub poza okres retencji | Sprawdź nazwę; poczekaj; sprawdź daty |
| Zatrzymuje się przy 1,000 zdarzeń | Brak obsługi stronicowania | Użyj pageToken lub list_next |
| Brak zdarzeń wiadomości Gmail | Nie jest częścią Reports API | Użyj wyszukiwania logów Email lub BigQuery |
FAQ
Czy mogę uzyskać te logi przez Google Cloud?
Jeśli twoja organizacja dzieli się danymi Workspace z Google Cloud, logi audytu pojawiają się w Cloud Logging na poziomie organizacji, a nasz [przewodnik po logach audytu Google Cloud] ma zastosowanie.
Czy centrum alertów nie jest wystarczające?
Centrum alertów pokazuje, co Google zdecydowało się oznaczyć. Logi audytu pokazują wszystko, w tym to, co nie zostało oznaczone.