Back to Checks
Shared drive file access is restricted to members only
drive_shared_drive_members_only_access
Service: driveSeverity: medium
OfficialBuilt-inVerified
Resource Type:NotDefined
The domain-wide default restricts shared drive file access to explicit members only. Non-members cannot be added to individual files inside the drive, preserving the shared drive's membership boundary as the authoritative access control surface.
Risk
If non-members can be added to files inside a shared drive, the drive's membership becomes meaningless as a security control. Sensitive content scoped to a specific team can be silently extended to users who were never granted access to the drive itself, leading to unintended information disclosure.
Run this check with Prowler
Run in Prowler CloudRun
prowler googleworkspace --checks drive_shared_drive_members_only_accessRecommendation
Restrict shared drive file access to explicit shared drive members. This preserves the drive membership as the authoritative access boundary and prevents silent expansion of access to non-members.
Remediation
Other
1Sign in to the Google **Admin console** at https://admin.google.com
2Navigate to **Apps** > **Google Workspace** > **Drive and Docs**
3Click **Sharing settings** > **Shared drive creation**
4*Uncheck** *Allow people who aren't shared drive members to be added to files*
5Click **Save**
Check Code
from typing import List
from prowler.lib.check.models import Check, CheckReportGoogleWorkspace
from prowler.providers.googleworkspace.services.drive.drive_client import drive_client
class drive_shared_drive_members_only_access(Check):
"""Check that shared drive file access is restricted to members only
This check verifies that the domain-level Drive and Docs policy prevents
people who are not shared drive members from being added to files within
a shared drive, restricting file access to that drive's explicit
membership.
"""
def execute(self) -> List[CheckReportGoogleWorkspace]:
findings = []
if drive_client.policies_fetched:
report = CheckReportGoogleWorkspace(
metadata=self.metadata(),
resource=drive_client.policies,
resource_id="drivePolicies",
resource_name="Drive Policies",
customer_id=drive_client.provider.identity.customer_id,
)
allow_non_member = drive_client.policies.allow_non_member_access
if allow_non_member is False:
report.status = "PASS"
report.status_extended = (
f"Shared drive file access in domain "
f"{drive_client.provider.identity.domain} is restricted to "
f"shared drive members only."
)
else:
report.status = "FAIL"
if allow_non_member is None:
report.status_extended = (
f"Shared drive non-member access is not explicitly "
f"configured in domain {drive_client.provider.identity.domain}. "
f"Shared drive file access should be restricted to members only."
)
else:
report.status_extended = (
f"Shared drive file access in domain "
f"{drive_client.provider.identity.domain} allows non-members "
f"to be added to files. "
f"Shared drive file access should be restricted to members only."
)
findings.append(report)
return findings