Auditing Privileged Actions with IBM Cloud Activity Tracker
Stop guessing who changed your cloud configuration. Learn how to use IBM Cloud Activity Tracker to audit privileged operations and verify administrative changes via CLI and Log Analysis.
01 Sept 2026, 15:24 UTC

The Visibility Gap in Cloud Administration
In a shared cloud environment, knowing that a resource was deleted or a security group was modified is only half the battle. The real challenge is determining who performed the action, when it happened, and which IAM role authorized it. Without a centralized audit trail, security teams are forced to guess based on timestamps or rely on fragmented application logs.
The takeaway is simple: IBM Cloud Activity Tracker provides an immutable, organization-wide record of privileged operations. By integrating it with Log Analysis, you can move from "something changed" to a precise forensic timeline of administrative events.
How Activity Tracker Captures Events
Activity Tracker functions as a listener across your IBM Cloud account. Whenever a user or service performs an action—such as creating a VPC, updating an IAM policy, or deleting a database instance—the platform generates an event record. These records are immutable, meaning they cannot be altered or deleted by any user, ensuring the integrity of the audit trail for compliance requirements.
These events are typically routed to an IBM Cloud Log Analysis instance. While the default retention is 90 days, this can be extended based on your pricing tier. Because event volume directly impacts cost, it is a best practice to use tag-based filtering to exclude high-volume, non-essential events from long-term storage.
Querying the Audit Trail
Searching through millions of logs is inefficient. Activity Tracker uses specific filter operators to narrow down events. The most useful operators for security investigations include:
event_type: Filters by the action taken (e.g.,create,update,delete).user_id: Isolates actions performed by a specific person or service ID.resource_type: Limits results to specific services (e.g.,service,vpc).result: Distinguishes between successful operations and failed attempts (e.g.,successorfailure).
Practical Example: Tracking Unauthorized Resource Deletion
Suppose a production service instance was unexpectedly deleted. To find the culprit and the timestamp, you can use the ibmcloud CLI. This requires a user account with the activity-tracker.read IAM role.
Run the following command from your local terminal where the IBM Cloud CLI is installed:
# List all service-related events for a specific date range
ibmcloud activity-tracker event-list --resource-type service --start-date 2026-11-01 --end-date 2026-11-10
Verification Process:
To ensure the CLI output is accurate, cross-reference the result count with the Log Analysis console. Use the query builder to search for event_type:delete AND result:success for the same time window. If the event counts match, you have verified that the logs are being captured and indexed correctly.
Trade-offs and Limitations
While powerful, Activity Tracker is not a "set and forget" tool. The primary trade-off is between granularity and cost. High-frequency events (like automated health checks or rapid scaling events) can inflate your Log Analysis costs quickly.
Additionally, while the event records are immutable, the retention period is finite. If your compliance mandate requires seven years of logs but your Log Analysis tier only supports one year, you must implement a secondary export process to move JSON logs into a long-term archive or a third-party SIEM (Security Information and Event Management) system via webhooks.
Closing Action Plan
To secure your environment, start by verifying your current retention settings in the Log Analysis dashboard. Then, create a set of saved queries for result:failure events; a spike in failed privileged actions is often the first indicator of a compromised credential or a misconfigured automation script.
0 replies
A thoughtful contribution can make all the difference. Be the first to share one.