--- title: 'Getting Started with Google Workspace' --- import { VersionBadge } from "/snippets/version-badge.mdx"; Prowler for Google Workspace allows you to audit your organization's Google Workspace environment for security misconfigurations, including super administrator account hygiene, domain settings, and more. ## Prerequisites Before running Prowler with the Google Workspace provider, ensure you have: 1. A Google Workspace account with super administrator privileges 2. A Google Cloud Platform (GCP) project to host the Service Account 3. Authentication configured (see [Authentication](/user-guide/providers/googleworkspace/authentication)): - A **Service Account JSON key** from a GCP project with Domain-Wide Delegation enabled ## Quick Start ### Step 1: Set Up Authentication Set your Service Account credentials file path and delegated user email as environment variables: ```bash export GOOGLEWORKSPACE_CREDENTIALS_FILE="/path/to/service-account-key.json" export GOOGLEWORKSPACE_DELEGATED_USER="admin@yourdomain.com" ``` ### Step 2: Run Prowler ```bash prowler googleworkspace ``` Prowler will authenticate as the delegated user and run all available security checks against your Google Workspace organization. ## Authentication Prowler uses a **Service Account with Domain-Wide Delegation** to authenticate to Google Workspace. This requires: - A Service Account created in a GCP project - The Admin SDK API enabled in that project - Domain-Wide Delegation configured in the Google Workspace Admin Console - A super admin user email to impersonate ### Using Environment Variables (Recommended) ```bash export GOOGLEWORKSPACE_CREDENTIALS_FILE="/path/to/service-account-key.json" export GOOGLEWORKSPACE_DELEGATED_USER="admin@yourdomain.com" prowler googleworkspace ``` Alternatively, pass the credentials content directly as a JSON string: ```bash export GOOGLEWORKSPACE_CREDENTIALS_CONTENT='{"type": "service_account", ...}' export GOOGLEWORKSPACE_DELEGATED_USER="admin@yourdomain.com" prowler googleworkspace ``` The delegated user must be a super admin email in your Google Workspace organization. The service account credentials must be provided via environment variables (`GOOGLEWORKSPACE_CREDENTIALS_FILE` or `GOOGLEWORKSPACE_CREDENTIALS_CONTENT`). ## Understanding the Output When Prowler runs successfully, it will display the credentials being used: ``` Using the Google Workspace credentials below: ┌─────────────────────────────────────────────────────────┐ │ Google Workspace Domain: yourdomain.com │ │ Customer ID: C0xxxxxxx │ │ Delegated User: admin@yourdomain.com │ │ Authentication Method: Service Account with Domain-Wide │ │ Delegation │ └─────────────────────────────────────────────────────────┘ ``` Findings are reported per check. For example, the `directory_super_admin_count` check verifies the number of super administrators is within a recommended range (2–4): - **PASS** — 2 to 4 super administrators found - **FAIL** — 0 or 1 (single point of failure) or 5+ (excessive privilege exposure) Output files are saved in the configured output directory (default: `output/`) in CSV, JSON-OCSF, and HTML formats. ## Configuration Prowler uses a configuration file to customize provider behavior. To use a custom configuration: ```bash prowler googleworkspace --config-file /path/to/config.yaml ``` ## Next Steps - [Authentication](/user-guide/providers/googleworkspace/authentication) — Detailed guide on setting up a Service Account and Domain-Wide Delegation