GCS Bucket Integration
Use external Google Cloud Storage (GCS) buckets for fine-tuning while keeping your data private. Fireworks creates proxy datasets that reference your external buckets—data is only accessed during fine-tuning within a secure, isolated cluster.Your data never leaves your GCS bucket except during fine-tuning, ensuring maximum privacy and security.
Required Permissions
You need to grant access to three service accounts. Fireworks provides the control plane and inference service account emails during BYOB onboarding. Fireworks Control Plane- Account: Fireworks control plane service account (provided at onboarding)
- Required role: Custom role with
storage.buckets.getIamPolicypermission
- Account: Fireworks inference service account (provided at onboarding)
- Required role: Storage Object Viewer (
roles/storage.objectViewer)
- Account: Your company’s Fireworks account email (get it with
firectl account get) - Required role: Storage Object Viewer (
roles/storage.objectViewer)
GCS access is granted directly to the Fireworks service account emails above rather than through token federation, so there is no token audience to scope to your account the way the S3 trust policy does. Fireworks instead verifies at dataset creation that the bucket grants access to your own Fireworks account, which is what keeps another customer from referencing your bucket.
Usage
AWS S3 Bucket Integration
Use external AWS S3 buckets for fine-tuning while keeping your data private. Fireworks accesses your S3 data using GCP-to-AWS OIDC federation—no long-lived credentials are stored.S3 bucket integration is currently supported for training datasets only (SFT and RFT jobs). Evaluation datasets are not yet supported.
IAM Role Setup
Create an IAM role that Fireworks can assume via web identity federation. You do not need to register an OIDC identity provider —accounts.google.com is a built-in federated principal in AWS STS.
Trust policy on the role, locked to the Fireworks identity and scoped to your account:
sub locks assumption to the Fireworks identity, oaud pins the token’s audience to your Fireworks account so a token issued for any other account is rejected by your own IAM. Contact inquiries@fireworks.ai for the BYOB subject identifier; the audience is your own Fireworks account ID.
Then attach a policy granting s3:GetObject and s3:ListBucket on your bucket.
See the AWS documentation for detailed steps on creating roles for OIDC federation.
Usage
For RFT jobs, use
firectl rftj create with the same --aws-iam-role flag.Alternative: Credentials Secret
Instead of IAM role federation, you can use static AWS access keys stored in a Fireworks secret:Azure Blob Storage Integration
Use external Azure Blob Storage containers for fine-tuning while keeping your data private. Fireworks accesses your Azure data using GCP-to-Azure Workload Identity Federation—no long-lived credentials are stored.Azure Blob Storage integration is currently supported for training datasets only (SFT and RFT jobs). Evaluation datasets are not yet supported.
Federated Identity Setup
Create an App Registration (or user-assigned Managed Identity) in your Azure AD tenant with a federated credential that trusts the Fireworks GCP service account. Fireworks provides the subject identifier during BYOB onboarding.- Issuer:
https://accounts.google.com - Subject identifier:
<FIREWORKS_GCP_SERVICE_ACCOUNT_UNIQUE_ID> - Audience:
api://AzureADTokenExchange
Usage
For RFT jobs, use
firectl rftj create with the same --azure-managed-identity-client-id and --azure-tenant-id flags.Alternative: Credentials Secret
Instead of workload identity federation, you can store Azure credentials in a Fireworks secret. The secret value must be a JSON object containing one of:connection_string, sas_token, or account_key.