×AuthenticationFailed — x-ms-version header is empty

Give Salesforce users secure access to Azure Files — without sharing a token.

We design and implement the broker layer that gates every file open with real SSO and per-record authorization, so nobody ever hands out a reusable link again.

Salesforce
record link clicked
Broker
Entra ID · per-record check
Access granted
Built for teams running
Azure Files Salesforce Entra ID Azure Functions Private Endpoints
The gap

Storage RBAC and web SSO don't meet here

Azure Files supports identity-based auth for SMB mounts, and OAuth-over-REST for tools like AzCopy — but nothing that maps one Salesforce user to one file, enforced the moment they click a link.

×
Plain URL

A raw file link just returns an auth error. Browsers can't attach the headers Azure's REST API requires — there's no page to redirect to, no prompt to answer.

×
Long-lived SAS

Works, but it's one shared secret standing in for every user. No per-person audit trail, no revocation without breaking everyone, and a real credential if it leaks.

×
FileREST OAuth

Grants admin-level access that bypasses directory and file ACLs, unless you've separately built out SMB-based identity ACLs most orgs never touch.

×
SMB + Entra Kerberos

Real per-user RBAC — but only for domain-joined machines mounting a network drive. Irrelevant to anyone clicking a link from inside Salesforce.

The pattern

A broker your files never leave without a decision

The user's browser only ever talks to a small authorization service. It holds its own credential to Azure Files, checks who's asking and what they're allowed to see, then streams the file back — or it doesn't.

Salesforce record link Broker checks who, checks what Entra ID who is asking Records table what they can see Azure Files managed identity click verify authorize fetch, if permitted
Nothing left of the broker ever holds a storage credential. Nothing right of it ever sees a Salesforce session.
How we work

Three stages, your environment

We implement this directly inside your Azure subscription and Salesforce org — nothing shared, nothing multi-tenant. You own the Function, the resource group, and the code when we're done.

01

Discovery

We map your Salesforce object model to your Files layout, confirm your Entra tenant and SSO setup, and settle the authorization rule.

1–2 weeks
02

Design & build

We stand up the broker Function, wire Easy Auth, provision managed identity access, and build the authorization logic — plus staging before production.

3–5 weeks
03

Handoff & support

Documentation, a walkthrough with your team, and a defined support window while your engineers take over.

2 weeks + support
Is this you

Built for a specific setup

This is a narrow, technical engagement. It's a strong fit for some teams and the wrong tool for others.

Good fit

  • Files already live in Azure Files, and moving them isn't on the table
  • Salesforce is the front door your users click through
  • You need per-user access decisions, not one shared link
  • Your team can own an Azure Function after we leave

Not a fit

  • You're open to moving files to Blob Storage instead — simpler RBAC, may need no broker at all
  • You want a managed, ongoing service rather than an owned implementation
  • There's no real per-user authorization rule to enforce
Scope & pricing

Fixed scope, not a retainer

Three engagement sizes, based on how many file types and authorization rules you need. Every tier ends the same way: your team holding a working, documented broker.

Single flow
One object, one rule

One Salesforce object type maps to one file location, with a single authorization rule (e.g. "owner or their manager").

  • Broker Function, Easy Auth, managed identity
  • Discovery through handoff
  • Architecture & runbook docs
Get a quote
Private network
Locked-down storage

Your Azure Files share sits behind a private endpoint with no public access — the broker needs its own VNet integration to reach it.

  • Everything in Multi-object
  • VNet integration & private endpoint routing
  • Network topology review with your team
Get a quote
Questions

Before you ask

Why not just use Blob Storage instead of Azure Files?
Often you should — Blob Storage has real per-container RBAC and User Delegation SAS, which is a simpler path if you can move the files. We'll tell you this in discovery if it applies. This engagement exists for the common case where the files are already in Azure Files for reasons outside your control — an existing SMB workflow, a vendor pipeline, or a migration in progress.
Does this replace our Salesforce admin's work?
No — we integrate with your existing Salesforce setup (Named Credentials, Apex callouts, or a simple link field) rather than replacing it. Your Salesforce team stays in control of the object model and sharing rules; we build the Azure-side broker that enforces them at the file layer.
What happens if we need changes after handoff?
Everything is delivered as documented, version-controlled code in a repo you own, with a runbook covering the authorization logic and deployment pipeline. Most teams handle changes themselves after the support window. If you'd rather not, we're available for scoped follow-on work — but there's no ongoing retainer requirement.
Can this work with authentication systems other than Entra ID?
The pattern generalizes — any identity provider that can hand the broker a verifiable identity token works. Entra ID is the common case because it's usually already backing both Azure and Salesforce SSO, but we've scoped variants for other providers during discovery.

Tell us how your files and your SSO don't currently agree.

Response within 1 business day

or email us directly at info@gateandrelay.com