Google 관리자 콘솔에서, 보고 → 감사 및 조사 로그인, 관리자, 드라이브, OAuth 등 여러 로그를 보유하고 있으며, 각각은 여기서 내보낼 수 있습니다. JSON의 경우 Admin SDK Reports API에서 activities.list 메서드를 사용하세요. 단발성인 경우 코드가 필요하지도 않습니다. API 참조 페이지에는 호출을 실행하는 ‘이 방법 시도’ 패널이 있습니다. 대부분의 워크스페이스 감사 데이터는 6개월 동안 보관됩니다.
워크스페이스 감사 로그는 누가 어디에서 로그인했는지, 어떤 서드파티 앱이 메일과 파일에 접근했는지, 어떤 문서가 외부 세계와 갑작스럽게 공유되었는지를 보여줍니다. Prime Core에는 Google 워크스페이스 데이터에 대한 {N}개의 탐지 규칙이 있으며, {M} MITRE ATT&CK 기법에 매핑되어 있습니다. 그 중에는 클라우드 계정의 남용(T1078.004), 악의적인 OAuth 승인(T1528), 외부 주소로의 메일 전달(T1114.003)이 있습니다.
시작하기 전에
권한. 슈퍼 관리자 또는 보고 권한이 있는 관리자 역할.
올바른 로그 선택하기. API에서 각 로그는 applicationName입니다: 로그인, 관리자, 드라이브, 토큰(OAuth 승인), 사용자 계정, SAML, 그룹 등. Gmail 메시지 로그는 이 API의 일부가 아닙니다. 이를 위해서는 관리자 콘솔의 이메일 로그 검색을 사용하거나, 에디션에 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에 대해 스크립트를 한 번 실행하세요.
살펴볼 항목
| 로그 및 이벤트 | 중요한 이유 |
|---|---|
| 로그인: 로그인 실패 급증, 의심스러운 로그인 | 비밀번호 추측 또는 Google 자체에서 로그인 표시 |
| 토큰: 승인 | 서드파티 앱에 범위가 부여되었음; 읽을 수 있는 항목을 확인하세요 |
| 관리자: 역할 할당, 사용자 생성, 2단계 인증 정책 변경 | 권한 변동 및 보안 설정 약화 |
| 드라이브: 외부나 ‘링크를 가진 사람은 누구나’에 대한 액세스 또는 가시성 변경 | 데이터가 외부에 공개됨 |
| 사용자 계정: 2단계 인증 비활성화, 비밀번호 변경 | 계정 탈취 정리 또는 준비 |
LogTotal에 업로드, 정리 및 검토
- 업로드. 연다 logtotal.com 그리고 .jsonl 파일을 드롭합니다.
- 정리.
- 검토.
문제가 발생할 때
| 증상 | 가능한 원인 | Fix |
|---|---|---|
| 403 또는 권한 부족 | 관리자에게 보고 권한이 없거나, 위임된 범위가 승인되지 않음 | 관리자 역할 확인; 도메인 전역 위임 항목 확인 |
| 결과가 비어 있음 | 잘못된 applicationName, 이벤트가 너무 최근이거나 보존 기간이 지남 | 이름 확인; 대기; 날짜 확인 |
| 1,000 이벤트에서 멈춤 | 페이징이 따르지 않음 | pageToken 또는 list_next 사용 |
| Gmail 메시지 이벤트 없음 | 보고 API의 일부가 아님 | 이메일 로그 검색 또는 BigQuery 사용 |
FAQ
대신 Google Cloud를 통해 이러한 로그를 얻을 수 있나요?
조직이 Google Cloud와 워크스페이스 데이터를 공유하는 경우, 감사 로그는 조직 수준에서 Cloud Logging에 나타나며, 우리의 [Google Cloud 감사 로그 가이드]가 적용됩니다.
경고 센터로 충분하지 않나요?
경고 센터는 Google이 표시하려고 결정한 것을 보여줍니다. 감사 로그는 플래그가 지정되지 않은 내용도 포함해 모든 것을 보여줍니다.