What you provide
You normally need only:- The Azure Blob container URL, optionally including a blob prefix.
- The Fastino project name or ID.
- Whether the imported data is for
trainingorevaluation.
Before you start
-
Connect your coding agent to your team’s Fastino MCP endpoint:
-
Authenticate Azure CLI to the directory and subscription that own the storage
account:
- Confirm your Azure identity can assign roles on the container. Azure roles such as Owner or User Access Administrator normally provide this.
Azure subscription roles and Microsoft Entra directory roles are separate. A
subscription owner can grant Blob RBAC but might not be allowed to approve a
new enterprise application in the directory.
Ask your agent
Give the agent the container URL rather than every Azure resource field:What the agent does
1
Discover the source
The agent uses Azure CLI to resolve the storage account’s tenant,
subscription, and resource group. Azure storage account names are globally
unique, so the container URL is sufficient for discovery. The agent verifies
these values from the storage account’s Azure metadata rather than your
active CLI subscription. If it cannot verify them, it stops and tells you
what is missing instead of guessing.
2
Create the project connector
Fastino stores the Azure resource coordinates, selected prefix, dataset name,
and dataset purpose. It never asks for an account key, SAS token, client
secret, or customer certificate.
3
Provision the Fastino identity
If Fastino’s enterprise application already exists in the storage tenant,
no new consent is needed. Otherwise, someone in that tenant must open the
Microsoft consent URL returned by the agent in a browser. The agent cannot
approve this step on your behalf; tenant policy determines whether a user
or an Entra administrator can approve it.
4
Grant least-privilege access
Fastino obtains its tenant-local service-principal object ID from its own
Azure token. The agent then assigns Storage Blob Data Reader at the
container scope. This avoids Microsoft Graph directory-read access and does
not grant access to other containers.
5
Test and sync
The agent tests list-only access, queues an immutable snapshot, and polls the
sync until it succeeds or returns an actionable error.
Sync results
A sync converts and validates the files under the selected prefix before it publishes datasets. A succeeded sync lists its datasets in the sync report.- If a file fails validation, the sync fails and publishes no dataset. The report lists the files to review. The agent relays those failures and asks before excluding files or changing the prefix.
- If document conversion hits a rate limit, the report is marked
partial(the listed datasets are usable, some files are missing) ortransient(nothing new was published) and listsretryable_files. Ask the agent to sync again without retesting or changing the prefix. - A sync is optional when you delegate a fine-tune through Fastino MCP. After you approve the plan, the fine-tune agent can inspect and preprocess the raw files in the connected container.
Microsoft consent
When connecting the first container in an Azure tenant, someone in that tenant must open the returnedsetup.consent_url in a browser to create Fastino’s
enterprise application. This is a one-time operation per tenant, not per
container. If the application already exists, no new consent is needed.
- A signed-in user can approve only if the tenant permits user consent to this application. Some tenants restrict consent to external applications without a verified publisher, so do not assume a regular user can approve it.
- If user consent is blocked, give the returned
setup.admin_consent_urlto an Entra Cloud Application Administrator or Global Administrator for one-time approval. - Subscription ownership does not override the tenant’s Entra consent policy.
Security model
- Fastino authenticates with its own certificate-backed, multi-tenant Entra application.
- The certificate stays in Fastino’s secret store and is never shared with the customer or coding agent.
- Customer storage credentials, SAS tokens, and account keys are not accepted.
- Runtime access is read-only and scoped to the selected container.
- Deleting a connector revokes future syncs but does not delete datasets already published to the Fastino project.
Troubleshooting
Azure RBAC changes can take several minutes to propagate. The agent should retry
the test before creating another connector.

