Secure Direct Access
Elementum provides secure, in-place data access to your BigQuery datasets:Authentication
In-Place Access
How It Works
Google Cloud Side
Elementum Side
Direct Connect Architecture
This connection allows for read/write access and the ability to execute workflows on your data:- Your Organization
- Elementum Platform
- Contains your data (datasets, tables, views)
- Grants access to Elementum Service Account with appropriate IAM roles
- Network policies can restrict access to known Elementum Platform IP addresses
Security Architecture
Data Encryption
- Service Account JSON encrypted using industry-standard algorithms
- Credentials encrypted and never returned outside internal system
- All traffic encrypted using TLS
- Secure connection via BigQuery API
Access Control
- VPC Service Controls support
- Authorized networks configuration
- Service Account with JSON key
- IAM-based role permissions
Whitelist Elementum IP Addresses (Optional)
If you use VPC Service Controls or authorized networks, configure them to allow connections from these IP addresses:- US Region
- Europe Region
Setting up Elementum Access in Google Cloud
Prerequisites
Before starting the setup:- Ensure you have Project Owner or IAM Admin access in Google Cloud
- Have the BigQuery API enabled in your project
- Identify which datasets and tables need Elementum access
- Plan your access level (read-only vs read/write)
Setup Steps Overview
Create Service Account
Create Platform Dataset
Grant IAM Roles
Generate JSON Key
Run These Steps in Google Cloud Console
Create Service Account
- Click Create Service Account
- Service account name:
elementum-cloudlink - Service account ID:
elementum-cloudlink(auto-generated) - Description:
Service account for Elementum CloudLink integration - Click Create and Continue
Create Platform Dataset for Elementum
- Select your project
- Click Create Dataset
- Dataset ID:
elementum_platform - Data location: Same region as your data (e.g.,
US,EU) - Click Create Dataset
Grant Service Account Access to Platform Dataset
- Click on the
elementum_platformdataset - Click Sharing > Permissions
- Click Add Principal
- Principal:
elementum-cloudlink@YOUR_PROJECT.iam.gserviceaccount.com - Role:
BigQuery Data Owner - Click Save
Grant BigQuery Job User Role
- Go to IAM & Admin > IAM
- Find the
elementum-cloudlinkservice account - Click Edit (pencil icon)
- Click Add Another Role
- Select BigQuery Job User
- Click Save
Grant Access to Your Data Datasets
- Read/Write Access
- Read-Only Access
- Table-Level Access
- Navigate to your data dataset in BigQuery
- Click Sharing > Permissions
- Click Add Principal
- Principal:
elementum-cloudlink@YOUR_PROJECT.iam.gserviceaccount.com - Role:
BigQuery Data Editor - Click Save
Generate Service Account JSON Key
- Go to IAM & Admin > Service Accounts
- Click on
elementum-cloudlinkservice account - Go to Keys tab
- Click Add Key > Create New Key
- Select JSON format
- Click Create
- Save the downloaded JSON file securely
Configuring CloudLink in Elementum
After completing the Google Cloud setup, configure the connection in Elementum:Navigate to CloudLink Settings
Enter Connection Details
Configure Resource Scheduler
Test and Save
- Validates Service Account JSON format
- Tests authentication with BigQuery API
- Verifies dataset access
Configure Data Access
- Select Datasets: Choose which datasets to expose in Elementum
- Select Tables: Pick specific tables from each dataset
- Configure Field Mapping: Map columns to Elementum field types
- Set Primary Key: Identify the unique identifier column for each table
Verification and Testing
After completing the setup, verify everything is working correctly:Test Service Account Access
- Go to IAM & Admin > IAM
- Find
elementum-cloudlinkservice account - Verify it has:
BigQuery Job Userat project levelBigQuery Data Owneronelementum_platformdatasetBigQuery Data ViewerorBigQuery Data Editoron your data datasets
Test Query Access
Test in Elementum
- Verify the connection shows as Connected in CloudLink settings
- Browse to the integrated table in Elementum
- Verify data loads correctly
- Test creating/updating a record (if write access was granted)
Troubleshooting
Connection Issues
Connection Issues
- Verify the Service Account JSON is complete and correctly formatted
- Confirm the project ID matches your GCP project
- Check that BigQuery API is enabled in the project
- Verify VPC Service Controls aren’t blocking access (if applicable)
- Ensure
BigQuery Job Userrole is granted at project level - Verify the service account email is correct in IAM policies
Cannot See Data Tables
Cannot See Data Tables
- Most common cause: You entered your data dataset in the Dataset ID field instead of the platform dataset
- Verify IAM roles are granted on the correct datasets
- Check that the service account has
BigQuery Data ViewerorBigQuery Data Editoron your data datasets - Confirm tables exist in the specified datasets
Permission Errors
Permission Errors
- Verify dataset-level permissions are granted
- Check that the service account has access to the specific table
- Ensure the Location in Elementum matches the dataset location
- Grant
BigQuery Job Userrole at the project level - This role is required to execute any queries
Performance Issues
Performance Issues
- Consider using partitioned tables for large datasets
- Review and optimize query patterns
- Check BigQuery slot availability
- Consider reserved slots for consistent performance
- Increase sync interval to reduce query frequency
- Use table partitioning and clustering
- Consider using BigQuery BI Engine for frequently accessed data
Security Best Practices
Principle of Least Privilege
- Grant only necessary IAM roles to the service account
- Use
BigQuery Data Viewerwhen write access isn’t required - Grant access at dataset level, not project level
- Regularly audit IAM policies
Network Security
- Consider VPC Service Controls for sensitive data
- Use authorized networks if applicable
- Monitor BigQuery audit logs
- Set up alerts for unusual access patterns
Key Management
- Rotate service account keys periodically (recommended: every 90 days)
- Store keys securely (use Secret Manager in production)
- Delete unused keys
- Consider workload identity federation for enhanced security
Monitoring
- Enable BigQuery audit logs
- Monitor query costs and usage
- Set up billing alerts
- Review access patterns via Cloud Logging
Next Steps
Configure Apps
Create Automations
Setup AI Features
Data Best Practices
Additional Resources
CloudLink Overview
BigQuery Documentation
IAM Best Practices
Get Support
This guide reflects the latest BigQuery and Elementum best practices. For additional assistance, contact support@elementum.io.