[Rule Tunings] Google Workspace Admin Role lifecycle rules#6214
Open
imays11 wants to merge 1 commit into
Open
Conversation
Refreshes four Google Workspace admin role lifecycle rules with updated descriptions, structured investigation guides, and Admin console / Kibana triage steps. Detection logic is unchanged except for alert suppression on the Role Modified rule. All four rules were tested in trade-lab and behave as expected.
Shared changes (3 rules) no major query changes:
- update, Description
- update Investigation guide — structured triage with Google Admin console steps, Kibana/KQL examples for correlated audit events
- Admin Role Assigned also had a minor metadata tweak: rule title updated to reflect group assignments as this rule also triggers for group assignments.
- added `.admin-*` to index
- Admin Role Deletion guide emphasizes historical log review since the deleted role will no longer appear in the Admin console.
#### Google Workspace Role Modified
- includes everything above, plus alert suppression:
```
[rule.alert_suppression]
group_by = ["user.email", "google_workspace.admin.role.name", "source.ip"]
duration = {value = 130, unit = "m"}
missing_fields_strategy = "suppress"
```
Testing and telemetry showed that a single Admin console action (e.g., selecting a privilege category like Organization Units) generates multiple ADD_PRIVILEGE events, one per privilege bucketed under the privilege category. Without suppression, analysts get one alert per privilege change for what is effectively one modification session, which creates alert fatigue without adding investigative value.
Chose 130m window to match the 130-minute lookback. A shorter suppression window (e.g., 5 minutes) still allows the same events to re-alert on subsequent rule executions as they remain in the lookback window. Setting suppression duration to 130 minutes ensures one alert per actor + role + source IP for the full evaluation window, while still capturing all related events in the merged alert.
The investigation guide documents this behavior and includes KQL to enumerate all privileges changed in a session.
Contributor
Rule: Tuning - GuidelinesThese guidelines serve as a reminder set of considerations when tuning an existing rule. Documentation and Context
Rule Metadata Checks
Testing and Validation
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request
Issue link(s):
Summary - What I changed
Refreshes four Google Workspace admin role lifecycle rules with updated descriptions, structured investigation guides, and Admin console / Kibana triage steps. Detection logic is unchanged except for alert suppression on the Role Modified rule. All four rules were tested in trade-lab and behave as expected.
Shared changes - no major query changes:
.admin-*to indexGoogle Workspace Role Modified
Testing and telemetry showed that a single Admin console action (e.g., selecting a privilege category like Organization Units) generates multiple ADD_PRIVILEGE events, one per privilege bucketed under the privilege category. Without suppression, analysts get one alert per privilege change for what is effectively one modification session, which creates alert fatigue without adding investigative value.
Chose 130m window to match the 130-minute lookback. A shorter suppression window (e.g., 5 minutes) still allows the same events to re-alert on subsequent rule executions as they remain in the lookback window. Setting suppression duration to 130 minutes ensures one alert per actor + role + source IP for the full evaluation window, while still capturing all related events in the merged alert.
The investigation guide documents this behavior and includes KQL to enumerate all privileges changed in a session.
How To Test
Tested all the rules manually in the GWS console, data is in our shared stack for testing. I've also edited the Google Workspace Role Modified to include the alert suppression updates to test those changes. The alerts for that are in the stack as well.
suppressed alerts
example of multiple privileges under a single privilege category
each individual privilege as an event (would each be a distinct alert w/o suppression)