Skip to content
Field Notes

E5 · Com2us Platform · Feb 2023 – Feb 2026

From a monthly security review to a daily automatic one

Catching risky actions across four clouds on the day they happen

Monthly → Daily4 Clouds

  • Python
  • AWS
  • GCP
  • Azure
  • Tencent
  • Security automation
  • Detection & response
One month?????????????????????????????ReviewAWSCloudTrailGCPCloud Audit LogsAzureActivity LogTencent CloudCloudAudit●●●●▲▲▲▲■■■■★★★★NormalizeWho · When · Where · WhatAWS · game-a-prod · Access Key issuedGCP · game-b-live · Project role addedTencent · game-c-cn · Security group rule addedAzure · tool-rg · Server createdResolvedResolvedSlackTelegramAutomatic review every day before dawnMonthly → Daily
Back to the calendar. This time every day gets a check. Monthly → Daily.

In one line

Replaced a multi-day manual month-end review of four clouds with a daily automatic one that surfaces risky actions the same day.

Background

We ran many projects across four clouds, but no security team worked directly on cloud accounts or security resources. The security team’s role stopped at running CSPM and passing on the results.

Security reviews happened once at the end of each month, pulling consoles and logs from each cloud and checking them manually over several days.

Problem

With a monthly review, someone could give themselves excessive permissions, issue an Access Key (a long-lived credential that does not expire), or delete a key server, and we might not know for nearly a month.

What matters most in a security incident is how fast you notice. Our setup only looked after the incident had passed.

No one asked me to fix this. I decided the gap could not stay, and changed it myself.

Judgment

The hard part: even a simple permission change was recorded differently in every cloud. So the work started by converting everything to one common standard.

Audit log
CloudTrail
Permission model
Policy documents attached to users and roles

What I did

  1. Collect: Using each cloud’s official SDK (the toolkit for working with a cloud from code), I pulled audit logs and resource inventories from every project in all four clouds.
  2. Normalize: I converted the differing logs to one common standard: who did what, to which resource, and when.
  3. What gets reviewed: IAM (access management) permission changes, permission usage history, create/delete/change history for security groups and firewall rules, and create/delete/change history for servers and other key resources.

Normalization example (fictional data for illustration)

DateCloudProjectWhoWhatTargetGradeStatus
2025-03-12AWSgame-a-produser-aAccess Key issueduser-a🔴 CriticalConfirmed
2025-03-12GCPgame-b-liveuser-bProject role addeduser-c🔴 CriticalFix requested
2025-03-12Tencentgame-c-cnuser-dSecurity group rule addedsg-web⚪ Normal-
2025-03-12Azuretool-rguser-eServer createdvm-tool-01⚪ Normal-

What I did

  1. Define critical actions: Alerting on every change means no one reads the alerts, so I picked only actions that could lead to an incident: attempts to grant a permission to oneself or someone else, attempts to issue an Access Key, and attempts to stop, delete, or change key servers and databases.
  2. Schedule: The review runs automatically once a day before dawn, and results go to a Google Sheet.
  3. Alert and response: A confirmed critical action triggers a Telegram and Slack alert → check intent with the actor → request a correction → record as resolved.

Critical event examples by cloud (example event names as they appear in each cloud’s audit log)

AWS
AttachUserPolicy, PutRolePolicy
GCP
SetIamPolicy
Azure
roleAssignments/write
Tencent
AttachUserPolicy

Alert message example (fictional)

🔴 [CRITICAL] Access Key issue attempt
Cloud: AWS / Project: game-a-prod
Actor: user-a / Target: user-a
Time: 2025-03-12 02:14 (KST)
→ Confirm with the actor, then record the status in the sheet.

Result

BeforeAfter
Review cycle
Daily, automatic
Review effort
Effectively zero
Risky action noticed
The same day
Response
Alert → confirm with actor → correct → record

What I learned

Security is less about analyzing incidents afterward and more about defining the signals that lead to incidents and building a structure that never misses them.

Without authority, “I tried this and it got better” persuades more than “we should do this”.

Related repositories

Connected stories

Open to work · Cloud infrastructure and security