M365 Show Podcast

Securing Data Pipelines in Microsoft Fabric


Listen Later

Ever wonder why your data pipeline still feels exposed, even with all those Microsoft Fabric features? There’s more at risk than just a stray password leak—think silent data exposure across your entire workflow.Today, let’s walk through the real security gaps most admins miss, and how using managed identities, Key Vault integration, and RBAC actually locks them down (if you know where to look). If your organization depends on Microsoft 365 tools, you’ll want to see exactly how these security moves play out in practice.The Hidden Risks Lurking in Your Fabric PipelinesLet’s start with something most admins won’t admit: the first time you configure a Fabric pipeline, it feels like locking things down is mostly about ticking the right permission boxes. You assign users, maybe set some workspace access, check your connectors, and move on. From the outside, that pipeline looks rock solid. It runs, it passes tests, and—on paper at least—only the right people should be able to touch the data moving through it. That sense of security usually lasts right up until someone demands proof the data is secure. This is where most teams begin to realize that “secure” means a lot of different things, and the defaults aren’t doing them any favors.Picture what this looks like in a typical Microsoft 365-driven business. Marketing wants customer order history to build a new dashboard, finance needs raw transaction logs for reconciliation, HR expects daily syncs for payroll updates. Everything gets routed through a handful of Fabric pipelines because it’s fast and supposedly locked down. Workspace permissions are set up the day the project launches and usually never touched again. But then comes the audit—maybe after a customer questions privacy practices or someone from legal starts poking around. That’s when you get the uncomfortable results. A misconfigured step in the main pipeline has been silently dumping sensitive records into a shared workspace, granting every analyst in the department easy access to private customer details.It’s the kind of issue that doesn’t show up until you go hunting for it. In a lot of setups, the biggest risk isn’t an outside attacker prying their way in. It’s trusted users seeing—or worse, copying—data they were never supposed to have in the first place. This is almost always the result of default settings. Fabric, like most Microsoft 365 components, inherits permissions down from workspaces to pipelines and datasets unless you go out of your way to restrict them. A workspace admin adds a new analyst to help with a quarterly report, and suddenly that person can browse sensitive ETL results or preview entire SQL tables—often without anyone realizing what changed.Now, let’s get into a scenario that plays out more often than it should. The compliance officer does a sweep of production notebooks and scripts. Everything’s running fine, but then a red flag: API keys and database passwords sitting in plain text, hardcoded in the middle of pre-processing logic. These secrets have been sitting there for months, maybe longer. No one noticed because the scripts were “owned” by an old project team or automated runbook, so they just kept working. In most cases, these keys were supposed to expire, or were only meant for internal testing, but life gets busy, people leave, and the keys stick around like digital leftovers.Part of the trouble is that, for most organizations, there’s a line between “access” and “least privilege,” and it’s written in pencil. Granting a team access to the tools they need is tidy and makes onboarding fast. But the idea of only giving people (or service accounts) the bare minimum rights needed for their job? That’s extra effort, and it rarely survives the push to production. As a result, you get broad role assignments across workspaces, service accounts that haven’t rotated passwords in years, and credentials quietly spreading across SharePoint folders and stale OneNote pages. Nobody tracks it because, truthfully, it’s hard to even see where everything is.This is the very definition of a silent risk. You probably have two or three unused service principals still floating around, tied to projects that ended last year. A quick check of your Fabric workspace often reveals dozens of analysts and pipeline builders, each with more access than they actually need. With every broad assignment, every unchecked role, you widen the attack surface—often without realizing it. And the more complex your pipeline setup gets, the harder it is to remember who touched what, or which accounts might still have direct access to raw data.What’s particularly sobering is the research Microsoft’s own security team released: over 60% of cloud breaches come from misconfigured permissions, not from classic technical exploits. It’s not some hacker brute-forcing credentials or leveraging a zero-day; it’s far more often someone accidentally exposing sensitive data through generous access policies. It’s too easy to assume your pipelines are safe since everything’s inside your cloud tenant, only to find a dormant account still has access to a data lake, or a new staff member can see code meant for senior engineers. These aren’t dramatic failures, but slow, quiet leaks—you spot them, if at all, after the fact.So here’s the core problem: the defaults aren’t safe enough for sensitive data, and most busy teams never get around to tightening the screws. The blind spots aren’t obvious—until you start tracing data flow and mapping every role, every secret, every account. Suddenly, what looked locked down starts to look like Swiss cheese. The harsh reality is, you’re not just worrying about hackers on the outside anymore. The biggest vulnerability is the access you never bothered to check. Every setting you left untouched becomes a potential doorway.But before you start ripping out all your pipelines in a panic, it’s worth asking—if these gaps show up everywhere, what does actually closing them look like? Can you strengthen your pipelines without breaking them, or is this going to slow your entire team down? Let’s get into the first—and easiest—way to finally shrink those risk windows: cutting out passwords for good.Managed Identities: Killing the Password Problem for GoodIf you’ve spent any time wrangling data pipelines, you know the quiet dread of dealing with application passwords. On the surface, ditching hardcoded credentials in your Fabric pipelines should be straightforward. No more passwords floating around scripts or stashed in old config files—just point your pipeline at the target, hit go, and relax. At least, that’s the dream, right? Reality is usually messier. Most pipelines pull data from more than one place—maybe Azure SQL for customer records, Blob Storage for historical files, and a handful of other sources for good measure. Each stop along the way usually demands a different set of credentials, and the temptation is always there: just paste the latest secret into the code, commit, and move on. You’ve probably been there yourself, or seen an urgent message in a channel: “Hey, can someone send me the current connection string?” Someone digs it up, copies it into a notebook for a half-hour of troubleshooting, and then forgets it exists. That test notebook might get pushed to a cloud repo or left on a shared drive, but even if it gets deleted, the secret isn’t really gone. There’s a digital paper trail behind almost every password used in a rush. One misplaced credential, and suddenly your supposedly secure pipeline isn’t so secure after all.The rotation game is every admin’s least favorite chore. Rotate a password, break the pipeline, scramble to patch every reference, and hope nothing slips through the cracks. Multiply that grind by a dozen sources and a few dozen developers, and it’s no wonder credentials end up staying the same for years. Tracking which password belongs to which service account or script? Good luck. This is how credential sprawl quietly creeps in. The more you try to keep up, the more likely you are to miss a lurking copy somewhere that could open the door for anyone persistent enough to look.This is where managed identities come in and actually move the needle. If you haven’t worked with them yet, the idea’s simple but powerful: give each Fabric pipeline its own, unique identity in Azure Active Directory. No more passwords in plain text or screenshots of connection strings. The identity is issued by Azure, never appears in a script, and gets rotated automatically behind the scenes. As far as your pipeline is concerned, it just asks Azure for the resources it needs, and—if it has the right permissions—it gets them. If not, access is denied. You start untangling your security model the minute you switch.Here’s a team scenario that will sound familiar to a lot of folks. One team inherits a set of aging ETL jobs with secrets hardcoded in multiple places—scripts, config files, even a few forgotten OneNotes. Everyone’s nervous about touching them, because each break might mean an emergency call at 3 a.m. They finally carve out time to enable managed identities in Fabric. Each pipeline is assigned its own managed identity, and permissions are granted only for the exact blobs and databases it needs—nothing more. Suddenly, there are no more credentials scattered across their environment. An entire series of headaches—rotating secrets, tracking what broke, remembering which file held the admin password—just disappears.Setting this up in Fabric isn’t a months-long project, either. You choose the pipeline or resource, assign a managed identity directly in the Fabric UI, and set up access for that identity in Azure itself. That way, the pipeline can fetch data from databases, push files into storage, or call a REST API, all without you ever handing out a password. The identity is invisible to users—it just works or it doesn’t, based on tightly scoped permissions. And because these identities are isolated, som

Become a supporter of this podcast: https://www.spreaker.com/podcast/m365-show-podcast--6704921/support.
...more
View all episodesView all episodes
Download on the App Store

M365 Show PodcastBy Mirko