Domain has 2-4 super administrators
Google Workspace domain has between 2 and 4 super administrators.
Having too few super admins creates a single point of failure and administrative access issues if the only admin is unavailable. Having too many super admins increases the attack surface and the risk of unauthorized access to critical administrative functions.
Risk
Having fewer than 2 super administrators creates a single point of failure and may prevent administrative access in emergencies.
Having more than 4 super administrators increases the security risk by expanding the attack surface for compromised accounts with full administrative privileges.
Run this check with Prowler
Run in Prowler Cloudprowler googleworkspace --checks directory_super_admin_countRecommendation
Review the list of super administrators in your Google Workspace Admin console. Add more super admins if you have fewer than 2, or remove unnecessary super admin privileges if you have more than 4. Consider using delegated admin roles for users who need limited administrative capabilities.
Remediation
Other
Check Code
from typing import List
from prowler.lib.check.models import Check, CheckReportGoogleWorkspace
from prowler.providers.googleworkspace.services.directory.directory_client import (
directory_client,
)
class directory_super_admin_count(Check):
"""Check that the number of super admins is between 2 and 4
This check verifies that the Google Workspace domain has between 2 and 4 super administrators.
Having too few admins creates a single point of failure, while too many increases security risk.
"""
def execute(self) -> List[CheckReportGoogleWorkspace]:
findings = []
super_admins = [
user for user in directory_client.users.values() if user.is_admin
]
admin_count = len(super_admins)
report = CheckReportGoogleWorkspace(
metadata=self.metadata(),
resource=directory_client.provider.domain_resource,
resource_id="directoryUsers",
resource_name="Directory Users",
customer_id=directory_client.provider.identity.customer_id,
)
if 2 <= admin_count <= 4:
report.status = "PASS"
report.status_extended = (
f"Domain {directory_client.provider.identity.domain} has {admin_count} super administrator(s), "
f"which is within the recommended range of 2-4."
)
else:
report.status = "FAIL"
if admin_count < 2:
report.status_extended = (
f"Domain {directory_client.provider.identity.domain} has only {admin_count} super administrator(s). "
f"It is recommended to have between 2 and 4 super admins to avoid single point of failure."
)
else:
report.status_extended = (
f"Domain {directory_client.provider.identity.domain} has {admin_count} super administrator(s). "
f"It is recommended to have between 2 and 4 super admins to minimize security risk."
)
findings.append(report)
return findings