Inside DigitalOcean’s SOX Compliance Playbook

ConductorOne docs

Set up a Google Cloud Platform connector

ConductorOne provides identity governance and just-in-time provisioning for Google Cloud Platform. Integrate your Google Cloud Platform instance with ConductorOne to run user access reviews (UARs), enable just-in-time access requests, and automatically provision and deprovision access.

Capabilities

ResourceSyncProvision
Accounts
Projects
Roles

The GCP connector does not sync roles that do not have any grants. As each GCP project contains roughly 1,000 roles by default, removing empty roles from the sync significantly improves the performance of the connector and the usability of the entitlement data it pulls into ConductorOne. If you want to include an empty GCP role in your access review, assign a service account to the role before creating the campaign.

Available hosting methods

Choose the hosting method that best suits your needs:

MethodAvailabilityNotes
Cloud hostedA built-in, no-code connector hosted by ConductorOne.
Self-hostedA connector hosted and run in your own environment.

Gather Google Cloud Platform credentials

Each setup method requires you to pass in credentials generated in Google Cloud Platform. Gather these credentials before you move on.

A user with the permission to make a service account in Google Cloud Platform must perform this task.

Create a new project

  1. In the Google Cloud console, click the project select dropdown, then click NEW PROJECT.

  2. Create a new project for your organization:

    • Project Name: Choose a name such as “ConductorOne Integration”
    • Organization/Location: Choose any organization and location

After the project is created, make sure the correct project is selected in the dropdown at the top.

Enable APIs

  1. In the navigation menu, navigate to > APIs & Services > Library.

  2. Search for and select the following APIs:

    • Identity and Access Management (IAM) API
    • Cloud Resource Manager API
    • Cloud Asset API
    • Admin SDK API
  3. Click Enable.

Create a service account

  1. In the navigation menu, navigate to > APIs & Services > Credentials.

  2. Select CREATE CREDENTIALS > Service Account.

  3. Under Service account details, fill in the following:

    • Service account name: ConductorOne Integration
    • Service account description: for example, “Service account for ConductorOne Google Cloud Platform Integration”
  4. Click CREATE AND CONTINUE.

  5. Under Grant this service account access to a project, grant the appropriate permission level:

    • Viewer to run access reviews on your Google Cloud Platform users
    • Editor to provision access via ConductorOne and run access reviews

    Alternatively, you can create and assign a custom role:

    You’ll need these permissions if you are NOT using the Google Cloud Platform (with Google Workspace) integration for provisioning:

    cloudasset.assets.analyzeIamPolicy
    cloudasset.assets.searchAllIamPolicies
    cloudasset.assets.searchAllResources
    iam.roles.get
    resourcemanager.folders.getIamPolicy
    resourcemanager.folders.list
    resourcemanager.organizations.get
    resourcemanager.organizations.getIamPolicy
    resourcemanager.projects.get
    resourcemanager.projects.getIamPolicy
    resourcemanager.projects.list
    

    You’ll need these permissions if you are using the Google Cloud Platform (with Google Workspace) integration for provisioning Groups and Roles:

    cloudasset.assets.analyzeIamPolicy
    cloudasset.assets.searchAllIamPolicies
    cloudasset.assets.searchAllResources
    iam.roles.get
    resourcemanager.folders.getIamPolicy
    resourcemanager.folders.list
    resourcemanager.folders.setIamPolicy
    resourcemanager.organizations.get
    resourcemanager.organizations.getIamPolicy
    resourcemanager.projects.get
    resourcemanager.projects.getIamPolicy
    resourcemanager.projects.list
    resourcemanager.projects.setIamPolicy
    
  6. Leave Grant users access to this service account blank.

  7. Click DONE.

Before moving on, carefully copy and save the service account ID that Google generated for the service account.

Grant your service account access to your organization

  1. Navigate to your organization by selecting your organization from the dropdown.

  2. Navigate to the IAM tab from the left nav and click ADD button located at the top of the page.

  3. For the principal, use the service account ID for the service account you created earlier.

  4. Select the appropriate roles:

    • Organization Viewer and Viewer to run access reviews on your Google Cloud Platform users
    • Organization Administrator and Editor to provision access via ConductorOne and run access reviews
  5. Click Save.

Next, we’ll return to the ConductorOne Integration project you created earlier to generate the necessary credentials.

Get credentials

  1. Navigate back to APIs & Services > Credentials and select the service account you just created.

  2. Click the service account’s email address.

  3. On the Service Account Details Page, click KEYS.

  4. Click ADD KEY > Create new key.

  5. Choose JSON and click CREATE. The new key is created and downloaded to your computer.

  6. Keep the downloaded file safe, you’ll use it to set up the connector.

That’s it! Next, move on to the instructions for your chosen setup method.

Set up a Google Cloud Platform cloud-hosted connector

To complete this task, you’ll need:

  • The Connector Administrator or Super Administrator role in ConductorOne
  • Access to the set of Google Cloud Platform credentials generated by following the instructions above
  1. In ConductorOne, click Connectors > Add connector.

  2. Search for Google Cloud Platform and click Add.

  3. Choose how to set up the new Google Cloud Platform connector:

    • Add the connector to a currently unmanaged app (select from the list of apps that were discovered in your identity, SSO, or federation provider that aren’t yet managed with ConductorOne)

    • Add the connector to a managed app (select from the list of existing managed apps)

    • Create a new managed app

  4. Set the owner for this connector. You can manage the connector yourself, or choose someone else from the list of ConductorOne users. Setting multiple owners is allowed.

    If you choose someone else, ConductorOne will notify the new connector owner by email that their help is needed to complete the setup process.

  5. Click Next.

  6. Find the Settings area of the page and click Edit.

  7. Upload the JSON file in the Credentials (JSON) field.

  8. Click Save.

  9. The connector’s label changes to Syncing, followed by Connected. You can view the logs to ensure that information is syncing.

That’s it! Your Google Cloud Platform connector is now pulling access data into ConductorOne.

Set up a Google Cloud Platform cloud-hosted connector using Terraform

As an alternative to the cloud-hosted setup process described above, you can use Terraform to configure the integration between Google Cloud Platform and ConductorOne.

See the ConductorOne Google Cloud Platform integration resource page in the ConductorOne Terraform registry for example usage and the full list of required and optional parameters.