Google Workspaceの監査ログをエクスポートする方法

Google Workspaceの監査ログをエクスポートする方法

SOC Prime Team
SOC Prime Team linkedin icon フォローする

Google管理コンソールで、 レポート → 監査と調査 ログ(ログイン、管理者、ドライブ、OAuthなど)を保持していて、そこからエクスポートが可能です。JSONの場合は、Admin SDK レポート API の activities.list メソッドを使用します。一度限りの場合、コードは不要です。APIリファレンスページには、「このメソッドを試す」というパネルがあり、あなたの代わりにコールを実行します。ほとんどのWorkspace監査データは6か月間保存されます。

Workspace監査ログは、どこから誰がサインインしたか、どのサードパーティアプリがメールやファイルにアクセスしたか、どのドキュメントが急に外部と共有されたかを示しています。プライムコアにはGoogle Workspaceデータのための{N}の検出ルールがあり、{M}のMITRE ATT&CK技法にマッピングされています。その中には、クラウドアカウントの悪用(T1078.004)、悪意のあるOAuth承認(T1528)、外部アドレスへのメール転送(T1114.003)が含まれます。

無料で始める

開始する前に

権限。 レポート権限を持つスーパ管理者、または管理者ロール。

適切なログを選択します。 APIでは、各ログは applicationName です: login, admin, drive, token (OAuth承認), user_accounts, saml, groups その他。GmailメッセージログはこのAPIの一部ではありません。それらは管理コンソール内のEmail Log Search、またはあなたのエディションがあるならBigQueryエクスポートを使用してください。

保持期間と遅延時間。 ほとんどの監査ログは約6か月前までさかのぼります。新しいイベントが表示されるまでには、ログによって数分から数時間かかることがあります。

短いPythonスクリプト

リピート可能なエクスポートには、ドメイン全体の委任で管理者をパフォーマンスするサービスアカウントが必要です。それはgoogle-api-python-clientと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)

ドメイン全体の委任は強力です。この読み取り専用スコープのみを付与し、キー ファイルを共有ドライブから外し、作業が完了したら委任を削除してください。必要な各applicationNameごとに1回スクリプトを実行します。

何を探すべきか

ログとイベントなぜそれが重要なのか
login: login_failureの急増、任意のsuspicious_loginパスワード推測、またはGoogle自体がサインインをフラグした場合
token: authorizeサードパーティアプリがスコープを付与された; 読み取ることができる内容を確認する
admin: ロールの割り当て、ユーザー作成、2段階認証方針の変更権限の変更とセキュリティ設定の弱体化
drive: 外部または「リンクを持っている人向け」に表示またはアクセスの変更外部にデータが公開されること
user_accounts: 2SV無効化、パスワード変更アカウント乗っ取りのクリーンアップ、または準備段階

LogTotalでのアップロード、消毒、レビュー

  1. アップロード。 オープン logtotal.com を開き、.jsonlファイルをドロップしてください。
  2. 消毒。 
  3. レビュー。 

問題が発生した場合

症状考えられる原因Fix
403または権限不足管理者にレポートの権限がないか、委任されたスコープが承認されていない管理者役割を確認する; ドメイン全体の委任エントリを確認する
結果が空誤った applicationName、イベントが新しすぎる、または保持期間を超えている名前を確認する; 待つ; 日付を確認する
1,000イベントで停止ページングがフォローされていないpageToken または list_next を使用する
GmailメッセージイベントがないレポートAPIの一部ではないEmail Log Search または BigQuery を使用する

FAQ

代わりにGoogle Cloudを通じてこれらのログを取得できますか?

あなたの組織がWorkspaceデータをGoogle Cloudと共有している場合、監査ログは組織レベルでCloud Loggingに表示され、[Google Cloud監査ログガイド] に適用されます。

アラートセンターだけでは不十分ですか?

アラートセンターはGoogleがフラグを立てると決めたものを表示します。監査ログは、フラグ化されなかったものを含むすべてを示します。

SOC PrimeのDetection as Codeプラットフォームに参加し ビジネスに最も関連性のある脅威に対する可視性を向上させましょう。開始して即座に価値をもたらすためには、今すぐSOC Primeの専門家とのミーティングを予約してください。