Configure Connectors
Connect Aurora to your cloud providers using provider-specific authentication methods. Each provider has unique configuration requirements.Google Cloud Platform (GCP)
POST /gcp/login
Initiate GCP OAuth 2.0 authentication flow. Request Body:Aurora user identifier
OAuth authorization URL to redirect user to
OAuth Flow
- Frontend calls
/gcp/loginwith userId - Backend returns OAuth URL with encoded state
- User redirects to Google consent screen
- Google redirects to
/gcp/callbackwith code - Backend exchanges code for tokens
- Backend triggers post-auth setup (async)
- Frontend polls
/gcp/setup/status/:task_id
GET /gcp/setup/status/:task_id
Check post-authentication setup progress. Response:Task state:
PENDING, STARTED, PROGRESS, SUCCESS, FAILUREHuman-readable status message
Whether setup is complete
Progress percentage (0-100)
Current step number
Total number of setup steps
POST /api/gcp/force-disconnect
Disconnect GCP account and delete credentials. Authentication: Required (X-User-ID header) Response:Amazon Web Services (AWS)
POST /aws/auth
Connect AWS account using IAM role assumption. Authentication: Required (X-User-ID header) Request Body:Aurora user identifier
IAM role ARN to assumeFormat:
arn:aws:iam::ACCOUNT_ID:role/ROLE_NAMEExternal ID for secure role assumption (from Aurora workspace)
Read-only role ARN for Ask mode (optional)
Status:
success or errorResult message
AWS account ID
Credential expiration timestamp
IAM Role Setup
Create an IAM role in your AWS account with:- Trust Policy allowing Aurora to assume the role:
- Permissions for infrastructure management (EC2, EKS, VPC, IAM, etc.)
GET /aws/get-credentials
Retrieve stored AWS credentials. Response:Microsoft Azure
POST /azure/login
Connect Azure using service principal credentials. Request Body:Aurora user identifier
Azure tenant ID (Directory ID)
Service principal application (client) ID
Service principal client secret
Specific subscription ID (uses first enabled if not provided)
Subscription display name
Service Principal Setup
- Create app registration in Azure Active Directory
- Generate client secret
- Assign permissions to subscription (Contributor or custom role)
- Note tenant ID, client ID, and client secret
Scaleway
POST /scaleway_api/scaleway/connect
Connect Scaleway account with API credentials. Request Body:Scaleway access key (starts with SCW)
Scaleway secret key (UUID format)
Organization ID (auto-detected if not provided)
Default project ID (uses first project if not provided)
GET /scaleway_api/scaleway/projects
Fetch available Scaleway projects. Response:POST /scaleway_api/scaleway/disconnect
Disconnect Scaleway account. Response:Tailscale
POST /tailscale_api/tailscale/connect
Connect Tailscale account using OAuth client credentials. Request Body:Tailscale OAuth client ID
Tailscale OAuth client secret
Specific tailnet name (uses default if not provided)
OAuth Client Setup
- Go to Tailscale admin console
- Navigate to Settings → OAuth clients
- Create new OAuth client
- Set appropriate permissions (devices:read, devices:write, etc.)
- Copy client ID and secret
GET /tailscale_api/tailscale/ssh-setup
Get SSH setup instructions and public key. Response:POST /tailscale_api/tailscale/disconnect
Disconnect Tailscale account. Response:Security Considerations
Credential Storage
All credentials are stored securely:- HashiCorp Vault - Credentials encrypted at rest
- Secret References - Only references stored in database
- Redis Cache - Credentials cached with TTL
- Automatic Cleanup - Credentials cleared on disconnect
Authentication Validation
Credentials are validated:- On Connect - API calls verify access
- On Use - Credentials refreshed if expired
- Status Checks - Regular validation for active connections
- Error Handling - Invalid credentials trigger reconnection
Best Practices
- Least Privilege - Grant minimum required permissions
- Rotation - Rotate credentials regularly
- Monitoring - Monitor for unauthorized access
- Separation - Use separate credentials for read-only mode
- Expiration - Set credential expiration policies
Multi-Account Support
Connect multiple accounts for the same provider:user_connections table.