Configure Gws
For more information about using a Google Workspace provider, see the Overview documentation.
Your Google Workspace organization must be configured before you create a Google Workspace provider.
Configure your Google Workspace organization¶
The main steps to configure your Google Workspace organization are:
- Create a Google Cloud project
- Create a service account
- Configure service account key and scopes
- Select a user for the Delegated Subject
Create a Google Cloud project¶
- Open the Google Cloud console.
- In the upper left, click the drop-down box to open the Select a project box, then select New Project.
- Create a new project and provide a name (e.g.
authentik GWS). - Use the search bar at the top of your new project page to search for
API Library. - On the API Library page, use the search bar again to find
Admin SDK API. - On the Admin SDK API page, click Enable.
Create a service account¶
- After the new Admin SDK API is enabled (it might take a few minutes), return to the Google Cloud console home page by clicking on Google Cloud in the upper left.
- Use the search bar to find and navigate to the IAM page.
- On the IAM page, click Service Accounts in the left navigation pane.
- At the top of the Service Accounts page, click Create Service Account.
- Under Service account details page, define the Name and Description for the new service account, then click Create and Continue.
- Under Grant this service account access to project you do not need to define a role, so click Continue.
- Under Grant users access to project you do not need to define a role, so click Done to complete the creation of the service account.
Configure service account key and scopes¶
- On the Service Accounts page, click the account that you just created.
- Click the Keys tab at the top of the page, then click Add Key > Create new key.
-
Select JSON as the key type, then click Create. A pop-up displays with the private key. The key can be saved to your computer as a JSON file. This key will be required when creating the Google Workspace provider in authentik.
:::info Allow key creation By default, the Google Cloud organization policy
iam.disableServiceAccountKeyCreationprevents creating service account keys. To allow key creation: 1. Navigate to IAM & Admin > Organization Policies and select the Disable service account key creation policy. 2. Click Manage policy and disable the policy. 3. Click Set policy to save your changes. ::: -
On the service account page, click the Details tab, and expand the Advanced settings area.
- Copy the Client ID (under Domain-wide delegation), and then click View Google Workspace Admin Console.
- Log in to the Admin Console, and then navigate to Security > Access and data control > API controls.
- On the API controls page, click Manage Domain Wide Delegation.
- On the Domain Wide Delegation page, click Add new.
- In the Add a new client ID box, paste in the Client ID that you copied from the Admin console earlier (the value from the downloaded JSON file) and paste in the following scopes:
https://www.googleapis.com/auth/admin.directory.userhttps://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.group.memberhttps://www.googleapis.com/auth/admin.directory.domain.readonly
Select a user for the Delegated Subject¶
Delegated Subject is a required field when creating the Google Workspace provider in authentik. This field must be populated with the email address of a Google Workspace user with suitable permissions.
- In the sidebar navigate to Directory > Users.
- Either select an existing user's email address or Add New User and define the user and email address to use as the Delegated Subject.
- Take note of this email address as it will be required when creating the Google Workspace provider in authentik.
Delegated Subject permissions¶
:::warning We do not recommend using an administrator account for the Delegated Subject user. A custom role should be used instead, see the Google Admin console documentation for more details. :::
The Delegated Subject user requires the following permissions:
Admin console privileges¶
- Users
- Groups
Admin API privileges¶
- Domain management
- Users
- Groups
Now that you have configured your Google Workspace organization, you are ready to create a Google Workspace provider.