Skip to content
version: 1.1.1

Customer Google Sign-In Onboarding

1. Purpose

Define the end-to-end onboarding lifecycle for customers who require Google sign-in for ERO through Microsoft Entra External ID.

This document is the single source for the intake field catalogue, the customer-facing questionnaire, the marketplace portal copy, the one-time manual setup walkthrough, and the post-onboarding automation runbook.

2. Scope

This document applies to:

  • Customer Google Workspace or Cloud Identity tenants.
  • ERO identity integration through Microsoft Entra External ID.
  • Initial onboarding for one pilot user and controlled rollout.
  • Automated group lifecycle after pilot acceptance.

This document does not replace the technical implementation detail in:

3. Key Principle: Why one Google API key is not enough

Google API keys are not sufficient for identity administration tasks required for enterprise SSO.

Google sign-in federation and group administration require authenticated admin authority, usually through OAuth credentials and delegated privileges, not a generic project API key.

For Google sign-in onboarding, the minimum identity credential pair is:

  1. Google OAuth Client ID
  2. Google OAuth Client Secret

For automated group synchronization after onboarding, the customer may also provide a delegated admin automation credential set. See section 10.

4. Delivery model

The delivery model has two phases:

  1. One-time manual setup for trust establishment and first validation.
  2. Post-validation automation for repeatable operations such as group sync, membership updates, and compliance checks.

5. Intake field catalogue

This catalogue is authoritative. The questionnaire in section 6 and the portal form in section 7 both draw their fields from this table. The customer must submit all required fields before deployment scheduling.

5.1 Organization profile

Field labelRequiredHelp textValidationExample
Legal organization nameYesEnter the full registered legal name of your organization.2 to 120 characters.Contoso Manufacturing Ltd
Primary business domainYesEnter the domain used by your workforce identities.Valid domain format.contoso.com
Primary deployment regionYesEnter the preferred primary hosting region for your deployment.Free text or controlled list.UK South
Technical owner name and emailYesEnter the person who will support configuration and validation tasks.Valid email format.-
Security owner name and emailYesEnter the approver responsible for identity and access decisions.Valid email format.-

5.2 Google identity profile

Field labelRequiredHelp textValidationExample
Google tenant typeYesSelect your tenant type.Must be one of Cloud Identity Premium or Google Workspace.Cloud Identity Premium
Verified Google domainYesEnter the verified domain used in Google Admin.Valid domain format.contoso.com
Google super admin emailYesEnter the account used for Google identity configuration sessions.Valid email format.google-admin at contoso dot com
Google break-glass admin emailYesEnter the emergency admin account that remains available if SSO is disabled.Valid email format.google-breakglass at contoso dot com
Break-glass test confirmationYesConfirm that local sign-in for the break-glass account is tested and working.Boolean checkbox.true

5.3 Google federation credentials

A Google API key is not sufficient for Google sign-in federation. See section 3.

Field labelRequiredHelp textValidationExample
Google OAuth project IDYesEnter the Google Cloud project ID that contains the OAuth client used for Entra federation.6 to 63 characters, lowercase letters, numbers, and hyphens.contoso-identity-prod
Google OAuth Client IDYesEnter the OAuth Client ID for the web application used with Entra.Non-empty string.-
Google OAuth Client Secret referenceYesProvide a secure reference to the secret location. Do not paste a raw secret value in this form.Non-empty string.keyvault://kv-customer-identity/secrets/google-oauth-client-secret
OAuth consent support emailYesEnter the support email configured on the Google OAuth consent screen.Valid email format.id-admin at contoso dot com

5.4 Entra context

Field labelRequiredHelp textValidationExample
Entra tenant IDYesEnter the tenant ID where ERO External ID configuration will be applied.GUID format.11111111-2222-3333-4444-555555555555
Entra tenant domainYesEnter the primary Entra tenant domain.Domain format.contosoexternal.onmicrosoft.com
Target user flow nameYesEnter the user flow that will be used for Google pilot sign-in.Non-empty string.B2C_1_SUSI_ERO_DEV
Approve Google provider in user flowYesConfirm approval to enable the Google identity provider for the specified user flow.Boolean checkbox.true

5.5 Pilot scope

Field labelRequiredHelp textValidationExample
Pilot user emailYesEnter the first pilot account for sign-in validation.Valid email format.pilot-user at contoso dot com
Pilot group nameYesEnter the group name used to constrain pilot access.Non-empty string.grp-contoso-google-sso-pilot-users
Pilot start window UTCYesEnter the planned start date and time in UTC.ISO 8601 datetime.2026-08-10T09:00:00Z
Pilot end window UTCYesEnter the planned end date and time in UTC.ISO 8601 datetime.2026-08-10T11:00:00Z
Local fallback enabled during pilotYesConfirm local fallback sign-in remains enabled during pilot execution.Boolean checkbox.true

5.6 Governance approvals

Field labelRequiredHelp textValidationExample
Identity change approverYesEnter the name and email of the approver for identity changes.Non-empty string.Sarah Patel, sarah-patel at contoso dot com
Rollback approverYesEnter the name and email of the approver who can authorize rollback.Non-empty string.David Lee, david-lee at contoso dot com
Approved change window UTCYesEnter the approved implementation window in UTC.Time range format or two datetime fields.2026-08-10T09:00:00Z to 2026-08-10T11:00:00Z

5.7 Optional automation onboarding

Complete this section only when the customer wants automated group lifecycle from day one.

Field labelRequiredHelp textValidationExample
Automation requestedNoSelect true to request automated Entra-to-Google group synchronization after pilot acceptance.Boolean checkbox.false
Delegated admin email for automationNoEnter the delegated admin account used by automation for Google Admin SDK operations.Valid email format.automation-admin at contoso dot com
Service account identifierNoEnter the service account identifier used for Google automation.Non-empty when Automation requested is true.service-account-id-placeholder
Approved Admin SDK scopesNoEnter the approved scopes used by automation.Array of scope strings.[“https://www.googleapis.com/auth/admin.directory.group”]
Automation secret referenceNoProvide the secure location reference for automation credentials.Non-empty when Automation requested is true.keyvault://kv-customer-identity/secrets/google-adminsdk-credential

5.8 Secret handling rule

  • Secrets must never be entered as plain text into email or ticket comments.
  • Secrets must be exchanged through an approved secret handoff channel.
  • Forms must capture a secret reference, never a raw secret value.

6. Customer-facing questionnaire

Use the field catalogue in section 5 as the question set. This section defines the rules and attestations that wrap it.

6.1 Submission rules

  1. Customer must submit all required fields in the catalogue.
  2. Customer must not send secrets in plain text email.
  3. Customer must provide secret values through an approved secret handoff channel.
  4. Customer must provide at least one named technical owner and one named security approver.
  5. Customer must confirm that both Google admin accounts can sign in locally to Google Admin.

6.2 Customer attestation

Customer must confirm the statements below:

  1. We confirm domain ownership and identity admin authority.
  2. We confirm Google OAuth values are correct for the target tenant.
  3. We confirm the break-glass account is tested and operational.
  4. We confirm local fallback is approved for pilot safety.
  5. We confirm listed approvers are authorized for change and rollback decisions.

Signature name and signature date in UTC must both be captured.

6.3 Internal Synkronyx intake check

The Synkronyx delivery owner must verify:

  1. Required sections are complete.
  2. Secret references are reachable.
  3. Pilot scope is constrained.
  4. Rollback path is approved.
  5. Customer attestation is signed.

7. Marketplace portal copy

7.1 Form introduction text

Use this as the form header description:

Provide the details below so Synkronyx can onboard Google sign-in safely and complete pilot validation before deployment. All required fields must be completed before scheduling.

Field labels, help text, validation rules, and examples are defined in the catalogue in section 5 and must be used verbatim in the portal form builder.

7.2 Portal validation rules

  1. If Automation requested is true, all optional automation fields become required.
  2. If Google tenant type is missing, block submission.
  3. If the OAuth secret field appears to contain a raw secret value, block submission and instruct the customer to provide a secret reference.
  4. If pilot dates are invalid, or the end is earlier than the start, block submission.

7.3 Customer confirmation text

Use this confirmation checkbox label:

I confirm that the information provided is accurate and that listed approvers are authorized to approve identity changes and rollback actions.

7.4 Internal handoff note

After submission, route the record to:

  1. Synkronyx delivery lead for technical completeness review.
  2. Synkronyx security reviewer for approval-gate validation.
  3. Implementation scheduling queue when both reviews are complete.

8. One-time manual setup walkthrough

8.1 Customer-side manual steps

Customer identity administrators must complete:

  1. Verify domain ownership in Google Admin console.
  2. Confirm two local Google admin accounts exist: one platform admin account and one break-glass account.
  3. Create the OAuth web application client in Google Cloud Console following the playbook in section 8.4.
  4. Provide the OAuth Client ID and Client Secret through an approved secret channel.
  5. Confirm the pilot user account and test window.

8.2 Synkronyx-side manual steps

The Synkronyx implementation team must complete:

  1. Configure the Google identity provider in Entra External ID following section 8.5.
  2. Bind the Google provider to the target ERO user flow following section 8.6.
  3. Configure application redirect URIs and environment secret settings.
  4. Confirm sign-in for one pilot user.
  5. Confirm the local fallback path remains available.

8.3 Playbook: Google Cloud Console OAuth web client creation

When creating the OAuth client for Entra External ID federation in Google Cloud Console:

  1. Open Google Cloud Console and select the target auth project, for example sknx-ero-auth-nonproduction.

  2. Navigate to APIs and Services > Credentials.

  3. Select Create Credentials and choose OAuth client ID.

  4. Set Application type to Web application.

  5. Set Name to a descriptive label, for example ERO Nonproduction Google Sign-In.

  6. Under Authorized JavaScript origins, select Add URI and enter the active Entra auth origin.

    Branded origin, after the custom auth domain is attached:

    • https://login.synkronyx.com

    Temporary bootstrap origin, before the custom auth domain is attached:

    • https://sknxerononproduction.ciamlogin.com
  7. Under Authorized redirect URIs, select Add URI and add the exact callback endpoints matching the active auth origin, tenant ID, and tenant domain.

    Branded callbacks, after the custom auth domain is attached:

    • https://login.synkronyx.com/78ddb811-8ab7-4d7b-bfb8-c3d96e04d00d/federation/oauth2
    • https://login.synkronyx.com/sknxerononproduction.onmicrosoft.com/federation/oauth2

    Temporary bootstrap callbacks, before the custom auth domain is attached:

    • https://sknxerononproduction.ciamlogin.com/78ddb811-8ab7-4d7b-bfb8-c3d96e04d00d/federation/oauth2
    • https://sknxerononproduction.ciamlogin.com/sknxerononproduction.onmicrosoft.com/federation/oauth2
  8. Select Create and record the generated Client ID and Client Secret.

The ciamlogin.com callback values are temporary bootstrap values only. Do not use them for customer-facing sign-up after login.synkronyx.com is attached to the CIAM tenant.

8.4 Playbook: Entra External ID provider configuration

To attach the Google identity provider to the external tenant:

  1. Open Microsoft Entra admin center for the target CIAM tenant.
  2. Navigate to External Identities > All identity providers.
  3. Select Google from the list of social identity providers.
  4. Enter the Client ID and Client Secret generated in Google Cloud Console.
  5. Select Save.

8.5 Playbook: Linking Google provider to user flow

To enable Google sign-in on the sign-up and sign-in flow:

  1. Navigate to External Identities > User flows.

  2. Select the target user flow, for example ero-sign-up-sign-in-nonproduction or B2C_1_SUSI_SKNXR_NONPROD.

  3. Select Identity providers from the left menu.

  4. Check Google in the provider list and select Save.

  5. Run the tenant readiness verification script to confirm flow binding:

    Terminal window
    ./platform/automation/powershell/test-ciam-tenant-readiness.ps1 -Tier nonproduction

8.6 Group design baseline

For each onboarding, create the following logical groups:

  1. Entra pilot users group.
  2. Entra SSO operators group.
  3. Google pilot users group.
  4. Google local admin group.
  5. Google break-glass admin group.

Source-of-truth rule:

  • Entra groups must be source of truth for workforce identity lifecycle.
  • Google groups must exist for Google-side authorization and service entitlements.

9. Validation, rollback, and evidence

9.1 Validation and sign-off checklist

All checks must pass before customer go-live:

  1. Pilot user can sign in through the Google path and complete ERO sign-up or sign-in.
  2. Local fallback identity path is functional.
  3. Break-glass account sign-in is verified.
  4. User flow shows only approved identity providers.
  5. Customer security owner confirms evidence.

9.2 Rollback criteria

Rollback must be executed if any of the following occur:

  1. Pilot user cannot complete the authentication round trip.
  2. Admin access path is degraded.
  3. Unexpected user population is exposed to the new SSO path.

Rollback action baseline:

  1. Remove or disable the Google provider binding from the affected user flow.
  2. Revert pilot assignments.
  3. Re-run validation on local fallback and break-glass paths.

9.3 Evidence pack required at completion

Store these artifacts in the deployment record:

  1. Completed intake form.
  2. Redacted sign-in validation screenshots.
  3. User flow configuration export or screenshots.
  4. Go-live approval message from the customer security approver.
  5. Rollback plan confirmation.

9.4 Intake form payload template

Use this template as the canonical intake form payload.

customerOrganization: ""
primaryDomain: ""
deploymentRegion: ""
technicalOwnerEmail: ""
securityOwnerEmail: ""
googleTenantType: "Cloud Identity Premium|Google Workspace"
googleVerifiedDomain: ""
googleSuperAdminEmail: ""
googleBreakGlassEmail: ""
googleOAuthProjectId: ""
googleOAuthClientId: ""
googleOAuthClientSecretReference: ""
entraTenantId: ""
entraTenantDomain: ""
pilotUserEmail: ""
pilotScopeConfirmed: true
localFallbackConfirmed: true
changeWindowUtc: ""
identityChangeApprover: ""
rollbackApprover: ""
automationRequested: false
googleAutomationDelegatedAdminEmail: ""
googleAutomationServiceAccountId: ""
googleAutomationScopes: []
googleAutomationSecretReference: ""

10. Post-onboarding automation runbook

10.1 Entry criteria

Automation can start only when all criteria are true:

  1. Manual onboarding checklist is complete.
  2. Pilot user sign-in test passed.
  3. Break-glass account sign-in test passed.
  4. Local fallback sign-in test passed.
  5. Customer change approval is recorded.

10.2 Control model

  1. Entra groups are the source of truth for workforce lifecycle.
  2. Google groups are target objects for Google-side authorization.
  3. Synchronization is one-way from Entra to Google unless explicitly approved otherwise.

10.3 Required automation credentials

Customer must provide:

  1. Google service account identifier used for Admin SDK operations.
  2. Domain-wide delegation approval for required scopes.
  3. Delegated admin user email for automation.
  4. Secret reference for service account credential material.

Synkronyx must provide:

  1. Entra app registration for Graph automation.
  2. Tenant-scoped credential with least privilege.
  3. Secret or certificate reference in an approved secret store.

10.4 Minimum permission set

Google side:

  • Group create and update.
  • Group membership create and update.
  • Read access for user and group lookup.

Entra side:

  • Read group definitions.
  • Read group memberships.
  • Read user identity attributes required for group sync.

10.5 Group mapping contract

Use a deterministic mapping file with explicit source and target group names.

Minimum schema:

groupMappings:
- sourceEntraGroup: ""
targetGoogleGroup: ""
mode: "mirror"

Rules:

  1. Every mapping entry must be unique.
  2. Every target Google group must be pre-approved by the customer security owner.
  3. Deletion behavior must be explicit and disabled by default.

10.6 Execution phases

Phase A, preflight:

  1. Validate credentials can authenticate to Entra and Google.
  2. Validate target tenant and domain values.
  3. Validate mapping file structure.
  4. Generate a preflight report.

Phase B, dry run:

  1. Compute group creation actions.
  2. Compute membership additions.
  3. Compute membership removals.
  4. Export planned actions without writing changes.

Phase C, apply:

  1. Create missing Google groups.
  2. Add missing Google group memberships.
  3. Remove out-of-policy memberships only when the customer approved removal mode.
  4. Write an audit log with correlation ID.

Phase D, validate:

  1. Re-read Google groups.
  2. Compare observed state to expected state.
  3. Publish a pass or fail summary.

10.7 Automation rollback model

Rollback must support:

  1. Restore memberships from the pre-apply snapshot.
  2. Disable the sync execution schedule.
  3. Revert mapping changes made in the current release.

Rollback trigger conditions:

  1. High-impact mismatch in group membership.
  2. Authentication failure during apply.
  3. Customer request to halt deployment.

10.8 Logging and evidence

Every run must produce:

  1. Preflight report.
  2. Dry-run action report.
  3. Apply action log with correlation ID.
  4. Validation report.
  5. Final status summary.

Evidence must be stored in the deployment record.

10.9 Operational cadence

Recommended cadence:

  1. Hourly sync during pilot.
  2. Every 15 minutes after production stabilization.

Cadence must be approved by the customer security and operations owners.

10.10 Security guardrails

  1. Secrets must be read from an approved secret store only.
  2. Credentials must not be printed in logs.
  3. Automation identity must use least privilege.
  4. Emergency stop must be available through a configuration flag.

10.11 Handoff checklist

Synkronyx can mark automation handoff complete only when:

  1. Mapping file is approved by the customer.
  2. Dry run is accepted by the customer.
  3. Apply run passed validation.
  4. Rollback drill is completed once.
  5. Customer operations owner signed off.