Configuring Google Workspace Connectors

This connector allows Stellar Cyber to collect data from external sources and add the records to the data lake.

Integrating Google Workspace with Stellar Cyber provides real-time visibility into security events and alerts across cloud and on-premise environments, enabling organizations to effectively monitor and respond to security incidents. Stellar Cyber's advanced security analytics and machine learning algorithms provide real-time threat detection and response capabilities, while also providing advanced identity and access management capabilities to manage user access and security policies.

You must have one connector for every Google Workspace account to be monitored.

This connector is improved to use less memory. Under certain scenarios if there is an error reaching the third-party API, some duplicate messages may be sent.

Stellar Cyber connectors with the Collect function (collectors) may skip collecting some data when the ingestion volume is large, which potentially can lead to data loss. This can happen when the processing capacity of the collector is exceeded.

Connector Overview: Google Workspace

Capabilities

  • Collect: Yes

  • Respond: No

  • Native Alerts Mapped: Yes

  • Runs on: DP

  • Interval: Configurable

Collected Data

Content Type

Index

Locating Records

Admin

Alert

Calendar

Chat

Drive

Gplus

Groups

Login

Mobile

Rules

SAML

Token

Linux

AWS Events (Cloudtrail)

 

msg_class:

gsuite

gsuite_alert

msg_origin.source:

gsuite

msg_origin.vendor:

gsuite

msg_origin.category:

office_suite (for alerts, for all content types on SaaS)

Domain

N/A

Response Actions

N/A

Third Party Native Alert Integration Details

The Gmail Phishing, Google Identity, and User Changes events are mapped. Select the Alert content type.

Deduplication is by org_id, tenantid, metadata.customerId, source, type, and metadata.alertId.

For details, see Integration of Third Party Native Alerts.

Required Credentials

  • API Scopes and Service Account Key File

Locating Records

To search the alerts in the Alerts index or to search the Original Records in the Syslog index, use the query: msg_class:gsuite_alert AND source: ('Gmail phishing' OR 'Google identity' OR 'User Changes')

Adding a Google Workspace Connector

To add a Google Workspace connector:

  1. Enable the Google Admin SDK
  2. Create a Google service account
  3. Create an API key
  4. Add the client ID with OAuth scopes
  5. Add the connector in Stellar Cyber
  6. Test the connector
  7. Verify ingestion

Enabling the Google Admin SDK

Before you create a service account, you must enable the Admin SDK:

Use our example as a guideline, as you might be using a different software version.

  1. Go to https://console.cloud.google.com.

  2. Click to display the menu.

  3. Choose APIs & Services > Library. The API Library page appears.

  4. Search for admin sdk. The Admin SDK page should be at the top of the results.

  5. Click Admin SDK. The Admin SDK page appears.

  6. Click Enable. The SDK is enabled.

  7. Search again, this time for alert center api. and enable that.

Creating a Google Service Account

With the SDK enabled, you can create a service account:

  1. Navigate back to the main menu of https://console.cloud.google.com.

  2. Click to display the navigation pane.

  3. Choose IAM & Admin > Service Accounts. The service accounts appear.

  4. Click Create Service Account. The Service account details page appears.

  5. Enter a name for the account.

  6. Enter a description.

  7. Click Create.

  8. Optionally, grant permissions.

  9. Click Continue.

  10. Optionally, grant access.

  11. Click Done. The account is created and displayed on the Service account details page.

  12. Copy the Oath2 Client ID You will use this as the Client ID when adding API scopes in the Stellar Cyber connector.

Creating an API Key

With a service account, you can now create an API key:

  1. Go to https://console.cloud.google.com.

  2. Click to display the menu.

  3. Choose IAM & Admin > Service Accounts. The service accounts appear.

  4. Select the service account you created.

  5. Click for that account.

  6. Select Manage keys from the menu. The Keys screen appears.

  7. Click the Add Key menu and select Create new key.

  8. Select JSON.

  9. Click Create. The JSON file is downloaded. Keep this file safe, as you cannot recover the key if this file is lost. You will upload this file to Stellar Cyber when configuring the connector.

  10. Click Close.

  11. Exit the Keys screen and return to the Service Account Details page.

  12. Click for the account again, and select Manage Details.

  13. The Service Account details screen appears.

  14. Make note of the Unique ID. You will use this as the Client Name when adding the service account to Google Workspace.

Adding the Client ID with OAuth Scopes

To add the Client ID with OAuth scopes:

  1. Go to https://admin.google.com/ac/home.
  2. Click to display the menu.
  3. Choose Security > API Controls > Domain-wide Delegation. The API clients appear.

  4. Click Add New. The Add a new client ID screen appears.

  5. Enter the Unique ID that you copied earlier from the service account as the Client ID.
  6. Enter the OAuth scopes to be used with the Stellar Cyber connector.

    • For Alert reports, include this scope: https://www.googleapis.com/auth/apps.alerts

    • For Application reports, include this scope: https://www.googleapis.com/auth/admin.reports.audit.readonly

      (The application types are listed in the Stellar Cyber connector configuration dialog.)

  7. Click Authorize.

You now have an authorized Client ID with OAuth scopes.

Adding the Connector in Stellar Cyber

With the Google service account set up and the API key ready, you can add a Google Workspace connector in Stellar Cyber:

  1. Log in to Stellar Cyber.

  2. Click System | Connectors (under Integrations). The Connector Overview appears.

  3. Click Create. The General tab of the Add Connector screen appears. The information on this tab cannot be changed after you add the connector.

    The asterisk (*) indicates a required field.

  4. Choose SaaS from the Category drop-down.

  5. Choose Google Workspace (Gsuite) from the Type drop-down.

  6. For this connector, the supported Function is Collect, which is enabled already.

  7. Enter a Name.

    Notes:
    • This field does not accept multibyte characters.
    • It is recommended that you follow a naming convention such as tenantname-connectortype.
  8. Choose a Tenant Name. The Interflow records created by this connector include this tenant name.

  9. Choose the device on which to run the connector.

    • Certain connectors can be run on either a Sensor or a Data Processor. The available devices are displayed in the Run On menu. If you want to associate your collector with a sensor, you must have configured that sensor prior to configuring the connector or you will not be able to select it during initial configuration. If you select Data Processor, you will need to associate the connector with a Data Analyzer profile as a separate step. That step is not required for a sensor, which is configured with only one possible profile.

    • If the device you're connecting to is on premises, we recommend you run on the local sensor. If you're connecting to a cloud service, we recommend you run on the DP.

  10. (Optional) When the Function is Collect, you can apply Log Filters. For information, see Managing Log Filters.

  11. Click Next. The Configuration tab appears.

    The asterisk (*) indicates a required field.

  12. Enter the Admin Email for the account administrator (not the email created by Google for the service account).

  13. For API Scopes, enter the OAuth scopes you added in Adding the Client ID with OAuth Scopes. Stellar Cyber provides the following scopes by default: 

    • For Alert reports, include this scope: https://www.googleapis.com/auth/apps.alerts

      The alert scope is required if you would like Stellar Cyber to integrate the Gmail Phishing alert to the XDR Kill Chain.

    • For Application reports, include this scope: https://www.googleapis.com/auth/admin.reports.audit.readonly

    Separate additional scopes with commas.

  14. Upload the Service Account Key File, which is the API file you downloaded in Creating an API Key.

  15. Choose the Interval (min). This is how often the logs are collected.

  16. Enter the Query Delay (min).

  17. Choose the App you want to collect by selecting them from the drop-down menu.

    Content Type
    (App Name)

    Report type

    Required Scope

    Admin

    Admin Console activities of all of your account's administrator activity

    https://www.googleapis.com/auth/admin.reports.audit.readonly

    Alert

    Google Alert Center reports

    https://www.googleapis.com/auth/apps.alerts

    Calendar

    Google Calendar application's activity audit reports

    Chat

    Chat activity audit reports

    Drive

    Google Drive application's activity reports

    Gplus

    Google+ / Currents application activity reports

    Groups

    Google Groups audit reports

    Login

    Login audit events

    Mobile

    Device audit events

    Rules

    Reports for rule related events

    SAML

    SAML audit reports

    Token

    OATH Token Audit events

  18. Click Next. The final confirmation tab appears.

  19. Click Submit.

    To pull data, a connector must be added to a Data Analyzer profile if it is running on the Data Processor.

  20. If you are adding rather than editing a connector with the Collect function enabled and you specified for it to run on a Data Processor, a dialog box now prompts you to add the connector to the default Data Analyzer profile. Click Cancel to leave it out of the default profile or click OK to add it to the default profile.

    • This prompt only occurs during the initial create connector process when Collect is enabled.

    • Certain connectors can be run on either a Sensor or a Data Processor, and some are best run on one versus the other. In any case, when the connector is run on a Data Processor, that connector must be included in a Data Analyzer profile. If you leave it out of the default profile, you must add it to another profile. You need the Administrator Root scope to add the connector to the Data Analyzer profile. If you do not have privileges to configure Data Analyzer profiles, a dialog displays recommending you ask your administrator to add it for you.

    • The first time you add a Collect connector to a profile, it pulls data immediately and then not again until the scheduled interval has elapsed. If the connector configuration dialog did not offer an option to set a specific interval, it is run every five minutes. Exceptions to this default interval are the Proofpoint on Demand (pulls data every 1 hour) and Azure Event Hub (continuously pulls data) connectors. The intervals for each connector are listed in the Connector Types & Functions topic.

    The Connector Overview appears.

The new connector is immediately active. It does not collect any historical logs.

Testing the Connector

When you add (or edit) a connector, we recommend that you run a test to validate the connectivity parameters you entered. (The test validates authentication and connectivity).

  1. Click System | Connectors (under Integrations). The Connector Overview appears.

  2. Locate the connector by name that you added, or modified, or that you want to test.

  3. Click Test at the right side of that row. The test runs immediately.

    Note that you may run only one test at a time.

Stellar Cyber conducts a basic connectivity test for the connector and reports a success or failure result. A successful test indicates that you entered all of the connector information correctly.

To aid troubleshooting your connector, the dialog remains open until you explicitly close it by using the X button. If the test fails, you can select the  button from the same row to review and correct issues.

The connector status is updated every five (5) minutes. A successful test clears the connector status, but if issues persist, the status reverts to failed after a minute.

Repeat the test as needed.

ClosedDisplay sample messages...

Success !

Failure with summary of issue:

Show More example detail:

If the test fails, the common HTTP status error codes are as follows:

HTTP Error Code HTTP Standard Error Name Explanation Recommendation
400 Bad Request This error occurs when there is an error in the connector configuration.

Did you configure the connector correctly?

401 Unauthorized

This error occurs when an authentication credential is invalid or when a user does not have sufficient privileges to access a specific API.

Did you enter your credentials correctly?

Are your credentials expired?

Are your credentials entitled or licensed for that specific resource?

403 Forbidden This error occurs when the permission or scope is not correct in a valid credential.

Did you enter your credentials correctly?

Do you have the required role or permissions for that credential?

404 Not Found This error occurs when a URL path does not resolve to an entity. Did you enter your API URL correctly?
429 Too Many Requests

This error occurs when the API server receives too much traffic or if a user’s license or entitlement quota is exceeded.

The server or user license/quota will eventually recover. The connector will periodically retry the query.

If this occurs unexpectedly or too often, work with your API provider to investigate the server limits, user licensing, or quotas.

For a full list of codes, refer to HTTP response status codes.

An error displays If you use an email address that doesn't have privileges to add the connector, or if you created the service account but it is not yet authorized.

Verifying Ingestion

To verify ingestion:

  1. Click Investigate | Threat Hunting. The Interflow Search tab appears.

  2. Change the Indices to Linux Events or AWS Events. The table immediately updates to show ingested Interflow records.