Google FAQ and Troubleshooting
This article contains:
- A list of frequently asked questions related to onboarding GCP and Google Workspace to Tenable One AI Exposure
- GCP and Google Workspace status and troubleshooting information
GCP FAQs
This section contains a list of frequently asked questions related to onboarding GCP projects/organizations.
Exclude a Folder or Project from an Organization
- In the Console, navigate to Settings > Integrations.
- Click on the three dots menu next to the organization, and click Edit.
- Click Next to navigate to the last step in the wizard (Scopes).
- Select Exclude specific folders and projects and then select the relevant folder or project.
- Click Finish. It will be removed from the Console the next time Tenable syncs data in your environment.
Grant Organization-Level Permissions
In order to see all relevant role bindings, Tenable needs permissions to be granted on the parent-level scope (organization). Without this ability, Tenable cannot provide critical security information for GCP resources, such as effective permissions. Even though role bindings are granted on the level of the organization, Tenable cannot access any other organization-level data unless the organization itself, or specific projects within it, are onboarded to Tenable.
Project Is Pending Deletion
After you delete a project in GCP, it takes 30 days until the project is fully deleted. After this 30 day period, Tenable will offboard the project automatically from the system. Since Google Cloud allows you to revert the deletion during this time period, Tenable doesn't delete the data from the system until after 30 days, allowing you to restore the project in GCP if you wish. For more information, refer to the relevant Google documentation{target=_blank}.
User in Domain Considered External
It's possible that some members of your organization independently created Google accounts using the domain of your organization. Such accounts are considered unmanaged user accounts by Google, and are categorized by Tenable as external. Refer to Google documentation{target=_blank} for more information.
Update the Integration Name for the Organization
You can modify the name of your GCP organization integration/s, reflecting how the integration is displayed in AI Exposure. This can be useful for better identification, especially if you have multiple organizations.
To update the name:
- In the AI Exposure Console, navigate to Settings > Integrations.
- Next to the relevant integration, click the three dots menu, and then Edit.
- Navigate to step 2 in the wizard and update the Organization Name field.
- Click Next to navigate to the last step in the wizard and then click Update.
Terraform Deployment
Terraform is only supported for GCP organizations.
Google Workspace FAQs
This section contains a list of frequently asked questions related to onboarding Google Workspace.
Service Account Token Creator Role
Although the name of this role might be misleading, it effectively allows Tenable to impersonate{target=_blank} (or "assume") the service account to interact with your environment via queries.
This is the safest method Tenable has found to connect to your GCP environment as a third party.
The alternative, which is sometimes used by other vendors, is to create user-managed access keys. This requires manual rotation, and can be compromised. The benefit of using impersonation here is that it reduces your risk exposure by not having static credentials associated with Tenable's service account. See Service Account Impersonation vs. Service Account Key.
Service Account Impersonation vs. Service Account Key
According to GCP documentation{target=_blank}, service account impersonation is more secure than using a service account key, because impersonation requires a prior authenticated identity, and the credentials that are created do not persist. In comparison, authenticating with a service account key requires no prior authentication, and the persistent key is a high risk credential if exposed.
Super Administrator User (Advanced)
Tenable needs to access certain Google APIs in your environment that require the super administrator user. These are needed for identity and other general cloud security capabilities. Here is a partial list of APIs:
- https://developers.google.com/admin-sdk/reference-overview
- https://cloud.google.com/identity/docs/apis
However, the actual permissions granted to Tenable are restricted to the OAuth scopes granted when you add your workspace. These permissions are all read-only. So, although Tenable needs super administrator permissions to access the required APIs, in practice, only read-only permissions are actually granted, thus limiting risk.
Tenable needs an email address, because the only way to query objects in Google Workspace is by using domain-wide delegation and user impersonation, which requires a user email address. For more information about how service accounts should access Google Workspace, refer to Google documentation{target=_blank}. Mailbox is not required for this user.
Domain-Wide Delegation (Advanced)
Domain-wide delegation is a Google Workspace mechanism used to grant applications with domain-wide access to relevant user data. This delegation of authority is done using service accounts with OAuth 2.0. The access granted via this delegation is what allows Tenable to gather and provide information fundamental to understanding your GCP assets, since Google Workspace is inherently connected to GCP.
Without this access, Tenable would be unable to:
- Map Google Workspace users to the GCP resources they use.
- Map Google Workspace users to groups, since GCP permissions can be granted to groups.
- Build user/group permission graphs
- Identify users with strong Google Workspace permissions who can therefore escalate their privileges in GCP (e.g., Super Administrators).
Domain-wide delegation lets Tenable impersonate any Google Workspace user, including administrators. Despite the fact that, technically speaking, it might appear as if Tenable has super administrator permissions, this is not actually the case in practice: Tenable does not have any administrator permissions within Google Workspace. The actual permissions granted to Tenable are restricted to the specific OAuth scopes defined during the configuration of domain-wide delegation: These permissions only grant Tenable read access to Google Workspace.
Important: You must grant Tenable this access in the form of a super administrator user, and not via a custom role. There are some permissions that are only available to super admins, and unavailable when creating custom roles. For example, the following oauth scopes:
https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly https://www.googleapis.com/auth/admin.reports.audit.readonly
For more information refer to the relevant Google Workspace documentation: https://developers.google.com/admin-sdk/directory/v1/guides/delegation
Quota Administrator Role (Legacy)
This role contains permissions to manage API access for the Tenable service account, which is needed by Tenable to:
- Query some of the services that you're currently using in your environment.
- Automatically support new GCP services as they are released.
Although the name of this role might be misleading, it effectively allows Tenable to enable APIs needed to collect configuration data from your GCP environment. Without this ability, Tenable wouldn't be able to perform the functions mentioned above.
Since quotas are managed in GCP{target=_blank} per project, and Tenable's service account belongs to a single project, the permissions contained in this role are limited in scope. Unless you explicitly enable API access for a service in a different project, Tenable will not have access to it. Even though Tenable's service account can query new services from the dedicated project that you added during the onboarding process, it cannot alter quotas in your environment.
AI Exposure currently maps all services and permissions in your GCP environment programmatically, meaning that as soon as a new GCP service is released, you can view it in Tenable, along with its underlying permissions.
Project Status and Troubleshooting
AI Exposure displays a Status for each project on the Accounts > GCP page, indicating whether Tenable can connect to the project, and helping you troubleshoot potential onboarding issues. For step-by-step guidance on resolving GCP role and permission errors, see Resolve Cloud Onboarding Permission and Role Errors (AWS, Azure, GCP).
| Status | Description |
|---|---|
| Connected | Tenable successfully connected to the project, and the project is up and running. |
| Deleting... this may take up to an hour | You deleted the project in Tenable, and the process hasn't completed yet. |
| Failed to connect | Tenable failed to connect to the project. This might happen because the project was deleted in GCP, but not deleted from the AI Exposure Console. |
| Google workspace is not connected | The Google workspace is not connected. See Connect a Google Workspace for more information. |
| Missing permissions | One or more of the listed roles are missing, and need to be added to the Tenable service account. |
| Project is deleted | You deleted the project in Tenable. The project will be removed the next time data is synced in Tenable. |
| Project is pending deletion | After you delete a project in GCP, it takes 30 days until the project is fully deleted. After this 30-day period, Tenable will offboard the project automatically from the system. Since Google Cloud allows you to revert the deletion during this time period, Tenable doesn't delete the data from the system until after 30 days, allowing you to restore the project in GCP if you wish. For more information, refer to the relevant Google documentation. |
| Project is suspended | The project is suspended in GCP. The project will remain in this state until changed in GCP. |
| Some features are disabled | Billing is disabled in GCP for the project where you created the Tenable service account. This causes limitations on queries to this account. Some AI Exposure features, such as findings on inactive service accounts and Kubernetes visibility and security, will be disabled until a billing account is connected. Refer to the relevant Google Cloud documentation for more information about project billing. |
| Subscription is not configured | The Pub/Sub subscription used to collect audit logs (activity logs) from the GCP project is not configured. As a result, audit logs are not being sent to AI Exposure. See Connect a GCP Organization. |
Workspace Status and Troubleshooting
AI Exposure displays a Status for each Workspace on the Integrations > Google Workspace page, indicating whether Tenable can connect to the Workspace and helping you troubleshoot potential onboarding issues.
| Status | Description |
|---|---|
| Service Usage API is not enabled | Enable at the project level where the service account was created. |
| Missing permissions |
|
| Missing label | Ensure the label exists and has the relevant key/value pair. |
| Missing OAuth scopes | Ensure all required OAuth scopes are added via domain-wide delegation. |