Domain-Wide Delegation
This guide details how to authorize your Service Account to access Google Workspace data by setting up Domain-Wide Delegation (DwD). This process allows the service account to "impersonate" your Admin Email to read users, groups, devices, organizational units, admin roles and group settings.
Domain-Wide Delegation is required whether you prepared the service account with the Copy PS script or in the Google Cloud Console.
π Prerequisites
Before starting, ensure you have:
The Client ID: This is the numeric OAuth2 Client ID of your Service Account. The Copy PS script prints it at the end of its run (
Client ID (DWD)). You can also find it in theclient_idfield of the JSON key file, or in the GCP Console under IAM & Admin > Service Accounts.Super Admin Access: You must be a Super Admin in the Google Admin Console.

Step 1: Navigate to API Controls
Log in to the Google Admin Console.
In the left-hand menu, navigate to Security > Access and data control > API controls.
Scroll down to the Domain-wide delegation section at the bottom.
Click MANAGE DOMAIN WIDE DELEGATION.
Step 2: Register the API Client

On the Domain-wide Delegation page, click the Add new button next to the "API clients" list.
A dialog box will appear. Enter the following information:
Client ID: Paste the numeric Client ID for your Service Account.
OAuth Scopes: Copy and paste the following comma-separated list into the field:

Click Authorize.
π Authorized Scopes Reference
Once authorized, your Service Account will be able to perform the following functions:
Scope
Shown in the Forestall panel as
Purpose
admin.directory.user.readonly
AdminDirectoryUserReadonly
Read user accounts.
admin.directory.group.readonly
AdminDirectoryGroupReadonly
Read groups and their memberships.
admin.directory.customer.readonly
AdminDirectoryCustomerReadonly
Read organization-level (customer) information.
cloud-identity.devices.readonly
CloudIdentityDevicesReadonly
Read managed devices.
admin.directory.orgunit.readonly
AdminDirectoryOrgunitReadonly
Read the organizational unit structure.
admin.directory.rolemanagement.readonly
AdminDirectoryRolemanagementReadonly
Read admin roles and their assignments.
apps.groups.settings
AppsGroupsSettings
Read group settings, such as who may join or post to a group.
admin.directory.user.security
AdminDirectoryUserSecurity
Read the third-party OAuth tokens users have granted.
The Test on the GCP Configuration page checks all eight scopes. Each one appears in the Required Permissions panel.
β Verification
Check the list of API Clients to ensure your Client ID appears with the correct scopes.
Return to the GCP Configuration page in Forestall.
Enter the Admin Email (the person being impersonated) and click Test.
If the test passes, every entry under Required Permissions turns green and the Service Account is authorized to "act as" the admin for these tasks.
Domain-Wide Delegation is extremely powerful. Grant only the scopes listed above and nothing more. All of them are read-only except
admin.directory.user.security, which Forestall uses only to read OAuth tokens.
Last updated
Was this helpful?