Google Workspace API Access Granted via Domain-Wide Delegation of Authority
Detects when a domain-wide delegation of authority is granted to a service account. Domain-wide delegation can be configured to grant third-party and internal applications to access the data of Google Workspace users. An adversary may configure domain-wide delegation to maintain access to their target’s data.
Elastic rule (View on GitHub)
1[metadata]
2creation_date = "2020/11/12"
3integration = ["google_workspace"]
4maturity = "production"
5min_stack_comments = "Breaking changes for Google Workspace integration."
6min_stack_version = "8.4.0"
7updated_date = "2023/04/12"
8
9[rule]
10author = ["Elastic"]
11description = """
12Detects when a domain-wide delegation of authority is granted to a service account. Domain-wide delegation can be
13configured to grant third-party and internal applications to access the data of Google Workspace users. An adversary may
14configure domain-wide delegation to maintain access to their target’s data.
15"""
16false_positives = [
17 """
18 Domain-wide delegation of authority may be granted to service accounts by system administrators. Verify that the
19 configuration change was expected. Exceptions can be added to this rule to filter expected behavior.
20 """,
21]
22from = "now-130m"
23index = ["filebeat-*", "logs-google_workspace*"]
24interval = "10m"
25language = "kuery"
26license = "Elastic License v2"
27name = "Google Workspace API Access Granted via Domain-Wide Delegation of Authority"
28note = """## Setup
29
30The Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.
31
32### Important Information Regarding Google Workspace Event Lag Times
33- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.
34- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.
35- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.
36- By default, `var.interval` is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m).
37- See the following references for further information:
38 - https://support.google.com/a/answer/7061566
39 - https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-module-google_workspace.html"""
40references = ["https://developers.google.com/admin-sdk/directory/v1/guides/delegation"]
41risk_score = 47
42rule_id = "acbc8bb9-2486-49a8-8779-45fb5f9a93ee"
43severity = "medium"
44tags = ["Elastic", "Cloud", "Google Workspace", "Continuous Monitoring", "SecOps", "Identity and Access"]
45timestamp_override = "event.ingested"
46type = "query"
47
48query = '''
49event.dataset:google_workspace.admin and event.provider:admin and event.category:iam and event.action:AUTHORIZE_API_CLIENT_ACCESS
50'''
51
52
53[[rule.threat]]
54framework = "MITRE ATT&CK"
55[[rule.threat.technique]]
56id = "T1098"
57name = "Account Manipulation"
58reference = "https://attack.mitre.org/techniques/T1098/"
59
60
61[rule.threat.tactic]
62id = "TA0003"
63name = "Persistence"
64reference = "https://attack.mitre.org/tactics/TA0003/"
Setup
The Google Workspace Fleet integration, Filebeat module, or similarly structured data is required to be compatible with this rule.
Important Information Regarding Google Workspace Event Lag Times
- As per Google's documentation, Google Workspace administrators may observe lag times ranging from minutes up to 3 days between the time of an event's occurrence and the event being visible in the Google Workspace admin/audit logs.
- This rule is configured to run every 10 minutes with a lookback time of 130 minutes.
- To reduce the risk of false negatives, consider reducing the interval that the Google Workspace (formerly G Suite) Filebeat module polls Google's reporting API for new events.
- By default,
var.interval
is set to 2 hours (2h). Consider changing this interval to a lower value, such as 10 minutes (10m). - See the following references for further information: