Prerequisites
- GCP Organization Admin or Project Owner role to grant IAM roles to the connector service account
- Google Workspace Super Admin role to configure domain-wide delegation
Integration Approaches
Oleria supports two integration scopes. Follow the one most appropriate for your organization.- Organization (Recommended) - Oleria sees all projects, folders, and resources across your entire GCP org, including org-level IAM policies and cross-project bindings. Recommended for full visibility.
- Project - Oleria is scoped to IAM bindings, resources, and storage within a single project only. Use this if you don’t have org-level access or only want to connect a specific project.
Integrate GCP Organization
Create a Connector Service Account
-
Log in to the Google Cloud Console and navigate to IAM & Admin → Service Accounts.

-
Select Create Service Account. Provide a name such as
oleria-connectorand select Create and Continue.
- Skip the optional role grant and user access steps. Select Done.
Enable Required GCP APIs
- In the Google Cloud Console, select the project that owns the connector service account from the resource picker.
- Navigate to APIs & Services → Enabled APIs & services → Enable APIs and Services.
-
Search for and enable each of the following:
- Cloud Resource Manager API
- Identity and Access Management (IAM) API
- Cloud Asset API
- Cloud Identity API
- Admin SDK API
- Cloud Storage API
- Cloud Logging API
- Secret Manager API
YOUR_PROJECT_ID is the project that owns the connector service account. For Cloud Resource Manager, IAM, Cloud Asset, Cloud Identity, Admin SDK, Cloud Storage, and Cloud Logging, enabling the API on this single host project is sufficient - the connector calls these APIs on behalf of resources across the whole organization. Secret Manager is the exception; see below.Grant IAM Roles at the Organization Level
-
In the Google Cloud Console, click the project selector at the top of the page and select your Organization from the resource picker.

-
Navigate to IAM & Admin → IAM and select Grant Access.

- Enter the connector service account email and assign the following roles:
roles/cloudasset.viewer lets the connector use Cloud Asset Inventory to scan IAM policy bindings and service account inventory across the organization in bulk, rather than resource by resource. Sync fails without it. roles/logging.viewer is required for activity sync via Cloud Audit Logs. roles/secretmanager.viewer grants 11 permissions in total; of those, Oleria’s connector relies on three - secretmanager.secrets.list, secretmanager.secrets.getIamPolicy, and secretmanager.versions.get. Oleria never reads secret values, so roles/secretmanager.secretAccessor (which grants secretmanager.versions.access) is intentionally NOT required.Enable Security Command Center for Risk Monitoring (Optional)
- Enable the Security Command Center API (
securitycenter.googleapis.com) in the host project. - Grant the connector service account
roles/securitycenter.findingsViewerat the organization level. - Confirm SCC itself is activated for your organization. This is separate from enabling the API: go to Security Command Center in the Cloud Console and select your organization. If a findings dashboard loads, SCC is active. If you see an activation prompt instead, an Organization Administrator or Security Center Admin needs to activate a tier (Standard is free) before Oleria can surface findings.
Generate a Service Account Key
- In IAM & Admin → Service Accounts, select the service account you created in the first step.
-
Navigate to the Keys tab and select Add Key → Create new key.

-
Select JSON format and select Create. The key file will be downloaded to your machine. Keep this file secure - you will provide it to Oleria in the final step.

Configure Domain-Wide Delegation in Google Workspace
-
Log in to the Google Workspace Admin Console and navigate to Security → Access and data control → API controls. Under Domain-wide delegation, select Manage Domain Wide Delegation.

- Select Add new.
- Provide the Client ID of the service account (found under IAM & Admin → Service Accounts → select the SA → Details tab → Unique ID) and add the following OAuth scopes:

- Select Authorize.
Set Up Audit Log Export for Activity Sync
YOUR_AUDIT_BUCKET throughout this step.- In the Cloud Console, confirm your Organization is selected in the resource picker at the top of the page.
-
Navigate to Cloud Storage → Buckets and select Create. Provide a globally unique bucket name (this will be your
YOUR_AUDIT_BUCKET), choose a location, and accept the defaults for the remaining settings. Select Create. -
Navigate to Logging → Log Router. The fastest way is to type
log routerin the GCP search bar at the top of the page and select Log Router (listed as Product page - Logging) from the results.
-
On the Log Router Sinks page, confirm the resource scope shows your Organization, then select Create Sink at the top of the page.

-
The Create logs routing sink wizard opens with four steps. Complete them as follows:

audit-log-sink as the Sink name. Optionally add a description. Select Next.Sink destination: From the Select sink service dropdown, choose Cloud Storage bucket and select your bucket. GCP will automatically switch the service type to Other resource and populate the Sink destination field with storage.googleapis.com/YOUR_AUDIT_BUCKET - this is expected behavior at the organization level. Select Next.


-
After the sink is created, open it from the Log Router Sinks list and copy the Writer Identity service account email (e.g.
serviceAccount:p123456789-xxxxxx@gcp-sa-logging.iam.gserviceaccount.com). You will use this address in the next step. -
Navigate to Cloud Storage → Buckets, select your audit log bucket, open the Permissions tab, and select Grant Access. Add the following two principals, then select Save:
- Sink writer: In the New principals field, paste the Writer Identity email you copied. In the Role dropdown, search for and select Storage Object Creator.
- Oleria connector: In the New principals field, enter
oleria-connector@YOUR_PROJECT_ID.iam.gserviceaccount.com. In the Role dropdown, search for and select Storage Object Viewer.

- Create a GCS bucket to receive audit logs:
- Create a Log Sink that exports organization-wide audit logs to the bucket:
- Grant the sink’s writer service account write access to the bucket:
- Grant the connector service account read access to the bucket:
Connect GCP Organization to Oleria
-
Log in to your Oleria workspace, select Integrations → select Google Cloud Platform. A side panel opens. Select Organization (Recommended) from the Connector Scope dropdown.

- Provide the following and select Authenticate:
- Organization ID - your numeric GCP Organization ID (e.g.
123456789012). Found under IAM & Admin → Settings in the Cloud Console. - Workspace Delegate Email - email address of the Google Workspace admin whose permissions will be used to enumerate users and groups
- Service Account Credentials - paste the full contents of the JSON key file downloaded above
- Find the newly integrated GCP Organization in your Oleria workspace connected integrations.
Integrate GCP Project
Create a Connector Service Account
-
Log in to the Google Cloud Console, select the target project, and navigate to IAM & Admin → Service Accounts.

-
Select Create Service Account. Provide a name such as
oleria-connectorand select Create and Continue.
- Skip the optional role grant and user access steps. Select Done.
Enable Required GCP APIs
- In the Google Cloud Console, select the project that owns the connector service account from the resource picker.
- Navigate to APIs & Services → Enabled APIs & services → Enable APIs and Services.
-
Search for and enable each of the following:
- Cloud Resource Manager API
- Identity and Access Management (IAM) API
- Cloud Asset API
- Cloud Identity API
- Admin SDK API
- Cloud Storage API
- Cloud Logging API
- Secret Manager API
YOUR_PROJECT_ID is the project that owns the connector service account, which is also the target project for this integration.Grant IAM Roles at the Project Level
-
In the Google Cloud Console, navigate to IAM & Admin → IAM for the target project and select Grant Access.

- Enter the connector service account email and assign the following roles:
roles/cloudasset.viewer lets the connector use Cloud Asset Inventory to scan IAM policy bindings and service account inventory across the project in bulk, rather than resource by resource. Sync fails without it. roles/logging.viewer is required for activity sync via Cloud Audit Logs. roles/secretmanager.viewer grants 11 permissions in total; of those, Oleria’s connector relies on three - secretmanager.secrets.list, secretmanager.secrets.getIamPolicy, and secretmanager.versions.get. Oleria never reads secret values, so roles/secretmanager.secretAccessor (which grants secretmanager.versions.access) is intentionally NOT required.Enable Security Command Center for Risk Monitoring (Optional)
- Enable the Security Command Center API (
securitycenter.googleapis.com) in the host project. - Grant the connector service account
roles/securitycenter.findingsViewerat the project level. - Confirm SCC itself is activated for this project. This is separate from enabling the API: go to Security Command Center in the Cloud Console and select the project. If a findings dashboard loads, SCC is active. If you see an activation prompt instead, a Security Center Admin needs to activate a tier (Standard is free) for the project before Oleria can surface findings.
Generate a Service Account Key
- In IAM & Admin → Service Accounts, select the service account you created in the first step.
-
Navigate to the Keys tab and select Add Key → Create new key.

-
Select JSON format and select Create. The key file will be downloaded to your machine. Keep this file secure - you will provide it to Oleria in the final step.

Configure Domain-Wide Delegation in Google Workspace
-
Log in to the Google Workspace Admin Console and navigate to Security → Access and data control → API controls. Under Domain-wide delegation, select Manage Domain Wide Delegation.

- Select Add new.
- Provide the Client ID of the service account (found under IAM & Admin → Service Accounts → select the SA → Details tab → Unique ID) and add the following OAuth scopes:

- Select Authorize.
Set Up Audit Log Export for Activity Sync
YOUR_AUDIT_BUCKET throughout this step.- In the Cloud Console, confirm the target Project is selected in the resource picker at the top of the page.
-
Navigate to Cloud Storage → Buckets and select Create. Provide a globally unique bucket name (this will be your
YOUR_AUDIT_BUCKET), choose a location, and accept the defaults for the remaining settings. Select Create. -
Navigate to Logging → Log Router. The fastest way is to type
log routerin the GCP search bar at the top of the page and select Log Router (listed as Product page - Logging) from the results.
-
On the Log Router Sinks page, confirm the resource scope shows your target Project, then select Create Sink at the top of the page.

-
The Create logs routing sink wizard opens with four steps. Complete them as follows:

audit-log-sink as the Sink name. Optionally add a description. Select Next.Sink destination: From the Select sink service dropdown, choose Cloud Storage bucket. Select your bucket from the browser, or type the destination directly as storage.googleapis.com/YOUR_AUDIT_BUCKET. Select Next.

-
After the sink is created, open it from the Log Router Sinks list and copy the Writer Identity service account email (e.g.
serviceAccount:p123456789-xxxxxx@gcp-sa-logging.iam.gserviceaccount.com). You will use this address in the next step. -
Navigate to Cloud Storage → Buckets, select your audit log bucket, open the Permissions tab, and select Grant Access. Add the following two principals, then select Save:
- Sink writer: In the New principals field, paste the Writer Identity email you copied. In the Role dropdown, search for and select Storage Object Creator.
- Oleria connector: In the New principals field, enter
oleria-connector@YOUR_PROJECT_ID.iam.gserviceaccount.com. In the Role dropdown, search for and select Storage Object Viewer.

- Create a GCS bucket to receive audit logs:
- Create a Log Sink that exports project-level audit logs to the bucket:
- Grant the sink’s writer service account write access to the bucket:
- Grant the connector service account read access to the bucket:
Connect GCP Project to Oleria
-
Log in to your Oleria workspace, select Integrations → select Google Cloud Platform. A side panel opens. Select Project from the Connector Scope dropdown.

- Provide the following and select Authenticate:
- Project ID - your GCP Project ID (e.g.
my-project). Found in the Cloud Console project selector at the top of the page. - Workspace Delegate Email - email address of the Google Workspace admin whose permissions will be used to enumerate users and groups
- Service Account Credentials - paste the full contents of the JSON key file downloaded above
- Find the newly integrated GCP Project in your Oleria workspace connected integrations.
Enable Remediations (Optional)
Remediations allow Oleria to take automated or one-click corrective actions - such as revoking an IAM binding, removing a group member, or disabling a service account - directly from the Oleria workspace. To allow Oleria to take remediation actions in your GCP environment, grant the connector service account the following additional roles:- To revoke an IAM binding at the project level, grant
roles/resourcemanager.projectIamAdminon the project. - To revoke an IAM binding at the organization level, grant
roles/resourcemanager.organizationIamAdminon the organization. - To remove a member from a Cloud Identity group, grant
roles/cloudidentity.groups.editor. - To disable a service account, grant
roles/iam.serviceAccountAdminon the project that owns the service account.

