- 14 May 2025
- Print
- DarkLight
- PDF
Cross Project Integration
- Updated On 14 May 2025
- Print
- DarkLight
- PDF
Overview
Dataloop allows users with a GCP project to integrate their GCS bucket with the Dataloop platform and create datasets. The GCP Cross Project integration stands as the best choice for GCP due to its significant advantages.
- We recommend selecting Cross-Project as the integration type. It is GCP’s most secure option and provides enhanced protection for your data.
- Organizations can create up to 3 Cross Projects integrations. To increase the number of Cross Projects integrations for your organization, please contact our Customer support team.
The GCP cross-project integration process involves:

1. Create a Cloud Storage Bucket
- Log in to Google Cloud Console.
- From the left portal menu, go to Cloud Storage > Buckets.
- Click Create bucket.
- Enter a Name for the storage bucket, and click Continue.
- In the Choose where to store your data, select a location for the bucket, and click Continue.
- Click Create bucket.
2. Create an IAM Role
- Log in to the Google Cloud Console.
- From the left portal menu, select the IAM & admin > Roles.
- Click +Create Role.
- Enter a role Title.
- (Optional) Enter a Description.
- (Optional) Enter a role ID. By default, the role ID is generated.
- Click +Add Permissions, then search for and add the following permissions:
storage.objects.create
storage.objects.delete
storage.objects.get
storage.objects.list
storage.buckets.get
storage.buckets.getIamPolicy
- The
storage.objects.delete
permission allows the Dataloop platform to delete dataset items. For more information, see the Downstream section. - The
storage.buckets.getIamPolicy
permission allows the Dataloop platform to validate that the integration was created successfully.
- Click Create.
- See Create and manage custom roles for more information on creating an IAM role in GCP.
- To display roles information, you must select a project in the Google Cloud Console. If not available, create a project.
3. Create the GCP Cross Project Integration
You can create only maximum of 3 GCP Cross Project Integrations.
- Log in to the Dataloop platform.
- From the left-side panel, select Integrations.
- Click Create Integration -> Create Storage Integration. A pop-up window is displayed on the right-side.
- Integration Name: Enter a Name for the integration.

- Provider: Choose GCP from the list.
- Integration Type: Select the Cross Project from the list.
- Click Get New Service Account. Copy and add the Service Account ID as a principal in your project, and assign it with the relevant role. Assign a role.

- Or, click Existing Service Account in case you already created one, you can choose from the list of created Service Accounts that have not been assigned to an integration.

- Service Account ID: Copy the Service Accounts ID (Email).
- Resource Name: Follow this steps and enter the resource name.
- Click Create Integration.
4. Grant Permissions to the Dataloop Service Account
To grant Dataloop service account permissions to access the Cloud Storage Bucket:
- Log in to Google Cloud Console.
- From the left portal menu, go to Cloud Storage > Buckets.
- Select the Storage bucket for which you want to add permissions, and then click on it.
- Select the Permissions tab.
- Click Grant access. The Add Principals dialog box appears.
- Under the Add principals, add the Service account ID provided by the Dataloop platform.
- Under the Assign roles, choose custom and choose the role you recently created.
- Click Save. A confirmation message is displayed.
5. Complete the GCP Cross Project Integration
- Log in to the Dataloop platform.
- Under the Resource name, provide the name of the bucket you wish to integrate its data with the Dataloop.
- Click Create Integration. A confirmation message is displayed.
If you receive a permission denied error, even though the user's email is listed in the bucket’s IAM roles, it could be due to a stale or improperly propagated IAM configuration.
✅ Recommended Fix:
- Remove the user’s email from the bucket’s IAM permission list.
- Re-add the same email with the appropriate role (e.g., Storage Object Viewer, Editor).
This action refreshes the IAM policy propagation, ensuring that the access rights take effect properly.
6. Create GCS Storage Drivers
For more information, see the Create a GCS Storage Drivers topic.