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でのアップロード、消毒、レビュー
- アップロード。 オープン logtotal.com を開き、.jsonlファイルをドロップしてください。
- 消毒。
- レビュー。
問題が発生した場合
| 症状 | 考えられる原因 | 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がフラグを立てると決めたものを表示します。監査ログは、フラグ化されなかったものを含むすべてを示します。