OneLake Shortcuts in Microsoft Fabric โ Complete Guide
OneLake shortcuts let every Fabric engine read data stored anywhere โ another workspace, ADLS Gen2, Amazon S3, Google Cloud Storage, or Dataverse โ without copying it into OneLake. This guide covers all six shortcut types, the two-layer security model, write vs read-only behavior per source, shortcut caching to control cross-cloud egress costs, Direct Lake patterns with external storage, Trusted Workspace Access for private ADLS, and the mistakes that silently delete production data.
A OneLake shortcut is a pointer โ a metadata object in OneLake that tells Fabric engines where to read data at query time. No data is copied. Six source types are supported: Internal OneLake (cross-workspace), ADLS Gen2, Amazon S3, Amazon S3-compatible, Google Cloud Storage, and Dataverse. Only internal OneLake and ADLS Gen2 shortcuts support write. S3, GCS, and Dataverse are read-only. Each Fabric item supports up to 100,000 shortcuts. A single OneLake path supports up to 10 shortcuts. Critical safety rule: deleting the shortcut object is safe โ deleting files inside a writable shortcut permanently deletes those files from the source storage.
What Is a OneLake Shortcut?
A OneLake shortcut is an object in OneLake that points to another storage location. Think of it as a symbolic link โ it appears as a folder inside your Lakehouse or Warehouse, but contains no data of its own. When a Spark notebook, SQL analytics endpoint, or Power BI Direct Lake model reads from a shortcut, Fabric fetches directly from the target storage at query time.
This “one copy” principle solves the data sprawl problem that plagues every multi-team data platform. Without shortcuts, Team A copies 10 TB to their lakehouse, Team B copies the same 10 TB for ML, and Team C copies 5 TB of overlapping data for reporting โ 25 TB of redundant storage on top of the 50 TB original. With shortcuts, all three teams point to the same source. Storage stays at 50 TB. Every team reads current data with zero staleness.
| Without Shortcuts | With Shortcuts |
|---|---|
| Copy pipelines required to move data between teams | No pipelines โ teams point to the same source |
| Data is stale until the next pipeline run | Always reads current data from source |
| Multiple copies โ storage cost multiplies | One copy โ zero duplication |
| Schema changes break the copy โ must re-run pipeline | Schema changes automatically reflected at next read |
| Each team manages their own connection credentials | OneLake manages all credentials centrally |
Once a shortcut is created, it is accessible through the standard OneLake API path โ the same path any ADLS Gen2-compatible tool would use to read from OneLake directly. External applications and services can access shortcut data through the OneLake API without knowing the data is physically stored elsewhere.
https://onelake.dfs.fabric.microsoft.com/MyWorkspace/MyLakehouse/Tables/MyShortcut/MyFile.csv
All Six Shortcut Source Types
| Source Type | Read | Write | Authentication | Caching Available |
|---|---|---|---|---|
| Internal OneLake | Yes | Yes | Fabric workspace permissions (Entra ID) | N/A โ same storage |
| Azure Data Lake Storage Gen2 | Yes | Yes | Org account, SAS token, access key, service principal | No |
| Amazon S3 | Yes | No | IAM user access key / secret key | Yes |
| Amazon S3-compatible | Yes | No | Access key / secret key | Yes |
| Google Cloud Storage | Yes | No | GCS service account (HMAC key) | Yes |
| Dataverse | Yes | No | Entra ID (organizational account) | No |
S3-compatible shortcuts cover non-AWS storage services that implement the S3 API โ MinIO, Cloudflare R2, Wasabi, and similar. Use the Amazon S3 connector only for native AWS S3 buckets. Use Amazon S3-compatible for anything else that speaks the S3 API.
ADLS Gen2 shortcuts require Hierarchical Namespace (HNS) to be enabled on the Azure storage account. Plain Azure Blob Storage without HNS does not work as a shortcut target. If you attempt to create a shortcut to a Blob Storage account without HNS, the connection will fail. Verify HNS is enabled in the storage account’s Configuration blade before creating the shortcut.
Creating a OneLake Shortcut โ Step by Step
- Open the target LakehouseNavigate to the Fabric workspace and open the Lakehouse where you want the shortcut to appear. Shortcuts can be created in either the Tables or Files section of the Lakehouse explorer.
- Right-click the target locationRight-click the Tables or Files directory (or a subfolder within Files) and select New shortcut. The shortcut creation dialog opens.
- Choose the source typeSelect from Internal sources (OneLake) or External sources (ADLS Gen2, Amazon S3, Amazon S3 compatible, Google Cloud Storage, Dataverse). Each source type shows different connection fields.
- Create or select a connectionFor external sources, either create a new connection with the required credentials or select an existing connection. Setting a connection is a bind operation โ only users with permission on the connection can perform it. Creating the connection saves credentials securely in Fabric’s connection store, not in the shortcut definition itself.
- Set the shortcut name and pathEnter a name for the shortcut as it will appear in the Lakehouse explorer. Optionally enter a sub-path to point to a specific folder within the source rather than the root. Shortcut names cannot contain
%or+characters. - Confirm and verifyThe shortcut appears in the Lakehouse explorer. Click it to browse the source data. Run a simple Spark read or SQL query to confirm the connection is working before building downstream assets.
Shortcuts can also be created programmatically via the OneLake Shortcuts REST API and the Fabric SDK โ useful for bulk shortcut creation across many lakehouses or automated provisioning as part of workspace setup scripts.
Internal OneLake Shortcuts โ Cross-Workspace Data Sharing
Internal shortcuts point to another location within OneLake โ a different folder in the same Lakehouse, a different Lakehouse in the same workspace, or a Lakehouse in a completely different workspace within the same Fabric tenant. This is the primary mechanism for cross-workspace data sharing in Fabric.
Same-Workspace Shortcuts
Reference a Delta table from a Gold Lakehouse inside a Warehouse, or expose a Files folder from one Lakehouse inside another โ all within a single workspace, no credentials required.
Cross-Workspace Shortcuts
The Data Engineering workspace builds and maintains the curated Delta tables. Analytics, Data Science, and Reporting workspaces each create shortcuts pointing to those tables. One copy, many consumers โ each workspace operates independently.
Internal shortcuts support both read and write. A Spark job in the consuming workspace can write back through a shortcut to the source Lakehouse โ provided the identity running the job has write permissions in the source workspace. This enables a “producer writes, consumers read” governance pattern where central data engineering teams own source tables and downstream teams have read access via shortcuts.
The lineage view in Fabric workspace explorer shows shortcut relationships โ but only within a single workspace. Cross-workspace shortcut relationships do not appear in lineage view, which means cross-workspace dependency tracking requires either Purview catalog integration or manually maintained documentation. Plan for this before building a platform where dozens of workspaces reference a central data engineering workspace via shortcuts.
ADLS Gen2 Shortcuts โ Bring Your Existing Azure Data Lake into Fabric
ADLS Gen2 shortcuts are the most common enterprise deployment pattern โ organizations with existing data lakes in Azure can give Fabric access without migrating petabytes of data. Fabric reads from the ADLS account at query time, treating the external storage as if it were native OneLake.
Authentication Options for ADLS Shortcuts
| Auth Method | Best For | Notes |
|---|---|---|
| Organizational account | Individual developers, interactive sessions | Uses the signed-in user’s Entra ID identity. Access follows the user’s existing ADLS RBAC roles. |
| Service principal | Automated pipelines, scheduled notebooks | Register an app in Entra ID, grant it Storage Blob Data Reader (or Contributor for write) on the ADLS account, provide client ID and secret. |
| Account key | Quick testing โ not recommended for production | Full access to the entire storage account. No audit trail per user. Rotate regularly if used. |
| SAS token | Time-limited, scoped access | Generate a SAS with minimum required permissions and the shortest practical expiry. Requires manual renewal before expiry. |
Trusted Workspace Access โ Private ADLS Behind a Firewall
A common question from regulated industries: can Fabric access an ADLS account that is locked down behind a private endpoint or VNet service endpoint? Yes โ using Trusted Workspace Access. This feature allows selected Fabric workspaces to access firewall-protected ADLS accounts without requiring public internet access or exposing the storage account to the internet.
- Enable Trusted service access on the ADLS accountIn the ADLS Gen2 storage account โ Networking โ Firewalls and virtual networks, enable “Allow trusted Microsoft services to access this storage account.”
- Add the Fabric workspace to the trusted listIn the same storage account networking settings, add the specific Fabric workspace resource ID to the trusted workspaces list. Only listed workspaces bypass the firewall โ not all of Fabric.
- Create the ADLS shortcut using service principal or org accountCreate the shortcut in the trusted workspace as normal. The connection uses the workspace’s managed identity to authenticate, bypassing the network restriction.
Amazon S3 Shortcuts โ Multi-Cloud Data Access Without ETL
S3 shortcuts let Fabric workloads query data stored in AWS S3 buckets directly โ no ETL pipeline, no data movement, no additional infrastructure. This is the primary pattern for organizations running a hybrid Azure/AWS data estate or migrating from AWS to Azure incrementally.
IAM Prerequisites for S3 Shortcuts
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::your-bucket-name",
"arn:aws:s3:::your-bucket-name/*"
]
}
]
}Create an IAM user (not a role โ Fabric uses access key authentication, not IAM roles for cross-account trust). Attach the policy above to the IAM user. Generate an access key and secret. Use these credentials when creating the S3 shortcut connection in Fabric.
Every read from an S3 shortcut incurs AWS egress fees โ data leaving AWS to Azure. For infrequently accessed or archival data, shortcuts are fine. For frequently queried data, enable shortcut caching (Section 09) to store a local copy in OneLake after the first read, eliminating repeat egress charges. For very high-frequency access, consider whether mirroring or a one-time copy into OneLake is more cost-effective than repeated cross-cloud reads.
S3-compatible shortcuts follow the same pattern but use a custom endpoint URL pointing to the non-AWS storage service rather than the standard AWS endpoint. MinIO, Cloudflare R2, Wasabi, and similar services that implement the S3 API can all be connected as S3-compatible shortcuts.
Google Cloud Storage Shortcuts
GCS shortcuts connect Fabric to Google Cloud Storage buckets using a GCS service account and HMAC key authentication. Like S3 shortcuts, GCS shortcuts are read-only and incur GCS egress costs on every query. Enable caching for frequently accessed GCS data to reduce egress fees.
GCS Authentication Setup
- Create a GCS service accountIn Google Cloud Console โ IAM โ Service Accounts, create a service account and grant it Storage Object Viewer role on the target GCS bucket.
- Generate HMAC keysIn Cloud Storage โ Settings โ Interoperability, create HMAC keys for the service account. Note the Access Key and Secret โ these are shown only once.
- Create the GCS shortcut in FabricIn the Lakehouse explorer, right-click โ New shortcut โ Google Cloud Storage. Enter the bucket name, the optional sub-path, and authenticate with the HMAC access key and secret.
GCS shortcuts support file caching โ enable it in workspace settings under the OneLake tab to reduce repeat egress costs for frequently accessed datasets.
Shortcut Security โ The Two-Layer Model
Shortcut security operates at two independent layers, and both must grant access before a user can read data through a shortcut. Passing one layer but not the other results in an access denied error โ a common source of confusion during initial setup.
| Layer | Controls | Managed In |
|---|---|---|
| Layer 1 โ Fabric item permissions | Whether the user can access the Lakehouse or Warehouse item containing the shortcut | Fabric workspace roles (Admin, Member, Contributor, Viewer) or item-level sharing |
| Layer 2 โ Source storage permissions | Whether the user’s identity (or the connection credential) has permission on the external source | ADLS RBAC roles, S3 IAM policy, GCS IAM, or Entra ID groups |
How Permission Delegation Works by Source Type
| Source | Permission Model | User Identity Passed to Source? |
|---|---|---|
| Internal OneLake | Fabric workspace RBAC โ the accessing user needs at least Viewer on the source workspace/item | Yes โ user identity |
| ADLS Gen2 | Cloud connection credential (org account, SP, key, or SAS) โ delegates to the connection, not per-user ADLS RBAC unless using org account | Org account only |
| Amazon S3 | IAM policy attached to the connection’s IAM user โ all Fabric users sharing this shortcut use the same IAM identity | No โ shared IAM user |
| Google Cloud Storage | HMAC key of the service account โ all users share the same service account identity | No โ shared service account |
Because S3 and GCS shortcuts authenticate using a shared IAM user or service account, every Fabric user who can access the Lakehouse item can read all data in the shortcut โ regardless of what individual access that user would have directly in AWS or GCP. If your S3 data requires user-level access control, use a connection per user, or restrict Fabric item access at the workspace level to match the intended audience for the shared S3 credential.
Shortcut Caching โ Reducing Cross-Cloud Egress Costs
Shortcut caching stores a local copy of data read from an external source in OneLake after the first read. Subsequent reads of the same data serve from the local cache rather than fetching from the source again โ eliminating repeat egress charges from AWS or GCP.
Which Sources Support Caching
Caching is available for: Amazon S3, Amazon S3-compatible, Google Cloud Storage, and on-premises data gateway shortcuts (including on-premises Amazon S3 shortcuts using Entra service principal authentication). ADLS Gen2 and internal OneLake shortcuts do not require caching because they are within Azure or within Fabric respectively.
Enabling Caching
- Open Workspace settingsNavigate to the Fabric workspace โ Settings โ OneLake tab.
- Toggle caching onEnable the cache setting and select a Retention Period โ how long the cached copy is kept before Fabric re-fetches from source on the next read.
- Monitor cached storageCached data counts toward OneLake storage for the workspace. Monitor workspace storage in the Fabric Admin portal to account for the additional footprint.
- Clear the cache if neededSelect “Reset cache” on the same workspace settings page to immediately evict all cached shortcut data. The next read re-fetches from source. Use this if source data has changed and you need fresh data before the retention period expires.
Caching is workspace-level and automatic โ it reduces egress on repeat reads but the cache is not a permanent copy. Mirroring is a deliberate replication strategy that maintains a continuously updated Delta Parquet copy in OneLake. Use caching for shortcuts to reduce cost on frequently re-queried external data. Use mirroring when you need a permanent, queryable, governed copy of an external database in OneLake with consistent performance โ not just egress cost reduction.
Direct Lake Semantic Models on Shortcut Data
Direct Lake mode in Power BI reads Delta Parquet files directly from OneLake at query time โ no import, no scheduled refresh, always fresh. Because shortcuts surface external data as if it were native OneLake storage, Direct Lake semantic models can be built on top of shortcuts, including shortcuts pointing to ADLS Gen2 and Amazon S3.
This unlocks the highest-performance Power BI architecture for organizations with existing ADLS data lakes โ without migrating a single file into Fabric-native lakehouses:
Existing ADLS Gen2 โ OneLake Shortcut in Lakehouse โ Direct Lake Semantic Model โ Power BI (no data copied) (no import needed) (always fresh) (fastest query mode)
Works with Direct Lake
- Internal OneLake shortcuts (cross-workspace)
- ADLS Gen2 shortcuts (including private endpoint via Trusted Workspace Access)
- Amazon S3 shortcuts (Delta Parquet format required)
Requirements for Direct Lake on Shortcuts
- Data must be in Delta Parquet format in the source storage
- Delta log (
_delta_log/) must be present and valid - For S3 shortcuts, V-Order is not applied โ Direct Lake falls back to DirectQuery if framing is needed
- Trusted Workspace Access required for private ADLS endpoints
See Direct Lake Falling Back to DirectQuery โ Diagnosis and Fix for troubleshooting when Direct Lake falls back to DirectQuery mode on shortcut-backed tables.
OneLake Shortcuts vs Mirroring โ When to Use Each
| Factor | Shortcuts | Mirroring |
|---|---|---|
| Data movement | None โ reads from source at query time | Physical copy in OneLake via CDC |
| Storage cost in OneLake | Zero (unless caching enabled) | Full replication cost |
| Data freshness | Always current โ reads source at query time | Near real-time (seconds to minutes of lag) |
| Query performance | Depends on source latency and network | Local OneLake performance โ fast and consistent |
| Egress costs | Yes for cross-cloud (S3, GCS) | One-time initial sync egress, then incremental |
| Supported sources | ADLS, S3, GCS, Dataverse, internal OneLake | Azure SQL DB, Cosmos DB, Snowflake, PostgreSQL, MySQL, MongoDB, Databricks, open mirroring |
| Best for | Cross-workspace sharing, multi-cloud reference data, incremental migration | High-performance analytics on external databases, medallion bronze/silver ingestion |
The most common production pattern uses both together: shortcuts for reference/lookup data and cross-workspace sharing (small or infrequently updated tables), and mirroring for high-volume transactional sources (Azure SQL DB, Snowflake) where query performance against the live source would be unacceptable. Neither tool replaces the other โ they solve different parts of the same problem.
Common Shortcut Mistakes โ Including One That Deletes Production Data
| Mistake | What Happens | How to Avoid |
|---|---|---|
| Deleting files inside a writable shortcut | Files are permanently deleted from the source storage (ADLS Gen2 or internal OneLake). This is irreversible if no backup exists. | Treat shortcut folders as read-only in the Fabric UI even when write-capable. Delete operations on source data should go through the source system’s own interface, not through the Fabric shortcut. |
| Pointing to Blob Storage without HNS | Shortcut creation fails โ plain Blob Storage is not supported | Verify Hierarchical Namespace is enabled on the storage account before creating the shortcut |
| Not enabling caching for high-frequency S3/GCS reads | Every read incurs cross-cloud egress fees, which compound quickly at scale | Enable workspace-level shortcut caching for any S3 or GCS shortcut accessed more than once per session |
| Assuming S3/GCS shortcuts enforce per-user access | All Fabric users who can access the Lakehouse item share the same IAM/service account identity | Scope Fabric item access to match the intended audience for the shared cloud credential |
| Chaining more than 5 shortcuts | Exceeds the maximum chain depth of 5 direct shortcut-to-shortcut links | Flatten the shortcut chain โ point directly to the source rather than building deeply nested shortcut chains |
Using % or + in shortcut names | Shortcut creation fails with a validation error | Use alphanumeric names and underscores or hyphens only |
| Expecting lineage view to show cross-workspace shortcuts | Lineage view only shows shortcuts within the same workspace โ cross-workspace dependencies are invisible | Document cross-workspace shortcut relationships in the Fabric workspace description or Purview catalog |
FAQ โ OneLake Shortcuts in Microsoft Fabric
Official Resources โ OneLake Shortcuts Documentation
Information is verified against official Microsoft Learn OneLake Shortcuts documentation through June 2026. Supported source types, limits (100,000 shortcuts per item, 10 per path, max chain depth of 5), and caching behavior are subject to change. UIG Data Lab is an independent publication, not affiliated with Microsoft Corporation.