docs(google-workspace): add gcloud commands and service account key permissions - #458
Open
leet-c1 wants to merge 4 commits into
Open
docs(google-workspace): add gcloud commands and service account key permissions#458leet-c1 wants to merge 4 commits into
leet-c1 wants to merge 4 commits into
Conversation
…ermissions Restructure the Google Workspace connector setup guide to match the Google Cloud project setup guide used by the MCP server docs. - Add a "Before you begin" section listing the required Google Cloud, Workspace, and C1 roles up front - Add gcloud equivalents for every console procedure: project creation, API enablement, service account creation, key creation and listing, and retrieving the service account unique ID - Document service account key creation requirements: the iam.serviceAccountKeys.create permission and the Service Account Key Admin role, plus the iam.disableServiceAccountKeyCreation org policy that is enforced by default for organizations created on or after May 3, 2024, with the check and project-level exception commands - Note iam.serviceAccountKeyExpiryHours, which silently breaks the connector when a capped key lifetime elapses - Clarify that the Admin SDK API covers Directory, Reports, and Data Transfer, so there is no separate Data Transfer API to enable - List API service IDs and promote Cloud Identity to a required API - Convert the scope purpose lists into read-only and read/write tabs with tables - Replace the Editor role grant with no project role, since the connector's access comes from domain-wide delegation rather than Cloud IAM - Add a symptom/cause/fix troubleshooting table - Remove a stale "primary domain from Step 6" cross-reference Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Contributor
|
Preview deployment for your docs. Learn more about Mintlify Previews.
|
The page explained how to connect the connector but never how to make Google Workspace the directory C1 creates users from, which is the most common reason to set it up. - Add a "Set Google Workspace as your C1 directory" section covering the Directory > Directory sources designation flow, including that an app is selectable only after its first sync completes - Link to it from What's next - Note that a directory-only deployment needs neither the read/write scopes nor any Google Cloud IAM role - Add a tip in the OAuth scopes section that read-only is sufficient when C1 is not provisioning access Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Reviewed the page as a whole rather than section by section, which surfaced several conflicts introduced or left behind by earlier edits. - Fix a contradiction: the project overview called the Cloud Identity API optional while the API table listed it as required - Correct the Google Cloud sections, which asked for a Google Workspace Super Admin. Those steps need Google Cloud permissions; the Workspace super admin is required only for domain-wide delegation - Merge duplicated read-only scope guidance into the existing warning instead of a second callout saying the same thing - Reorder the closing sections so the directory step precedes What's next, removing a forward reference, and promote What's next to a heading level that no longer nests it under connector configuration - Replace a vague "See below" in the troubleshooting table with a link Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
leet-c1
marked this pull request as ready for review
August 14, 2026 18:41
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
mindymo
approved these changes
Aug 14, 2026
mindymo
left a comment
Collaborator
There was a problem hiding this comment.
Looks good from a style perspective. Have these changes also been applied upstream in the baton repo?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Reworks the Google Workspace connector guide to follow the same shape as the Google Cloud project setup guide for the MCP servers: prerequisites up front,
gcloudcommands alongside every console procedure, and a symptom/cause/fix troubleshooting table.It also closes two gaps that cost a real customer a full setup cycle: the service account key permissions needed to get a JSON key at all, and how to actually make Google Workspace the directory C1 creates users from.
Commit 1: Structure and gcloud
Before you beginsection listing the required Google Cloud, Workspace, and C1 roles.gcloudequivalents for project creation, API enablement, service account creation, key creation, key listing, and retrieving the numeric unique ID used for domain-wide delegation.Allow service account key creationsection covering both things that block key creation:iam.serviceAccountKeys.create, granted by the Service Account Key Admin roleconstraints/iam.disableServiceAccountKeyCreationorganization policy, enforced by default for organizations created on or after May 3, 2024, with the exactFAILED_PRECONDITIONerror, thegcloud org-policies describe --effectivecheck, and the project-level exception YAMLconstraints/iam.serviceAccountKeyExpiryHours, which silently breaks a working connector once a capped key lifetime elapsesadmin.datatransferscope.Commit 2: Using the connector as the C1 directory
The page explained how to connect the connector but never how to make Google Workspace the directory C1 creates users from — the most common reason to set it up.
Set Google Workspace as your C1 directorysection covering the Directory > Directory sources flow, including that an app is selectable only after its first sync completes.Commit 3: Whole-document consistency pass
Reviewing the page end to end rather than section by section surfaced conflicts, including one introduced by commit 1:
What's next?was an H3 nested under connector configuration and forward-referenced a section below it. The directory step now precedes it and both sit at the same level.Please review: removal of the Editor role grant
The guide previously told users to grant the service account the Editor role. This replaces that with no project role at all.
The connector's access comes entirely from domain-wide delegation configured in the Admin console, so a Cloud IAM project role plays no part in authorizing Workspace API calls. Google's credential-creation docs confirm service account creation can be completed without any project role, and our own email provider guide already states "No project roles are required" for the identical pattern. The Editor instruction appears to have been carried over from the Google Cloud Platform connector guide, where project roles genuinely are required.
Worth knowing: Editor does include
iam.serviceAccountKeys.create, so anyone following the old instructions got key creation as a side effect. With Editor removed, the key admin role is now called out explicitly rather than left implied.If we'd rather keep the Editor guidance, that section is an isolated revert.
Verification
directory.mdxwere checked against that file's actual headings.gcloudsyntax) verified against official Google Cloud documentation.unauthorized_clienttroubleshooting row reflects well-known domain-wide delegation behavior rather than a specific cited doc.Notes
directory.mdxis deliberately untouched; this PR only links to it.### Resources/### Step 1-3headings inside the self-hosted tab pollute the page outline, but that pattern is shared with other connector pages and is left alone here.🤖 Generated with Claude Code