Learn how to manage user access with Google Kubernetes Engine (GKE).
This integration allows you to manage user access with Google Kubernetes Engine (GKE). This relies on the Google Groups integration with GKE. It enables you to grant roles to the members of a group in Google Groups.
To get started, go to the Inventory, select the +App button at the top right of the screen, and choose the Google Groups tile.Opal requires multiple credentials in order to manage your Google Groups.
Click + Create Service Account. Enter a name and description for the service account. When done click Create.
The Service account permissions section that follows is not required. Click Continue.
On the Grant users access to this service account screen, click Done.
Select the new service account.
Click the Keys tab.
Click the Add key drop-down menu, then select Create new key.
Select JSON as the Key type and click Create.
Your new public/private key pair is generated and downloaded to your machine.
Click Close on the Private key saved to your computer dialog, then return to the table of your service accounts. We then need to enable G Suite domain-wide delegation with the following steps:
Locate the newly-created service account in the table. Under Actions, click Manage details.
In the service account details, click Show domain-wide delegation, then ensure the Enable G Suite Domain-wide Delegation checkbox is checked.
If you haven’t yet configured your app’s OAuth consent, you must do so before you can enable domain-wide delegation. Follow the on-screen instructions to configure the OAuth consent screen, then repeat the above steps and re-check the checkbox.
Click Save to update the service account, and return to the table of service accounts. A new column, Domain-wide delegation, can be seen. Click View Client ID to obtain and make a note of the client ID. Now let’s delegate domain-wide authority to your service account:
To access user data on a Google Workspace domain, the service account that you created needs to be granted access by a super administrator for the domain. To delegate domain-wide authority to a service account, follow those steps:
From your Google Workspace domain’s Admin console, go to Main menu > Security > API controls.
In the Domain wide delegation pane, select Manage Domain Wide Delegation.
Click Add new.
In the Client ID field, enter the client ID obtained from the service account creation steps above.
In the OAuth Scopes field, enter the following scope:
Create a Google Group called Opal. This group can be used later to automatically import groups into Opal (outside of GKE) by adding them as members of this group.
Back in Opal, fill in details about your Google Groups service account:
For Opal group email, you should enter the email of the Google group created above.
For Google Workspace admin email, you should enter the email of someone in your organization with at least Groups Admin privileges. If the service account is used outside of GKE, then Super Admin privileges are required on the admin email.
Then click to upload the downloaded JSON file for the created service account. If this step is successful, you have completed setting up the Google Groups server connection.
Create a group with the name gke-security-groups. Make sure the gke-security-groups group has the View Members permission for Group Members.
Create a group for cluster admin access level. Please use the following format for naming: opal_CLUSTER_NAME_ACCESS_LEVEL. Each group must have the View Members permission for Group Members. - Example: if your cluster name is Acme-prod, and access level is admin, the group name should be opal_Acme-prod_admin.
In the gke-security-groups group, click Add member and add the group we just created.
The groups that were added under the gke-security-groups group will show up as Roles for your clusters.Users are then able to request access to the Roles defined earlier. Once the access is granted users will be able to run kubectl commands after connecting to the cluster with gcloud.
Last modified on October 31, 2025
Was this page helpful?
Assistant
Responses are generated using AI and may contain mistakes.