Back to Checks
Prowlerprowler-provider-googleworkspace
Mail delegation is disabled for users
gmail_mail_delegation_disabled
Service: gmailSeverity: medium
OfficialBuilt-inVerified
Categories:email-security
Resource Type:NotDefined
Mail delegation allows a delegate to read, send, and delete messages on behalf of another user. When enabled at the user level, this creates a risk that unauthorized individuals could gain access to sensitive email content. Only administrators should be able to manage mailbox delegation.
Risk
If users can delegate access to their mailbox, an attacker who compromises one account could silently delegate access to maintain persistent email surveillance. This also increases the risk of insider threats and data exfiltration through shared mailbox access.
Run this check with Prowler
Run in Prowler CloudRun
prowler googleworkspace --checks gmail_mail_delegation_disabledRecommendation
Disable mail delegation so that only administrators can manage mailbox access. This prevents users from granting unauthorized access to their email.
Remediation
Other
1Sign in to the Google **Admin console** at https://admin.google.com
2Navigate to **Apps** > **Google Workspace** > **Gmail**
3Click **User Settings** > **Mail delegation**
4Uncheck **Let users delegate access to their mailbox to other users in the domain**
5Click **Save**
Check Code
from typing import List
from prowler.lib.check.models import Check, CheckReportGoogleWorkspace
from prowler.providers.googleworkspace.services.gmail.gmail_client import gmail_client
class gmail_mail_delegation_disabled(Check):
"""Check that users cannot delegate access to their mailbox.
This check verifies that the domain-level Gmail policy prevents users
from delegating mailbox access to other users, ensuring only
administrators can manage mailbox delegation.
"""
def execute(self) -> List[CheckReportGoogleWorkspace]:
findings = []
if gmail_client.policies_fetched:
report = CheckReportGoogleWorkspace(
metadata=self.metadata(),
resource=gmail_client.policies,
resource_id="gmailPolicies",
resource_name="Gmail Policies",
customer_id=gmail_client.provider.identity.customer_id,
)
delegation_enabled = gmail_client.policies.enable_mail_delegation
if delegation_enabled is False:
report.status = "PASS"
report.status_extended = (
f"Mail delegation is disabled "
f"in domain {gmail_client.provider.identity.domain}."
)
elif delegation_enabled is None:
report.status = "PASS"
report.status_extended = (
f"Mail delegation uses Google's secure default configuration "
f"(disabled) in domain {gmail_client.provider.identity.domain}."
)
else:
report.status = "FAIL"
report.status_extended = (
f"Mail delegation is enabled "
f"in domain {gmail_client.provider.identity.domain}. "
f"Users should not be able to delegate access to their mailbox."
)
findings.append(report)
return findings