
1
00:00:00,000 –> 00:00:02,520
Most organizations treat fabric lineage like governance.
2
00:00:02,520 –> 00:00:03,280
They are wrong.
3
00:00:03,280 –> 00:00:05,640
Lineage is a diagram that makes people feel safe
4
00:00:05,640 –> 00:00:07,200
because it looks like control,
5
00:00:07,200 –> 00:00:09,200
but control requires authority,
6
00:00:09,200 –> 00:00:12,760
and authority requires the power to refuse execution.
7
00:00:12,760 –> 00:00:15,360
Most teams don’t discover this gap during design reviews.
8
00:00:15,360 –> 00:00:16,960
They discover it during audits.
9
00:00:16,960 –> 00:00:18,120
When the questions get sharp,
10
00:00:18,120 –> 00:00:20,160
screenshots and lineage graphs don’t answer them.
11
00:00:20,160 –> 00:00:22,120
So this episode does something different.
12
00:00:22,120 –> 00:00:25,520
No demos, no UI tours, no click here.
13
00:00:25,520 –> 00:00:28,480
Just architecture, five inevitability scenarios,
14
00:00:28,480 –> 00:00:30,280
and a deterministic test you can use
15
00:00:30,280 –> 00:00:33,080
to decide what fabric can and cannot govern.
16
00:00:33,080 –> 00:00:35,680
Governance is a verb, lineage is a noun.
17
00:00:35,680 –> 00:00:38,040
Start with language because marketing always wins
18
00:00:38,040 –> 00:00:39,920
when engineers stop defining words.
19
00:00:39,920 –> 00:00:43,000
Governance is a verb, it’s something a system does to you.
20
00:00:43,000 –> 00:00:45,200
It constrains, it prevents, it refuses,
21
00:00:45,200 –> 00:00:47,480
it expresses intent as enforceable behavior.
22
00:00:47,480 –> 00:00:50,160
Lineage is a noun, it’s something you look at.
23
00:00:50,160 –> 00:00:53,080
It describes, it traces, it reconstructs.
24
00:00:53,080 –> 00:00:54,400
That distinction matters.
25
00:00:55,840 –> 00:00:58,640
A lot of teams conflate these because the output looks similar,
26
00:00:58,640 –> 00:01:01,800
a neat graph of assets, arrows, dependencies, upstream
27
00:01:01,800 –> 00:01:03,400
and downstream impacts.
28
00:01:03,400 –> 00:01:05,840
And in the power BI era, people got used to thinking,
29
00:01:05,840 –> 00:01:07,800
if I can see it, I can control it.
30
00:01:07,800 –> 00:01:09,840
Visibility became a proxy for authority,
31
00:01:09,840 –> 00:01:11,640
but observability is not governance.
32
00:01:11,640 –> 00:01:14,000
Observability answers, what happened, where did it flow,
33
00:01:14,000 –> 00:01:16,920
what depends on what will break if I change this?
34
00:01:16,920 –> 00:01:20,040
Governance answers, what is allowed to happen in the first place?
35
00:01:20,040 –> 00:01:22,720
Measurement versus authority, a speedometer is not a break.
36
00:01:22,720 –> 00:01:24,600
And this speedometer analogy isn’t cute,
37
00:01:24,600 –> 00:01:26,200
it’s the entire failure mode.
38
00:01:26,200 –> 00:01:29,360
Lineage tells you the system was moving fast and where it went.
39
00:01:29,360 –> 00:01:30,960
Governance is the thing that stops it
40
00:01:30,960 –> 00:01:33,080
from crossing the line in the first place.
41
00:01:33,080 –> 00:01:34,760
So if someone tells you we have governance
42
00:01:34,760 –> 00:01:37,640
because we have lineage, ask a single litmus question.
43
00:01:37,640 –> 00:01:39,680
Can the system say no in real time?
44
00:01:39,680 –> 00:01:41,000
Not can we find out later?
45
00:01:41,000 –> 00:01:42,200
Not can we alert?
46
00:01:42,200 –> 00:01:43,760
Not can we open a ticket?
47
00:01:43,760 –> 00:01:47,080
No means deny synchronously before the action completes
48
00:01:47,080 –> 00:01:49,120
with the same reliability as the action itself.
49
00:01:49,120 –> 00:01:51,200
If the platform can’t do that, it isn’t governing,
50
00:01:51,200 –> 00:01:52,520
it is observing.
51
00:01:52,520 –> 00:01:54,640
And most organizations don’t want to admit how much
52
00:01:54,640 –> 00:01:57,640
of their governance is really just post-fact explanations.
53
00:01:57,640 –> 00:02:00,120
Dashboards, diagrams, policies written in word,
54
00:02:00,120 –> 00:02:02,880
screenshots and audit packs, a quarterly review meeting
55
00:02:02,880 –> 00:02:05,280
where everyone agrees this is important,
56
00:02:05,280 –> 00:02:06,920
then grants the exception anyway
57
00:02:06,920 –> 00:02:08,400
because the business needs to ship.
58
00:02:08,400 –> 00:02:09,640
That’s not governance.
59
00:02:09,640 –> 00:02:12,080
That’s entropy management with good intentions.
60
00:02:12,080 –> 00:02:14,200
Here’s why the confusion persists.
61
00:02:14,200 –> 00:02:15,880
Lineage feels like a control plane
62
00:02:15,880 –> 00:02:17,520
because it’s centralized, it’s visual,
63
00:02:17,520 –> 00:02:19,200
and it gives leaders something to point at.
64
00:02:19,200 –> 00:02:20,720
It produces artifacts.
65
00:02:20,720 –> 00:02:22,400
Artifacts create comfort.
66
00:02:22,400 –> 00:02:24,160
Comfort turns into policy.
67
00:02:24,160 –> 00:02:26,160
Then the policy turns into an assumption.
68
00:02:26,160 –> 00:02:27,920
Since we can trace it, we control it.
69
00:02:27,920 –> 00:02:29,320
But tracing is not controlling.
70
00:02:29,320 –> 00:02:31,880
Lineage is a forensic capability, a high quality one
71
00:02:31,880 –> 00:02:32,960
when implemented well.
72
00:02:32,960 –> 00:02:34,080
Forensics are valuable.
73
00:02:34,080 –> 00:02:37,720
They help you debug, do impact analysis and reconstruct flows.
74
00:02:37,720 –> 00:02:39,440
They also help you tell an audit story.
75
00:02:39,440 –> 00:02:41,640
And that audit story matters, but it’s not the same
76
00:02:41,640 –> 00:02:42,480
as reducing risk.
77
00:02:42,480 –> 00:02:44,840
In regulated environments, auditors don’t just ask,
78
00:02:44,840 –> 00:02:46,360
can you explain what happened?
79
00:02:46,360 –> 00:02:49,080
They ask, what prevents it from happening again?
80
00:02:49,080 –> 00:02:50,840
That’s a completely different class of requirement.
81
00:02:50,840 –> 00:02:53,480
One is narrative, the other is system behavior.
82
00:02:53,480 –> 00:02:55,440
And this is where fabric becomes revealing
83
00:02:55,440 –> 00:02:57,720
because fabric is built to reduce friction.
84
00:02:57,720 –> 00:03:00,440
Unification, one lake, easy sharing, fast notebooks,
85
00:03:00,440 –> 00:03:02,160
pipelines that connect everything.
86
00:03:02,160 –> 00:03:04,560
The platform is optimized for execution velocity,
87
00:03:04,560 –> 00:03:05,160
which is fine.
88
00:03:05,160 –> 00:03:06,640
That’s what it was designed for.
89
00:03:06,640 –> 00:03:08,840
But velocity and governance are natural enemies
90
00:03:08,840 –> 00:03:11,200
unless the platform has an enforcement mechanism
91
00:03:11,200 –> 00:03:12,520
that keeps up with that velocity.
92
00:03:12,520 –> 00:03:14,720
So the problem is not that lineage is bad.
93
00:03:14,720 –> 00:03:16,360
The problem is that lineage is being used
94
00:03:16,360 –> 00:03:18,360
as a substitute for authority.
95
00:03:18,360 –> 00:03:19,800
Lineage lives after the action.
96
00:03:19,800 –> 00:03:21,520
Governance lives before the action.
97
00:03:21,520 –> 00:03:24,720
If governance is prevention, then the next question is simple.
98
00:03:24,720 –> 00:03:27,160
Where does prevention live?
99
00:03:27,160 –> 00:03:29,400
The policy enforcement point fabric doesn’t have.
100
00:03:29,400 –> 00:03:31,320
Every governed system answers that question
101
00:03:31,320 –> 00:03:32,680
with a policy enforcement point.
102
00:03:32,680 –> 00:03:33,400
Fabric doesn’t.
103
00:03:33,400 –> 00:03:34,200
That’s not an insult.
104
00:03:34,200 –> 00:03:36,280
It’s an architectural classification.
105
00:03:36,280 –> 00:03:39,240
A policy enforcement point, PEP is the moment a system
106
00:03:39,240 –> 00:03:42,480
evaluates intent and either allows an action or refuses it.
107
00:03:42,480 –> 00:03:44,080
And it has three properties that matter
108
00:03:44,080 –> 00:03:45,880
if you’re serious about governance.
109
00:03:45,880 –> 00:03:46,960
First, it’s synchronous.
110
00:03:46,960 –> 00:03:48,760
The decision happens in line with the request,
111
00:03:48,760 –> 00:03:50,160
not in a background job.
112
00:03:50,160 –> 00:03:51,400
Second, it’s transactional.
113
00:03:51,400 –> 00:03:53,440
The deny happens before the state change commits.
114
00:03:53,440 –> 00:03:55,400
But if the right succeeds, the governance layer failed
115
00:03:55,400 –> 00:03:57,320
even if it logs the event perfectly.
116
00:03:57,320 –> 00:03:58,880
Third, it’s authoritative.
117
00:03:58,880 –> 00:04:00,920
It’s the last gate before execution.
118
00:04:00,920 –> 00:04:02,760
Not an observer attached to the side.
119
00:04:02,760 –> 00:04:04,640
If you want a simple rule, governance
120
00:04:04,640 –> 00:04:06,680
that arrives after execution is paperwork,
121
00:04:06,680 –> 00:04:08,520
useful paperwork but paperwork.
122
00:04:08,520 –> 00:04:10,520
Now look at what fabric lineage actually is.
123
00:04:10,520 –> 00:04:11,920
Lineage is emitted telemetry.
124
00:04:11,920 –> 00:04:15,160
It’s metadata about relationships between items, pipelines,
125
00:04:15,160 –> 00:04:18,200
notebooks, lake houses, warehouses, semantic models, reports.
126
00:04:18,200 –> 00:04:20,640
It’s a reconstruction graph of this used that
127
00:04:20,640 –> 00:04:24,400
and this produced that built from events and metadata extraction.
128
00:04:24,400 –> 00:04:25,600
That’s observability.
129
00:04:25,600 –> 00:04:26,680
That is not a gate.
130
00:04:26,680 –> 00:04:28,680
And the easiest way to prove this without a demo
131
00:04:28,680 –> 00:04:30,000
is to talk about time.
132
00:04:30,000 –> 00:04:34,280
In a govern system, the sequence is request, policy check,
133
00:04:34,280 –> 00:04:36,840
allow or deny execution.
134
00:04:36,840 –> 00:04:40,440
In an observed system, the sequence is execution event emitted,
135
00:04:40,440 –> 00:04:43,120
metadata updated, someone reviews it later.
136
00:04:43,120 –> 00:04:45,880
Lineage sits on the second sequence, which means
137
00:04:45,880 –> 00:04:48,360
lineage can never be the thing that prevented the action
138
00:04:48,360 –> 00:04:49,160
it’s describing.
139
00:04:49,160 –> 00:04:50,840
It can only describe it after the fact.
140
00:04:50,840 –> 00:04:53,400
So when someone says, but purview integrates with fabric
141
00:04:53,400 –> 00:04:55,800
and fabric has labels and we can see everything,
142
00:04:55,800 –> 00:04:57,120
the response is simple.
143
00:04:57,120 –> 00:04:58,800
Where is the synchronous deny?
144
00:04:58,800 –> 00:05:01,360
What component is guaranteed to run before the notebook
145
00:05:01,360 –> 00:05:02,400
reads the data?
146
00:05:02,400 –> 00:05:04,360
Before the pipeline writes the output,
147
00:05:04,360 –> 00:05:07,080
before the shortcut gets created, before the export happens.
148
00:05:07,080 –> 00:05:09,680
If you can’t point to that component, you don’t have governance.
149
00:05:09,680 –> 00:05:11,920
You have an incident narrative generator.
150
00:05:11,920 –> 00:05:13,120
Here’s what most people miss.
151
00:05:13,120 –> 00:05:14,680
A pep is not a feature.
152
00:05:14,680 –> 00:05:16,120
It’s a position in the architecture.
153
00:05:16,120 –> 00:05:18,120
You can ship 100 governance features and still not
154
00:05:18,120 –> 00:05:20,680
have a pep if none of them sit in the execution path.
155
00:05:20,680 –> 00:05:23,360
Tags don’t, endorsements don’t, lineage doesn’t.
156
00:05:23,360 –> 00:05:25,880
Even many security signals don’t because they were designed
157
00:05:25,880 –> 00:05:29,120
as classification and visibility first, enforcement second,
158
00:05:29,120 –> 00:05:31,040
and enforcement only in certain pathways.
159
00:05:31,040 –> 00:05:32,520
And when enforcement is selective,
160
00:05:32,520 –> 00:05:34,480
you’ve already conceded the security model.
161
00:05:34,480 –> 00:05:36,440
You’ve moved from deterministic to probabilistic.
162
00:05:36,440 –> 00:05:37,040
And we’ll get to that.
163
00:05:37,040 –> 00:05:39,640
But remember this detail, partial enforcement
164
00:05:39,640 –> 00:05:41,320
is an entropy generator.
165
00:05:41,320 –> 00:05:43,240
Now to be fair to the platform, fabric is not
166
00:05:43,240 –> 00:05:44,800
pretending to be a data firewall.
167
00:05:44,800 –> 00:05:46,280
It is an execution substrate.
168
00:05:46,280 –> 00:05:49,240
It’s a unified surface area where many workloads run against
169
00:05:49,240 –> 00:05:51,000
one-lake-backed data.
170
00:05:51,000 –> 00:05:52,280
That’s the value proposition.
171
00:05:52,280 –> 00:05:54,400
Reduce integration burden, reduce friction,
172
00:05:54,400 –> 00:05:56,200
accelerate time to insight.
173
00:05:56,200 –> 00:05:58,640
But acceleration changes the governance problem.
174
00:05:58,640 –> 00:06:00,880
It makes after the fact controls less meaningful
175
00:06:00,880 –> 00:06:03,680
because the system can produce more outcomes in an hour
176
00:06:03,680 –> 00:06:06,080
than a governance committee can review in a month.
177
00:06:06,080 –> 00:06:07,800
So what happens in real organizations?
178
00:06:07,800 –> 00:06:09,440
They replace enforcement with process.
179
00:06:09,440 –> 00:06:10,680
They create naming standards.
180
00:06:10,680 –> 00:06:12,160
They create workspace conventions.
181
00:06:12,160 –> 00:06:14,080
They create gold, silver, bronze tagging.
182
00:06:14,080 –> 00:06:15,080
They create review boards.
183
00:06:15,080 –> 00:06:15,880
They create tickets.
184
00:06:15,880 –> 00:06:17,040
They create training decks.
185
00:06:17,040 –> 00:06:19,400
And then a senior analyst needs access by Friday.
186
00:06:19,400 –> 00:06:20,560
So the exception happens.
187
00:06:20,560 –> 00:06:22,080
And the exception becomes permanent.
188
00:06:22,080 –> 00:06:23,280
That is not a people problem.
189
00:06:23,280 –> 00:06:25,520
That is what systems do when architecture
190
00:06:25,520 –> 00:06:27,000
doesn’t enforce intent.
191
00:06:27,000 –> 00:06:28,280
This is the uncomfortable truth.
192
00:06:28,280 –> 00:06:30,800
Without a policy enforcement point, fabric governance
193
00:06:30,800 –> 00:06:31,600
becomes cleaner.
194
00:06:31,600 –> 00:06:34,280
You detect drift, you document drift, you chase drift.
195
00:06:34,280 –> 00:06:36,000
Meanwhile, the platform keeps executing.
196
00:06:36,000 –> 00:06:37,640
Lineage helps you chase.
197
00:06:37,640 –> 00:06:39,200
It does not help you stop.
198
00:06:39,200 –> 00:06:41,040
So when you hear fabric has governance
199
00:06:41,040 –> 00:06:44,320
because it has lineage translated into the real statement,
200
00:06:44,320 –> 00:06:47,120
we can reconstruct what happened after it already happened.
201
00:06:47,120 –> 00:06:48,200
That’s fine for debugging.
202
00:06:48,200 –> 00:06:49,640
It’s even useful for audits.
203
00:06:49,640 –> 00:06:51,080
But it is not prevention.
204
00:06:51,080 –> 00:06:52,840
And if your risk model requires prevention,
205
00:06:52,840 –> 00:06:55,120
the prevention can’t live inside a component
206
00:06:55,120 –> 00:06:57,760
that only knows the outcome after execution.
207
00:06:57,760 –> 00:06:59,560
Now the next step is to stop pretending
208
00:06:59,560 –> 00:07:01,880
this is a missing feature you can toggle on.
209
00:07:01,880 –> 00:07:03,520
It is an architectural boundary.
210
00:07:03,520 –> 00:07:06,000
And once you see fabric as an execution substrate,
211
00:07:06,000 –> 00:07:08,480
the rest of its behavior becomes predictable.
212
00:07:08,480 –> 00:07:10,360
Fabric is a router, not a firewall.
213
00:07:10,360 –> 00:07:12,760
So treat fabric honestly, not as a control plane.
214
00:07:12,760 –> 00:07:15,120
As a forwarding plane, the firewall is a control plane.
215
00:07:15,120 –> 00:07:15,960
A router is not.
216
00:07:15,960 –> 00:07:16,880
Fabric is a router.
217
00:07:16,880 –> 00:07:18,920
That line sounds blunt, but it’s the cleanest way
218
00:07:18,920 –> 00:07:20,680
to stop the governance confusion.
219
00:07:20,680 –> 00:07:22,880
A firewall decides whether traffic is allowed.
220
00:07:22,880 –> 00:07:25,040
A router assumes the traffic is allowed,
221
00:07:25,040 –> 00:07:27,120
then focuses on moving it efficiently.
222
00:07:27,120 –> 00:07:28,960
If you configure a router like a firewall,
223
00:07:28,960 –> 00:07:30,240
you don’t get a better firewall.
224
00:07:30,240 –> 00:07:32,320
You get accidental exposure at scale.
225
00:07:32,320 –> 00:07:35,520
Fabric’s job is to make work happen in jest, transform,
226
00:07:35,520 –> 00:07:36,480
model, serve.
227
00:07:36,480 –> 00:07:37,920
It optimizes for throughput.
228
00:07:37,920 –> 00:07:39,480
It optimizes for reduced friction.
229
00:07:39,480 –> 00:07:41,400
It optimizes for just run the pipeline.
230
00:07:41,400 –> 00:07:42,520
Just connect the notebook.
231
00:07:42,520 –> 00:07:43,840
Just share the semantic model.
232
00:07:43,840 –> 00:07:45,280
Just build the report.
233
00:07:45,280 –> 00:07:48,280
That’s execution substrate behavior.
234
00:07:48,280 –> 00:07:49,360
And once you see it this way,
235
00:07:49,360 –> 00:07:52,240
a lot of confusing design choices stop being confusing.
236
00:07:52,240 –> 00:07:54,840
They’re inevitable because the platform has to keep moving.
237
00:07:54,840 –> 00:07:56,640
Now people will push back and say,
238
00:07:56,640 –> 00:07:58,120
“But fabric has a control plane.
239
00:07:58,120 –> 00:07:59,240
There are tenon settings.
240
00:07:59,240 –> 00:08:00,320
There are work spaces.
241
00:08:00,320 –> 00:08:01,320
There are capacities.
242
00:08:01,320 –> 00:08:02,760
There are roles.”
243
00:08:02,760 –> 00:08:03,680
Sure.
244
00:08:03,680 –> 00:08:06,080
Those exist, but that’s administrative configuration.
245
00:08:06,080 –> 00:08:08,640
That is not an execution time arbiter of intent.
246
00:08:08,640 –> 00:08:12,640
Control plane in architectural terms means a centralized authority
247
00:08:12,640 –> 00:08:15,520
that evaluates requests against policy before forwarding.
248
00:08:15,520 –> 00:08:18,320
It means decisions are compiled into enforcement.
249
00:08:18,320 –> 00:08:20,800
It means there is a single place you can point to
250
00:08:20,800 –> 00:08:23,640
and say, “That component prevented the action.”
251
00:08:23,640 –> 00:08:25,720
Fabric’s boundaries don’t behave that way.
252
00:08:25,720 –> 00:08:26,840
Start with work spaces.
253
00:08:26,840 –> 00:08:29,280
Most teams treat a workspace like a security boundary.
254
00:08:29,280 –> 00:08:30,920
They assume it’s a container that governs
255
00:08:30,920 –> 00:08:32,560
what can happen to data inside it.
256
00:08:32,560 –> 00:08:33,080
It isn’t.
257
00:08:33,080 –> 00:08:36,000
A workspace is an organization boundary for items.
258
00:08:36,000 –> 00:08:37,480
It’s a collaboration boundary.
259
00:08:37,480 –> 00:08:41,080
It’s a place where roles apply consistently to a set of artifacts.
260
00:08:41,080 –> 00:08:43,000
That’s useful, but it is not a data boundary.
261
00:08:43,000 –> 00:08:44,800
It does not guarantee containment
262
00:08:44,800 –> 00:08:47,880
because the platform is designed to connect items across work spaces
263
00:08:47,880 –> 00:08:49,160
and across experiences.
264
00:08:49,160 –> 00:08:51,080
And the more unified the platform becomes,
265
00:08:51,080 –> 00:08:54,640
the less workspace enables containment holds up as a mental model.
266
00:08:54,640 –> 00:08:55,600
Now look at capacities.
267
00:08:55,600 –> 00:08:58,760
Capacities get treated like governed compute.
268
00:08:58,760 –> 00:09:02,200
People assume that if they segregate by capacity, they segregate risk.
269
00:09:02,200 –> 00:09:04,560
But capacities are a resource allocation boundary.
270
00:09:04,560 –> 00:09:07,720
Performance costs throttling blast radius in the operational sense.
271
00:09:07,720 –> 00:09:08,480
Not governance.
272
00:09:08,480 –> 00:09:09,800
They don’t recompile intent.
273
00:09:09,800 –> 00:09:13,200
They don’t evaluate whether a particular data movement should be allowed.
274
00:09:13,200 –> 00:09:14,720
They just determine where the work runs
275
00:09:14,720 –> 00:09:16,880
and how much of the shared meter it burns.
276
00:09:16,880 –> 00:09:20,000
So what actually happens as fabric adoption scales is predictable.
277
00:09:20,000 –> 00:09:22,720
Work spaces proliferate because teams want autonomy.
278
00:09:22,720 –> 00:09:26,160
Roads get broadened because delivery pressure beats least privilege.
279
00:09:26,160 –> 00:09:29,520
Artifacts get shared because reuse beats rework.
280
00:09:29,520 –> 00:09:32,600
Shortcuts get created because duplication feels wasteful.
281
00:09:32,600 –> 00:09:34,240
Pipelines get copied because that’s how
282
00:09:34,240 –> 00:09:36,000
humans operate under deadlines.
283
00:09:36,000 –> 00:09:37,560
Each of these is rational locally.
284
00:09:37,560 –> 00:09:39,880
Collectively, they are an entropy engine.
285
00:09:39,880 –> 00:09:41,320
And this is the unification effect.
286
00:09:41,320 –> 00:09:43,680
Reduced friction increases blast radius.
287
00:09:43,680 –> 00:09:45,400
When you make it easy to connect everything,
288
00:09:45,400 –> 00:09:47,720
you also make it easy to propagate mistakes,
289
00:09:47,720 –> 00:09:49,880
oversharing and unintended flows.
290
00:09:49,880 –> 00:09:51,560
The platform doesn’t judge the intent.
291
00:09:51,560 –> 00:09:52,640
It roots the action.
292
00:09:52,640 –> 00:09:54,320
This is why lineage feels so comforting.
293
00:09:54,320 –> 00:09:55,720
It gives you a map of the roots.
294
00:09:55,720 –> 00:09:59,720
But it does not act as the checkpoint that decides whether the root should exist.
295
00:09:59,720 –> 00:10:01,200
So the system law here is simple.
296
00:10:01,200 –> 00:10:04,160
The platform executes faster than humans can govern.
297
00:10:04,160 –> 00:10:06,040
Fabric can produce new data products,
298
00:10:06,040 –> 00:10:07,880
new copies, new downstream derivatives
299
00:10:07,880 –> 00:10:09,680
and new sharing paths continuously.
300
00:10:09,680 –> 00:10:14,560
Meanwhile, governance in most organizations is a meeting, a ticket, a policy PDF,
301
00:10:14,560 –> 00:10:18,040
an annual review, a spreadsheet of approved data sets.
302
00:10:18,040 –> 00:10:20,280
That temple mismatch is not a maturity problem.
303
00:10:20,280 –> 00:10:21,360
It is a physics problem.
304
00:10:21,360 –> 00:10:24,840
If you want deterministic governance, you need deterministic choke points.
305
00:10:24,840 –> 00:10:28,400
Places where data must pass through a gate before it can leave a boundary,
306
00:10:28,400 –> 00:10:32,160
be exported, be copied, be shared, be materialized somewhere else.
307
00:10:32,160 –> 00:10:36,440
Fabric doesn’t give you that by default because Fabric’s core value is removing choke points.
308
00:10:36,440 –> 00:10:39,760
So the right posture is not how do we turn Fabric into a firewall.
309
00:10:39,760 –> 00:10:44,080
The right posture is wish-in-d-where do we place the firewall that Fabric will respect?
310
00:10:44,080 –> 00:10:46,760
And once you accept that, the next problem becomes unavoidable.
311
00:10:46,760 –> 00:10:50,360
If enforcement is partial, if some parts are gated and others aren’t,
312
00:10:50,360 –> 00:10:54,200
security stops being deterministic and becomes probabilistic.
313
00:10:54,200 –> 00:10:57,280
Deterministic versus probabilistic security.
314
00:10:57,280 –> 00:10:58,560
How entropy wins?
315
00:10:58,560 –> 00:11:01,320
This is where most governance programs quietly die.
316
00:11:01,320 –> 00:11:05,680
Not because the team is incompetent, but because the system drifts from deterministic security
317
00:11:05,680 –> 00:11:08,720
into probabilistic security and nobody admits the shift.
318
00:11:08,720 –> 00:11:11,960
Deterministic security means the outcome is predictable.
319
00:11:11,960 –> 00:11:15,400
If you attempt an action that violates policy, the platform refuses it.
320
00:11:15,400 –> 00:11:18,240
Every time the rule is stable, the enforcement is stable,
321
00:11:18,240 –> 00:11:21,480
and the exception path is either impossible or painfully explicit.
322
00:11:21,480 –> 00:11:24,280
That’s what auditors think you mean when you say governance.
323
00:11:24,280 –> 00:11:26,320
Probabilistic security is the opposite.
324
00:11:26,320 –> 00:11:28,200
The system doesn’t guarantee prevention.
325
00:11:28,200 –> 00:11:29,000
It tries.
326
00:11:29,000 –> 00:11:29,840
It signals.
327
00:11:29,840 –> 00:11:30,520
It alerts.
328
00:11:30,520 –> 00:11:31,360
It labels.
329
00:11:31,360 –> 00:11:32,360
It logs.
330
00:11:32,360 –> 00:11:35,280
And then, depending on configuration, timing, identity context,
331
00:11:35,280 –> 00:11:39,560
and which pathway was used, the outcome might be blocked, or it might not.
332
00:11:39,560 –> 00:11:42,600
The organization then calls this governance because it feels governed.
333
00:11:42,600 –> 00:11:46,760
But architecturally, it’s just a detection and response posture wearing a compliance costume.
334
00:11:46,760 –> 00:11:49,360
Here’s the key law, and it’s not optional.
335
00:11:49,360 –> 00:11:53,200
Probabilistic systems always drift toward human exception handling.
336
00:11:53,200 –> 00:11:58,160
Because when the system can’t say no, consistently, humans create the real decision path.
337
00:11:58,160 –> 00:12:00,720
The decision becomes, is this acceptable this time?
338
00:12:00,720 –> 00:12:02,760
And once that decision exists, it gets reused.
339
00:12:02,760 –> 00:12:04,240
Then it gets automated informally.
340
00:12:04,240 –> 00:12:05,240
Then it becomes policy.
341
00:12:05,240 –> 00:12:06,680
Then it becomes technical debt.
342
00:12:06,680 –> 00:12:07,840
Then it becomes permanent.
343
00:12:07,840 –> 00:12:09,880
That is entropy.
344
00:12:09,880 –> 00:12:12,680
And the thing most people miss is what creates the entropy.
345
00:12:12,680 –> 00:12:15,320
It’s not only misconfiguration, it’s design omission.
346
00:12:15,320 –> 00:12:17,920
It’s the absence of a universally enforced gate.
347
00:12:17,920 –> 00:12:21,080
Every time a platform offers an allowed path that bypasses policy,
348
00:12:21,080 –> 00:12:23,160
that path becomes a gravitational wealth.
349
00:12:23,160 –> 00:12:24,440
People fall into it because it works.
350
00:12:24,440 –> 00:12:25,760
They call it pragmatic.
351
00:12:25,760 –> 00:12:27,240
They call it unblocking.
352
00:12:27,240 –> 00:12:28,880
They call it business needs.
353
00:12:28,880 –> 00:12:30,960
In system terms, it’s an entropy generator.
354
00:12:30,960 –> 00:12:34,640
So when you see fabric environments evolve over time, you don’t see one big failure.
355
00:12:34,640 –> 00:12:36,480
You see a thousand small exceptions.
356
00:12:36,480 –> 00:12:38,800
A contributor role granted temporarily.
357
00:12:38,800 –> 00:12:41,000
A workspace shared just for a month.
358
00:12:41,000 –> 00:12:44,440
A data set published broadly, so the exact report doesn’t break.
359
00:12:44,440 –> 00:12:48,920
A notebook that writes a convenient copy because direct lake was slow yesterday.
360
00:12:48,920 –> 00:12:50,960
Each one is defensible in isolation.
361
00:12:50,960 –> 00:12:55,240
Collectively, they convert a deterministic security model into a probabilistic one.
362
00:12:55,240 –> 00:12:58,960
And this is where lineage becomes dangerous, not because it’s wrong, but because it’s comforting.
363
00:12:58,960 –> 00:13:01,960
Lineage makes probabilistic security feel complete.
364
00:13:01,960 –> 00:13:04,000
It produces a graph that implies closure.
365
00:13:04,000 –> 00:13:05,680
The system knows what happened.
366
00:13:05,680 –> 00:13:07,200
The system can show you the path.
367
00:13:07,200 –> 00:13:11,560
The system can prove the flow, but proving the flow is not the same thing as preventing it.
368
00:13:11,560 –> 00:13:14,560
Lineage is often used as psychological debt refinancing.
369
00:13:14,560 –> 00:13:18,640
The organization feels it has reduced risk because it gained visibility.
370
00:13:18,640 –> 00:13:22,200
In reality, it has simply improved its ability to narrate failure.
371
00:13:22,200 –> 00:13:25,200
Now connect this back to the architecture we already established.
372
00:13:25,200 –> 00:13:26,200
The logic is a router.
373
00:13:26,200 –> 00:13:27,200
It roots execution.
374
00:13:27,200 –> 00:13:31,640
It is designed to move data through notebooks, pipelines, lakehouses, warehouses, semantic
375
00:13:31,640 –> 00:13:32,800
models, reports.
376
00:13:32,800 –> 00:13:35,480
The more unified it becomes, the more roots exist.
377
00:13:35,480 –> 00:13:39,960
And if the governance model depends on selectively gating some roots, but not others, the outcome
378
00:13:39,960 –> 00:13:40,960
is pre-decided.
379
00:13:40,960 –> 00:13:43,200
The system becomes probabilistic.
380
00:13:43,200 –> 00:13:46,280
And in probabilistic systems, people start governing by etiquette.
381
00:13:46,280 –> 00:13:47,280
Don’t do that.
382
00:13:47,280 –> 00:13:48,800
Use the certified model.
383
00:13:48,800 –> 00:13:50,320
Follow the naming standard.
384
00:13:50,320 –> 00:13:51,800
Put it in the right domain.
385
00:13:51,800 –> 00:13:53,040
Those are not controlled.
386
00:13:53,040 –> 00:13:54,040
Those are requests.
387
00:13:54,040 –> 00:13:55,600
Those requests do not survive deadlines.
388
00:13:55,600 –> 00:13:58,440
So the question isn’t, does fabric have security features?
389
00:13:58,440 –> 00:13:59,560
You know it does.
390
00:13:59,560 –> 00:14:04,240
The question is whether your governance posture is deterministic, denied by default, consistent
391
00:14:04,240 –> 00:14:07,480
enforcement, stable boundaries, and contained blast radius.
392
00:14:07,480 –> 00:14:08,480
Or probabilistic.
393
00:14:08,480 –> 00:14:13,000
Allow by default with scattered controls, lots of metadata, and the hope that someone
394
00:14:13,000 –> 00:14:15,320
reviews the right dashboard fast enough.
395
00:14:15,320 –> 00:14:18,560
And once you’re in probabilistic mode, the incident pattern is inevitable.
396
00:14:18,560 –> 00:14:21,360
The platform allows an action, the action completes.
397
00:14:21,360 –> 00:14:25,480
When you notice, then you reconstruct, then you promise to tighten controls.
398
00:14:25,480 –> 00:14:28,520
Then you add one more exception because operations cannot stop.
399
00:14:28,520 –> 00:14:30,800
That loop doesn’t end because nobody wants it to.
400
00:14:30,800 –> 00:14:33,720
It ends only when the architecture forces it to end.
401
00:14:33,720 –> 00:14:36,720
So here’s the uncomfortable setup for the rest of this episode.
402
00:14:36,720 –> 00:14:38,720
The next five scenarios aren’t what ifs.
403
00:14:38,720 –> 00:14:43,640
They are the natural output of probabilistic governance in an execution-first platform.
404
00:14:43,640 –> 00:14:45,640
Scenario one starts with the simplest one.
405
00:14:45,640 –> 00:14:49,640
Cross workspace data exfiltration that the platform will happily execute, and lineage
406
00:14:49,640 –> 00:14:52,280
will dutifully document after the fact.
407
00:14:52,280 –> 00:14:53,280
Scenario one.
408
00:14:53,280 –> 00:14:55,680
Cross workspace data exfiltration.
409
00:14:55,680 –> 00:14:59,560
This scenario is the cleanest proof because it doesn’t require malice, advance tooling,
410
00:14:59,560 –> 00:15:01,840
or some exotic zero-day trick.
411
00:15:01,840 –> 00:15:04,360
It requires two normal things fabric encourages.
412
00:15:04,360 –> 00:15:05,880
Reuse and speed.
413
00:15:05,880 –> 00:15:09,920
Start with a dataset, a lake house table, a warehouse table, pick your poison.
414
00:15:09,920 –> 00:15:14,720
It lives in workspace A, owned by team A, with whatever controls team A, things are good
415
00:15:14,720 –> 00:15:15,720
enough.
416
00:15:15,720 –> 00:15:19,440
Maybe it’s certified, maybe it’s labeled, maybe it has a nice description in a catalog.
417
00:15:19,440 –> 00:15:20,440
One of that matters yet.
418
00:15:20,440 –> 00:15:22,600
Now, team B has a legitimate business need.
419
00:15:22,600 –> 00:15:24,040
They don’t want to rebuild the model.
420
00:15:24,040 –> 00:15:25,600
They don’t want to duplicate pipelines.
421
00:15:25,600 –> 00:15:27,320
They want to consume what already exists.
422
00:15:27,320 –> 00:15:31,560
So the asset gets shared across workspaces, or it gets accessed through whatever sanctioned
423
00:15:31,560 –> 00:15:34,680
cross workspace pathway exists in your environment.
424
00:15:34,680 –> 00:15:37,400
From a governance point of view, the question is simple.
425
00:15:37,400 –> 00:15:42,520
Can fabric evaluate destination context before data becomes resident somewhere else?
426
00:15:42,520 –> 00:15:45,560
Because the exfiltration pattern isn’t someone viewed the data.
427
00:15:45,560 –> 00:15:48,240
It’s someone made a new copy under a different boundary.
428
00:15:48,240 –> 00:15:50,240
And fabric’s execution model makes that easy.
429
00:15:50,240 –> 00:15:54,760
A downstream notebook runs in workspace B, or a pipeline in workspace B writes to a lakehouse
430
00:15:54,760 –> 00:15:56,000
in workspace B.
431
00:15:56,000 –> 00:15:59,560
The data is read from the shared source, then materialized into a new destination that team
432
00:15:59,560 –> 00:16:00,560
B controls.
433
00:16:00,560 –> 00:16:03,000
At that moment, the governance failure has already occurred.
434
00:16:03,000 –> 00:16:05,200
The data is no longer only where it started.
435
00:16:05,200 –> 00:16:10,720
It now exists in a second place governed by a second set of workspace roles, sharing settings,
436
00:16:10,720 –> 00:16:15,200
export behaviors and human practices, and then lineage lights up like a Christmas tree.
437
00:16:15,200 –> 00:16:17,800
It will show you the upstream asset in workspace A.
438
00:16:17,800 –> 00:16:20,680
It will show you the notebook or pipeline in workspace B.
439
00:16:20,680 –> 00:16:24,600
It will show you the downstream lakehouse or warehouse in workspace B. It will do its job
440
00:16:24,600 –> 00:16:28,200
traceability, but traceability isn’t containment.
441
00:16:28,200 –> 00:16:31,080
The architectural proof sits entirely in the timing.
442
00:16:31,080 –> 00:16:32,280
The right succeeded.
443
00:16:32,280 –> 00:16:35,520
If lineage were governance, the data would still be where it started.
444
00:16:35,520 –> 00:16:38,480
Instead, what you get is a beautiful diagram of approved damage.
445
00:16:38,480 –> 00:16:41,640
Now people will object here and say, “But that’s just copying data.
446
00:16:41,640 –> 00:16:42,960
We can control who can do that.”
447
00:16:42,960 –> 00:16:44,440
Yes, with our back.
448
00:16:44,440 –> 00:16:45,600
But our back is not intent.
449
00:16:45,600 –> 00:16:49,880
Our back answers is this identity allowed to perform this category of action.
450
00:16:49,880 –> 00:16:54,560
Not is this action allowed under this policy with this data to this destination right now.
451
00:16:54,560 –> 00:16:58,560
That distinction matters because copy and fabric is not one unified operation.
452
00:16:58,560 –> 00:17:03,040
It’s many operations across notebooks, pipelines, shortcuts, export surfaces and compute
453
00:17:03,040 –> 00:17:04,040
experiences.
454
00:17:04,040 –> 00:17:07,320
If you gate some of them and miss one, the missing path becomes the path.
455
00:17:07,320 –> 00:17:08,960
That’s probabilistic security.
456
00:17:08,960 –> 00:17:12,720
And it gets worse once you consider how organizations actually run fabric.
457
00:17:12,720 –> 00:17:16,800
These spaces represent teams, projects, domains, cost centers and experiments.
458
00:17:16,800 –> 00:17:18,760
They’re not stable security compartments.
459
00:17:18,760 –> 00:17:20,600
They’re organizational convenience.
460
00:17:20,600 –> 00:17:22,560
So the second copy isn’t a rare event.
461
00:17:22,560 –> 00:17:25,640
It is the natural behavior of self-service analytics at scale.
462
00:17:25,640 –> 00:17:27,560
People make local copies for performance.
463
00:17:27,560 –> 00:17:29,680
People make local copies for experimentation.
464
00:17:29,680 –> 00:17:33,960
People make local copies because they don’t want to wait for upstream governance debates.
465
00:17:33,960 –> 00:17:35,520
And the platform helps them do it.
466
00:17:35,520 –> 00:17:38,680
Lineage will faithfully document every one of those flows.
467
00:17:38,680 –> 00:17:40,440
It becomes an exfiltration ledger.
468
00:17:40,440 –> 00:17:42,320
That’s the exact psychological trap.
469
00:17:42,320 –> 00:17:45,920
Leadership sees the ledger and calls it governance because it looks like central visibility.
470
00:17:45,920 –> 00:17:49,360
But governance is the thing that prevents the second copy from being created in the first
471
00:17:49,360 –> 00:17:50,360
place.
472
00:17:50,360 –> 00:17:52,000
Unless the policy explicitly allows it.
473
00:17:52,000 –> 00:17:54,480
So the real test in this scenario is brutally simple.
474
00:17:54,480 –> 00:17:58,080
Where is the deny before right gate tied to destination context?
475
00:17:58,080 –> 00:18:02,320
Where is the control that says you can read this data set but you cannot materialize it into
476
00:18:02,320 –> 00:18:04,520
that workspace or that storage boundary?
477
00:18:04,520 –> 00:18:08,360
If you can’t point to that mechanism as a first-class enforcement step in the execution
478
00:18:08,360 –> 00:18:10,600
path, then this scenario is not a risk.
479
00:18:10,600 –> 00:18:12,680
It is an inevitability.
480
00:18:12,680 –> 00:18:16,920
And once that inevitability exists, every downstream control becomes clean up.
481
00:18:16,920 –> 00:18:21,160
You hunt for copies, you explain copies, you label copies, you try to delete copies.
482
00:18:21,160 –> 00:18:23,480
But you never prevented the moment that mattered.
483
00:18:23,480 –> 00:18:28,120
Now the next scenario makes it even more uncomfortable because in scenario one, the actor at least
484
00:18:28,120 –> 00:18:30,280
needed to run a pipeline or a notebook.
485
00:18:30,280 –> 00:18:34,040
In scenario two, the platform hands them the capability bundle up front.
486
00:18:34,040 –> 00:18:37,760
Scenario two over-privileged workspace, capacity rolls.
487
00:18:37,760 –> 00:18:42,360
Area two is where the governance illusion gets embarrassing because nothing clever happens.
488
00:18:42,360 –> 00:18:47,520
No cross workspace trick, no notebook sorcery, no exotic export path, just rolls.
489
00:18:47,520 –> 00:18:50,000
Fabrics R-Back model is a capability allocator.
490
00:18:50,000 –> 00:18:51,720
It answers who can do things here.
491
00:18:51,720 –> 00:18:57,600
It does not answer, should this thing happen with this data right now to that destination?
492
00:18:57,600 –> 00:19:02,320
So the failure mode is predictable, the organization grants a role to move fast.
493
00:19:02,320 –> 00:19:04,720
And that role becomes the standing exception engine.
494
00:19:04,720 –> 00:19:08,440
And with a workspace under delivery pressure, someone needs to build pipelines, create lake
495
00:19:08,440 –> 00:19:12,480
houses, publish semantic models, share reports, maybe manage a few connections.
496
00:19:12,480 –> 00:19:14,880
The team doesn’t want to be blocked by admin tickets.
497
00:19:14,880 –> 00:19:16,680
So the solution is always the same.
498
00:19:16,680 –> 00:19:18,440
Give them member or contributor.
499
00:19:18,440 –> 00:19:20,440
Sometimes admin because it’s easier.
500
00:19:20,440 –> 00:19:24,600
Those roles are not small, they are bundles.
501
00:19:24,600 –> 00:19:29,200
They include actions that look operationally convenient but are architecturally dangerous.
502
00:19:29,200 –> 00:19:33,960
Creating new items, configuring and running compute, publishing, sharing, exporting, moving
503
00:19:33,960 –> 00:19:37,840
artifacts, and in some cases changing security relevant settings.
504
00:19:37,840 –> 00:19:41,640
Now put a person in that role who isn’t malicious, they’re simply trying to get work done.
505
00:19:41,640 –> 00:19:43,680
They copy a pipeline from another workspace.
506
00:19:43,680 –> 00:19:47,480
They create a lake house to stage data, they publish a data set so the business can build
507
00:19:47,480 –> 00:19:48,880
a report by tomorrow.
508
00:19:48,880 –> 00:19:53,680
They share it broadly because the executive group is large and nobody wants to manage it carefully.
509
00:19:53,680 –> 00:19:56,800
Every one of those actions is allowed because the role allows it.
510
00:19:56,800 –> 00:20:01,160
And the moment the action is allowed, governance has already made its only real decision.
511
00:20:01,160 –> 00:20:03,400
It delegated authority to the user.
512
00:20:03,400 –> 00:20:07,080
That is the point, most organizations refuse to say out loud, they want governance to be
513
00:20:07,080 –> 00:20:09,040
a centralized property of the platform.
514
00:20:09,040 –> 00:20:12,080
But in practice in fabric governance collapses into role assignment.
515
00:20:12,080 –> 00:20:14,960
So lineage shows up again as the regret ledger.
516
00:20:14,960 –> 00:20:16,640
It records what the contributor did.
517
00:20:16,640 –> 00:20:18,320
It records what got created.
518
00:20:18,320 –> 00:20:19,680
It records what got connected.
519
00:20:19,680 –> 00:20:21,320
It records what got shared.
520
00:20:21,320 –> 00:20:25,640
And it makes leadership feel like the system is under control because the map exists.
521
00:20:25,640 –> 00:20:29,160
But ask the only question that matters, did any dashboard prevent the action?
522
00:20:29,160 –> 00:20:31,920
No, the action completed because our back allowed it.
523
00:20:31,920 –> 00:20:33,600
It simply documented the outcome.
524
00:20:33,600 –> 00:20:35,880
Now add capacity roles into the mix.
525
00:20:35,880 –> 00:20:41,080
Capacities are often treated like a governed boundary because they feel platform level.
526
00:20:41,080 –> 00:20:45,080
People assume that if the right admins control the capacity the estate is governed.
527
00:20:45,080 –> 00:20:47,400
But capacity administration is still administration.
528
00:20:47,400 –> 00:20:49,200
It’s not an execution time policy engine.
529
00:20:49,200 –> 00:20:53,160
It can’t inspect data context and deny a specific right at the moment of execution.
530
00:20:53,160 –> 00:20:56,320
It can only define who can manage the environment and how resources get allocated.
531
00:20:56,320 –> 00:20:58,280
So over time you get predictable drift.
532
00:20:58,280 –> 00:21:02,480
The capacity admin gets added temporarily to fix a performance issue.
533
00:21:02,480 –> 00:21:07,400
A workspace admin gets added because the original owner left a service principle gets elevated.
534
00:21:07,400 –> 00:21:12,800
So CICD can run a group gets broadened because managing fine grained access is annoying.
535
00:21:12,800 –> 00:21:16,840
Then nobody removes the access because nobody owns the removal that is not misconfiguration.
536
00:21:16,840 –> 00:21:18,680
That is organizational thermodynamics.
537
00:21:18,680 –> 00:21:22,600
And the more fabric is used as the office for data platform, the more pressure exists to
538
00:21:22,600 –> 00:21:23,600
broaden roles.
539
00:21:23,600 –> 00:21:28,000
Arun Ulaag’s framing is explicit reduce products brawl reduce integration burden.
540
00:21:28,000 –> 00:21:31,080
Make it easy for business to move that strategy is coherent.
541
00:21:31,080 –> 00:21:35,040
But when easy meets our back bundles, least privilege collapses because bundles are the
542
00:21:35,040 –> 00:21:40,440
opposite of intent intent is specific bundles are generic governance needs intent.
543
00:21:40,440 –> 00:21:44,080
Now pause here because this is the moment many listeners will try to rescue the story by saying
544
00:21:44,080 –> 00:21:46,000
okay, but we can just tighten roles.
545
00:21:46,000 –> 00:21:47,520
We can just do least privilege.
546
00:21:47,520 –> 00:21:50,400
No you can’t not sustainably not at scale.
547
00:21:50,400 –> 00:21:53,080
In fabric, least privilege is not a default posture.
548
00:21:53,080 –> 00:21:55,200
It’s an ongoing fight against delivery velocity.
549
00:21:55,200 –> 00:21:59,000
The system will always trend toward broader access because broader access reduces friction
550
00:21:59,000 –> 00:22:01,800
and fabric is designed to reward reduced friction.
551
00:22:01,800 –> 00:22:03,680
So scenario two is not a hypothetical.
552
00:22:03,680 –> 00:22:05,040
It’s the default operating model.
553
00:22:05,040 –> 00:22:08,880
You give people the ability to cause impact then you call the impact governed because you
554
00:22:08,880 –> 00:22:10,200
can see it afterward.
555
00:22:10,200 –> 00:22:11,200
That’s not governance.
556
00:22:11,200 –> 00:22:13,960
That’s permission chaos with high quality telemetry.
557
00:22:13,960 –> 00:22:18,120
And once you accept that our back governs capability, not intent, the next illusion becomes
558
00:22:18,120 –> 00:22:23,280
obvious sensitivity labels and DLP like signals because a label that can’t refuse execution
559
00:22:23,280 –> 00:22:29,680
is just metadata theater scenario three sensitivity labels without execution constraint scenario
560
00:22:29,680 –> 00:22:33,520
three is where people confuse classification with control because Microsoft has trained
561
00:22:33,520 –> 00:22:38,440
them to see labels as enforcement in Microsoft 365 sensitivity label can mean something
562
00:22:38,440 –> 00:22:42,680
concrete encryption, watermarks restricted sharing DLP behavior.
563
00:22:42,680 –> 00:22:46,920
It’s reasonable to carry that expectation into fabric and assume if the data is labeled
564
00:22:46,920 –> 00:22:50,800
the platform will block the wrong use of it that assumption fails the same way every
565
00:22:50,800 –> 00:22:53,240
other lineage based governance assumption fails.
566
00:22:53,240 –> 00:22:58,120
Timing a sensitivity label is metadata it describes the data it does not inherently sit
567
00:22:58,120 –> 00:23:03,400
in the execution path as a deny gate and a label that can’t refuse execution is documentation
568
00:23:03,400 –> 00:23:08,800
not control start with the clean setup a table in one lake backed storage is labeled confidential
569
00:23:08,800 –> 00:23:13,480
or highly confidential or whatever your taxonomy is maybe the label is applied manually.
570
00:23:13,480 –> 00:23:17,120
Maybe it’s applied automatically maybe it propagates to downstream items all of that looks
571
00:23:17,120 –> 00:23:21,120
like governance because it looks like intent got attached to the asset but intent is not
572
00:23:21,120 –> 00:23:23,120
the same as enforceable behavior.
573
00:23:23,120 –> 00:23:28,160
Now a notebook reads that labeled data not a malicious notebook a normal one a notebook exists
574
00:23:28,160 –> 00:23:34,480
to transform in rich join aggregate and write that’s what fabric notebooks are for turning
575
00:23:34,480 –> 00:23:39,360
inputs into outputs the notebook reads the label table performs a transformation and
576
00:23:39,360 –> 00:23:44,320
writes the results somewhere else a new lake house a new warehouse a file export a staging
577
00:23:44,320 –> 00:23:49,200
area for a report a temporary data set that becomes permanent pick any destination that
578
00:23:49,200 –> 00:23:52,920
is less controlled than the source or control differently here is the critical
579
00:23:52,920 –> 00:23:57,520
question governance requires does the platform evaluate the label in combination with the
580
00:23:57,520 –> 00:24:02,760
destination and refuse the right not does it show the label not does it propagate the label
581
00:24:02,760 –> 00:24:07,200
not does it record that the label data float into an output refuse means the output cannot
582
00:24:07,200 –> 00:24:12,720
be created and in most real estate nothing in that execution path is guaranteed to say no.
583
00:24:12,720 –> 00:24:16,360
What you get instead is label propagation theater the label travels the metadata updates
584
00:24:16,360 –> 00:24:20,880
and everyone points at the fact that the sensitive content state tagged that is not prevention
585
00:24:20,880 –> 00:24:24,680
because the risk you’re trying to go in is not whether the output is tagged the risk is
586
00:24:24,680 –> 00:24:28,560
whether the output exists in a location where the wrong people can access it or where the
587
00:24:28,560 –> 00:24:33,760
wrong egress paths exist or where export is easier or where sharing is broader a label
588
00:24:33,760 –> 00:24:37,600
can change the physics of access boundaries if the access boundary is a workspace role
589
00:24:37,600 –> 00:24:41,200
assignment and a sharing model and this is where fabrics execution first nature makes
590
00:24:41,200 –> 00:24:44,800
the problem worse notebooks and pipelines are designed to make copies they are copy
591
00:24:44,800 –> 00:24:49,880
engines if your governance posture depends on labels to prevent copying your relying on
592
00:24:49,880 –> 00:24:54,320
a signal to stop a mechanism that was built to ignore signals unless forced so what does
593
00:24:54,320 –> 00:24:58,720
lineage show it shows the labeled input it shows the notebook it shows the output it makes
594
00:24:58,720 –> 00:25:03,720
the flow look responsible because the metadata appears consistent it even makes the organization
595
00:25:03,720 –> 00:25:08,480
feel mature look we have labeling and we can trace it but nothing stopped the right this
596
00:25:08,480 –> 00:25:12,600
is why people get blindsided in audits an auditor doesn’t care that the copied data set
597
00:25:12,600 –> 00:25:16,920
is labeled confidential if it now exists in a workspace where contributors can export
598
00:25:16,920 –> 00:25:21,960
it to excel or share it broadly or connect downstream systems they care that the data moved
599
00:25:21,960 –> 00:25:26,800
into a weaker boundary and the platform did not refuse the move the uncomfortable truth
600
00:25:26,800 –> 00:25:31,400
is that labels are often treated as a substitute for architectural containment organizations label
601
00:25:31,400 –> 00:25:35,000
everything and assume that means the platform is governing but labels are a description
602
00:25:35,000 –> 00:25:39,880
layer without an enforcement layer that is both consistent and positioned before execution
603
00:25:39,880 –> 00:25:43,960
labels become compliance decoration and just like with our back bundles the exception
604
00:25:43,960 –> 00:25:48,760
pattern shows up immediately someone needs the data in another workspace just for analysis
605
00:25:48,760 –> 00:25:53,000
someone needs to stage it just for performance someone needs a copy just for the board
606
00:25:53,000 –> 00:25:57,880
pack the label remains the copy exists the governance team feels satisfied because the
607
00:25:57,880 –> 00:26:03,000
telemetry looks clean meanwhile the risk surface expanded so when you hear we’re safe because
608
00:26:03,000 –> 00:26:07,880
we label our fabric assets translated into the real statement we know what we leaked that’s
609
00:26:07,880 –> 00:26:12,600
not nothing but it’s not governance governance means the platform can say you can’t write
610
00:26:12,600 –> 00:26:17,080
label data into that destination you can’t export it through that path you can’t share it outside
611
00:26:17,080 –> 00:26:21,640
that boundary if the label can’t refuse execution it cannot be your control plane and once you accept
612
00:26:21,640 –> 00:26:27,080
that scenario for becomes obvious adding purview and adding native lineage doesn’t fix the timing
613
00:26:27,080 –> 00:26:32,440
problem it just gives you two observers watching the same failure scenario for purview versus native
614
00:26:32,440 –> 00:26:37,320
fabric lineage scenario for is the one Microsoft quietly benefits from because it turns a missing
615
00:26:37,320 –> 00:26:42,520
control into a perceived upgrade path native lineage is nice but will connect purview as if adding
616
00:26:42,520 –> 00:26:47,240
a second lineage graph upgrades observability into governance it does not purview is better at
617
00:26:47,240 –> 00:26:52,120
a lot of things fabric lineage is better at a few things they overlap they integrate they create
618
00:26:52,120 –> 00:26:57,400
a larger cleaner story but they are still observers and two observers do not equal one enforcer
619
00:26:57,400 –> 00:27:02,200
start with what each tool really is not what the marketing wants it to be fabric lineage is workspace
620
00:27:02,200 –> 00:27:07,720
centric dependency mapping it tells you what items used what other items inside the fabric execution
621
00:27:07,720 –> 00:27:15,000
surface notebooks pipelines lake houses warehouses semantic models reports it’s good for impact analysis
622
00:27:15,000 –> 00:27:19,800
it’s good for debugging it’s good for what changed and what will break purview is an enterprise meta
623
00:27:19,800 –> 00:27:25,080
data platform it builds an inventory it scans it classifies it gives you governance domains data
624
00:27:25,080 –> 00:27:29,960
products business context ownership workflows and critically visibility across systems that aren’t
625
00:27:29,960 –> 00:27:35,160
fabric purview is a catalog of catalogs fabric lineage is a local map but both share the same
626
00:27:35,160 –> 00:27:40,200
structural limitation they operate after the fact look at the execution order again a pipeline runs
627
00:27:40,200 –> 00:27:44,680
a notebook writes a data set gets published a downstream artifact is created then telemetry gets
628
00:27:44,680 –> 00:27:50,040
emitted then the lineage graph updates then purview scans ingest meta data and presents it in a
629
00:27:50,040 –> 00:27:55,640
unified catalog that order matters because anything that requires scanning ingestion mapping and
630
00:27:55,640 –> 00:27:59,880
visualization is not sitting in line with the right operation it is not a gate so in this scenario
631
00:27:59,880 –> 00:28:04,200
the organization does what it always does it takes a weakness and wraps it in a dashboard they
632
00:28:04,200 –> 00:28:08,920
connect fabric to purview they enable the admin apis they run scans they create collections they
633
00:28:08,920 –> 00:28:13,720
build governance domains they assign owners they see their assets they see their lineage they see
634
00:28:13,720 –> 00:28:18,120
their classifications and then the data still moves because none of that changed the execution pathway
635
00:28:18,120 –> 00:28:22,440
purview can tell you that sensitive data exists in a lake house it can tell you that it flowed
636
00:28:22,440 –> 00:28:26,360
through a notebook it can show you that a report depends on it it can even show you the approval
637
00:28:26,360 –> 00:28:30,920
workflow for requesting access to a data product but if someone already has the ability to run the
638
00:28:30,920 –> 00:28:35,720
notebook and write the output purview did not prevent anything it simply improved the quality of
639
00:28:35,720 –> 00:28:40,360
the narrative this is why the purview will fix governance belief is so persistent purview feels
640
00:28:40,360 –> 00:28:44,920
like governance because it uses governance language domains policies data products access requests
641
00:28:44,920 –> 00:28:49,080
stewardship quality scores it gives you formal structures it gives you process it looks like
642
00:28:49,080 –> 00:28:54,120
authority but process is not authority unless the process is bound to an enforcement point otherwise
643
00:28:54,120 –> 00:28:59,080
it’s a request and requests do not survive deadlines here’s the counter intuitive part purview
644
00:28:59,080 –> 00:29:04,040
integration can actually increase false confidence because now you have two layers of visibility when
645
00:29:04,040 –> 00:29:08,120
something goes wrong you can open fabric lineage and explain the local flow then you can open
646
00:29:08,120 –> 00:29:12,520
purview and explain the broader flow you can show labels you can show classifications you can show
647
00:29:12,520 –> 00:29:17,800
who owns what and because the story’s richer leadership feels the system is more governed meanwhile
648
00:29:17,800 –> 00:29:22,600
the actual gating decision still lives where it always lived in role assignment and in whatever
649
00:29:22,600 –> 00:29:28,200
egress controls exist outside fabric so the real test for scenario four isn’t can purview show
650
00:29:28,200 –> 00:29:34,280
me the lineage of course it can the test is can purview refuse the notebook right right now before
651
00:29:34,280 –> 00:29:39,320
the output exists because the destination violates policy if the answer is no purview is not your
652
00:29:39,320 –> 00:29:43,800
enforcement layer it is your observability layer a valuable one but not the one you needed this
653
00:29:43,800 –> 00:29:49,320
scenario ends with the same uncomfortable line every scenario ends with visibility is not authority
654
00:29:49,320 –> 00:29:54,920
purview plus fabric lineage equals better visibility it does not equal governance and once you accept
655
00:29:54,920 –> 00:30:00,200
that you can finally see why the illusion exists at all Microsoft sells unification as safety and
656
00:30:00,200 –> 00:30:06,200
that is the next problem the office for data story creates control plane illusions Microsoft didn’t
657
00:30:06,200 –> 00:30:11,560
accidentally create this confusion the platform story trains people to expect governance because it
658
00:30:11,560 –> 00:30:17,480
borrows the most emotionally persuasive analogy in enterprise software office Arun Ulaag says it
659
00:30:17,480 –> 00:30:23,640
plainly in interviews customers were drowning in complexity too many products too much integration
660
00:30:23,640 –> 00:30:29,400
burden and the goal was to do for data what office did for productivity one suite one surface one
661
00:30:29,400 –> 00:30:34,360
lake one place to work and for adoption that’s brilliant but office never promised control it promised
662
00:30:34,360 –> 00:30:40,440
convenience the illusion happens when organizations translate unified experience into unified authority
663
00:30:40,440 –> 00:30:45,000
they they assume that because everything is in one place the platform must also be the place where
664
00:30:45,000 –> 00:30:49,880
policy is enforced they assume the unification layer is the control plane it isn’t office is not a
665
00:30:49,880 –> 00:30:54,280
firewall it’s a productivity surface people can still paste secrets into a document they can
666
00:30:54,280 –> 00:30:58,680
still forward an attachment they can still save something to the wrong place Microsoft added purview
667
00:30:58,680 –> 00:31:03,240
dLP labels and retention over time because the base product was about creating and sharing not
668
00:31:03,240 –> 00:31:08,120
enforcing intent fabric is following the same pattern it is a productivity surface for data and when
669
00:31:08,120 –> 00:31:13,080
you hear one lake is one drive for data you should translate it into the real architectural implication
670
00:31:13,080 –> 00:31:18,120
this is a shared substrate optimized for movement movement is the point friction is the enemy that
671
00:31:18,120 –> 00:31:23,240
is white cells now add the slogan that gets repeated in governance discussions discipline at the
672
00:31:23,240 –> 00:31:29,000
core flexibility at the edge it sounds responsible it sounds like a mature federated model it is also
673
00:31:29,000 –> 00:31:34,120
a perfect description of how entropy gets invited in because flexibility at the edge is where execution
674
00:31:34,120 –> 00:31:39,080
happens edge teams create notebooks pipelines and data products under deadline they copy artifacts
675
00:31:39,080 –> 00:31:44,120
they share shortcuts they publish models they materialize outputs and if the platform does not
676
00:31:44,120 –> 00:31:49,160
have a hard enforcement point that forces discipline into those actions discipline at the core becomes
677
00:31:49,160 –> 00:31:54,120
a documentation exercise central teams write standards edge teams root around them everyone calls
678
00:31:54,120 –> 00:31:57,960
it balance this is the uncomfortable truth federated governance without enforcement is just
679
00:31:57,960 –> 00:32:03,080
distributed exception handling and Microsoft’s incentive structure reinforces it the platform
680
00:32:03,080 –> 00:32:08,440
succeeds when it reduces friction and increases usage it succeeds when teams can onboard quickly build
681
00:32:08,440 –> 00:32:13,400
quickly and iterate without waiting for a central counsel to approve every move so the product pushes
682
00:32:13,400 –> 00:32:18,120
power outward more capabilities in workspaces more self service creation more integration between
683
00:32:18,120 –> 00:32:23,240
experiences and more pathways to get data from here to there that is not a bug that is the
684
00:32:23,240 –> 00:32:27,880
business model which means the platform will always bias toward enabling actions first and
685
00:32:27,880 –> 00:32:32,760
documenting them second control shows up later as overlays labeling cataloging scanning dashboards
686
00:32:32,760 –> 00:32:39,240
and governance hubs useful overlays but overlays the psychological trap is predictable unification
687
00:32:39,240 –> 00:32:44,760
produces visibility visibility feels like control leaders see domains catalogs endorsements labels
688
00:32:44,760 –> 00:32:49,000
and lineage graphs and assume the platform is governing because it looks orderly orderliness is
689
00:32:49,000 –> 00:32:54,200
not authority and the more the platform integrates the stronger the illusion gets when fabric integrates
690
00:32:54,200 –> 00:32:58,920
with purview and purview integrates with the Microsoft 365 compliance stack and governance
691
00:32:58,920 –> 00:33:04,040
language becomes ubiquitous people stop asking the only question that matters where is the deny
692
00:33:04,040 –> 00:33:08,440
they start asking softer questions do we have a dashboard do we have ownership do we have labels
693
00:33:08,440 –> 00:33:13,240
do we have lineage those are observability questions they are not enforcement questions so the office
694
00:33:13,240 –> 00:33:18,040
for data story creates a specific kind of organizational failure it convinces executives that buying
695
00:33:18,040 –> 00:33:23,080
unification board control it convinces architects that a single platform implies a single policy
696
00:33:23,080 –> 00:33:28,440
plane it convinces governance teams that adding more metadata will eventually become enforcement
697
00:33:28,440 –> 00:33:34,200
and then reality shows up on a timeline not a diagram a timeline an incident happens a breach
698
00:33:34,200 –> 00:33:39,400
an overshare a regulatory exposure how did this data get here moment and the organization learns
699
00:33:39,400 –> 00:33:44,360
in the most expensive way possible that the platform can explain what happened it cannot reverse it
700
00:33:44,360 –> 00:33:49,320
that’s the next scenario because nothing closes the gap between observability and governance like
701
00:33:49,320 –> 00:33:55,480
incident response scenario five incident response timeline incident response is where the lineage lie
702
00:33:55,480 –> 00:34:00,600
stops being philosophical and becomes a calendar because governance is measured in timing not in
703
00:34:00,600 –> 00:34:05,880
diagrams here’s the standard timeline every regulated organization eventually lives through something
704
00:34:05,880 –> 00:34:11,400
happens data shows up somewhere it shouldn’t a report gets shared too broadly a data set gets exported
705
00:34:11,400 –> 00:34:15,720
a lake house copy appears in the wrong workspace sometimes it’s malicious most of the time it’s
706
00:34:15,720 –> 00:34:21,320
just normal work moving faster than policy that’s moment one impact then comes moment two detection
707
00:34:21,320 –> 00:34:25,960
maybe it’s a DLP alert maybe it’s an insider risk signal maybe it’s a user saying why can I see
708
00:34:25,960 –> 00:34:30,520
this maybe it’s an auditor asking for evidence you can’t produce the important part is that
709
00:34:30,520 –> 00:34:36,120
detection is downstream of impact then comes moment three the scramble for narrative this is when
710
00:34:36,120 –> 00:34:41,800
everyone opens the same set of tools activity logs audit logs lineage graphs catalog entries workspace
711
00:34:41,800 –> 00:34:47,160
permissions people start reconstructing and yes lineage is useful here it tells you which items used
712
00:34:47,160 –> 00:34:51,960
which sources it gives you a dependency chain it helps you answer how did the data travel but notice
713
00:34:51,960 –> 00:34:56,440
what just happened lineage entered the story after the outcome existed which means lineage is
714
00:34:56,440 –> 00:35:02,120
participating in forensics not prevention now moment four containment this is where the organization
715
00:35:02,120 –> 00:35:06,840
tries to stop further damage they remove access they lock down sharing they revoke tokens they
716
00:35:06,840 –> 00:35:11,960
disable exports they rotate secrets they update a policy they create a new security group they
717
00:35:11,960 –> 00:35:16,360
rename a workspace they move an artifact they tell everyone to stop using the old thing and use the
718
00:35:16,360 –> 00:35:21,480
new thing containment is messy because fabric is unified the same convenience that accelerates
719
00:35:21,480 –> 00:35:26,440
delivery also accelerates blast radius if a data set has been reused widely you now have to unwind
720
00:35:26,440 –> 00:35:31,560
reuse if a pipeline has been copied you now have multiple copies if a notebook wrote a derivative
721
00:35:31,560 –> 00:35:35,880
you now have derivative assets with their own downstream consumers you’re no longer fixing one
722
00:35:35,880 –> 00:35:40,760
thing you’re negotiating with a dependency graph that grew without you then moment five reconstruction
723
00:35:40,760 –> 00:35:45,240
this is the part auditors love and engineers hate you build an incident report you export logs you
724
00:35:45,240 –> 00:35:50,040
annotate lineage screenshots you write the story what happened when who did it what systems were
725
00:35:50,040 –> 00:35:56,040
involved what data was exposed what controls existed what controls failed what remediation you applied
726
00:35:56,040 –> 00:36:00,520
that report feels like governance because it produces artifacts it produces process output it
727
00:36:00,520 –> 00:36:05,320
produces a sense of closure but closure is not control it’s documentation of failure now here’s
728
00:36:05,320 –> 00:36:11,640
the part most organizations don’t say out loud the timeline proves what layer you actually govern with
729
00:36:11,640 –> 00:36:15,880
if the first time you can govern the event is after the right completed you didn’t govern it you
730
00:36:15,880 –> 00:36:20,200
observed it if the first time you can apply policy is after the export happened you didn’t prevent
731
00:36:20,200 –> 00:36:24,920
anything if the first time you can classify the asset is after it already moved the classification
732
00:36:24,920 –> 00:36:30,120
is just metadata about a new problem you now have governance that arrives after impact is not
733
00:36:30,120 –> 00:36:35,000
governance it is incident response an incident response is necessary but it is not an acceptable
734
00:36:35,000 –> 00:36:39,480
substitute for a policy enforcement point when your risk model requires prevention so when someone
735
00:36:39,480 –> 00:36:44,280
claims fabric lineage gives us governance the incident response timeline is the clean rebuttal
736
00:36:44,280 –> 00:36:49,720
ask them in order when did the system refuse the action not when did it show it now not when did it
737
00:36:49,720 –> 00:36:55,000
alerted not when did we notice when did it deny because if the answer is we saw it in lineage you’ve
738
00:36:55,000 –> 00:36:59,800
already lost lineage is what you open when the outcome exists you are now doing forensics you are
739
00:36:59,800 –> 00:37:04,280
now explaining damage that was permitted by design this is why the platform feels safe right up
740
00:37:04,280 –> 00:37:09,000
until it doesn’t everything looks controlled until an event forces the only question that matters
741
00:37:09,000 –> 00:37:13,800
what prevented this and if the honest answer is nothing prevented it but we can explain it then you
742
00:37:13,800 –> 00:37:18,600
don’t have governance you have observability plus meetings plus hope so stop blaming lineage for
743
00:37:18,600 –> 00:37:23,000
not being a gate that’s not its job the actual failure is blaming the wrong layer for the right
744
00:37:23,000 –> 00:37:28,040
problem and that takes us to the responsibility map who answers who who answers what happened who
745
00:37:28,040 –> 00:37:33,400
answers can it run and who is supposed to answer should it run here now with this data the
746
00:37:33,400 –> 00:37:38,440
responsibility map stop miss assigning blame most governance failures happen because the wrong
747
00:37:38,440 –> 00:37:43,320
layer is blamed for the right failure people blame fabric for not governing they blame purview
748
00:37:43,320 –> 00:37:49,320
for not enforcing they blame entra for not being granular then they add more policies more dashboards
749
00:37:49,320 –> 00:37:54,040
more committees and they wonder why nothing gets safer the system did exactly what you asked it to do
750
00:37:54,040 –> 00:37:59,080
you just ask the wrong layer so here’s the responsibility map stated the way systems actually behave
751
00:37:59,080 –> 00:38:04,440
not the way product pages describe them start with Microsoft entra and entra answers who are you
752
00:38:04,440 –> 00:38:10,360
and at a course level are you allowed into the surface area authentication token issuance conditional
753
00:38:10,360 –> 00:38:14,680
access conditions group membership role assignments that decide whether the user can even reach the
754
00:38:14,680 –> 00:38:19,960
workload entra is identity it is not a data control plane it does not understand the semantics of
755
00:38:19,960 –> 00:38:24,600
this table is sensitive and cannot be written into that workspace because entra doesn’t see
756
00:38:24,600 –> 00:38:29,720
tables and workspaces as policy objects in the way your auditors imagine entra enforces identity
757
00:38:29,720 –> 00:38:34,840
posture it doesn’t compile data intent into execution time denies so when governance teams keep
758
00:38:34,840 –> 00:38:40,040
saying will fix fabric governance in entra what they mean is will restrict who can get in that
759
00:38:40,040 –> 00:38:45,160
helps it will not solve intent then there’s Microsoft fabric fabric answers can this run it’s an
760
00:38:45,160 –> 00:38:49,240
execution substrate a distributed decision engine for running workloads but not a centralized
761
00:38:49,240 –> 00:38:54,120
policy arbiter for evaluating whether an outcome should exist it will happily run a notebook run
762
00:38:54,120 –> 00:39:00,120
a pipeline materialize an output publish a model generate a report fabrics core job is to execute
763
00:39:00,120 –> 00:39:04,360
within the permissions already granted so when you say fabric should have blocked that you are
764
00:39:04,360 –> 00:39:09,960
trying to retrofit should into a layer design to answer can fabric does not do morals it does mechanics
765
00:39:10,280 –> 00:39:15,640
then there’s Microsoft purview purview answers what happened and what is this data it catalogs it
766
00:39:15,640 –> 00:39:20,760
classifies it builds lineage across systems it supports audits and investigations it can make data
767
00:39:20,760 –> 00:39:25,720
discoverable with ownership domains and workflows which is valuable because most organizations have
768
00:39:25,720 –> 00:39:30,440
no idea what they own until something goes wrong but purview is still not your inline gate purview
769
00:39:30,440 –> 00:39:35,240
excels at describing reality it does not sit inside every execution path and refuse every
770
00:39:35,240 –> 00:39:39,880
prohibited action before the state change commits if you treat purview as an enforcement layer
771
00:39:39,880 –> 00:39:44,920
you will build a program that looks governed and behaves permissively and this is where people get
772
00:39:44,920 –> 00:39:50,760
confused because Microsoft uses governance language for visibility products domains data products
773
00:39:50,760 –> 00:39:56,600
quality scores risk assessments all useful still not an execution time deny so what’s missing
774
00:39:56,600 –> 00:40:02,200
a layer that answers the only question governance actually requires should this run here now with
775
00:40:02,200 –> 00:40:06,680
this data to that destination under these conditions that’s the policy decision point and it’s
776
00:40:06,680 –> 00:40:11,320
sibling the policy enforcement point call it a data control plane if you want but the definition is
777
00:40:11,320 –> 00:40:16,360
the same centralized intent compiled into deterministic enforcement placed before execution not
778
00:40:16,360 –> 00:40:22,040
after if that layer doesn’t exist governance becomes a cultural program instead of a system behavior
779
00:40:22,040 –> 00:40:27,160
and cultural programs degrade under pressure now to be clear this missing layer doesn’t have to be
780
00:40:27,160 –> 00:40:33,080
a single Microsoft product it rarely is in most enterprises it’s a combination of architecture choices
781
00:40:33,080 –> 00:40:39,320
constrained egress restricted destinations pre-approved pathways and explicit deny conditions
782
00:40:39,320 –> 00:40:45,400
it is designed that makes the unsafe path impossible not a policy that asks people politely so
783
00:40:45,400 –> 00:40:53,000
the responsibility map is brutal but liberating enter who fabric can it run purview what happened
784
00:40:53,000 –> 00:40:58,200
missing layer should it run once you assign responsibility correctly you stop trying to squeeze
785
00:40:58,200 –> 00:41:03,960
governance out of lineage you stop asking observability tools to behave like enforcement tools and you
786
00:41:03,960 –> 00:41:09,400
stop assuming that unified means governed then the rest becomes mechanical you can test any governance
787
00:41:09,400 –> 00:41:14,440
feature by asking where it lives in this map if it’s identity it won’t govern data intent if it’s
788
00:41:14,440 –> 00:41:19,160
metadata it won’t prevent execution if it’s execution it will not judge outcomes that distinction
789
00:41:19,160 –> 00:41:23,960
matters because once you stop misassigning blame you can finally define governance in a way that
790
00:41:23,960 –> 00:41:29,480
survives reality the four question governance litmus test so if the responsibility map is correct
791
00:41:29,480 –> 00:41:34,360
the next move is to stop arguing about features and start testing architecture most governance
792
00:41:34,360 –> 00:41:39,800
conversations stay vague on purpose vague language protects bad assumptions we have controls
793
00:41:39,800 –> 00:41:45,800
we have visibility we have purview we have policies none of those statements mean anything until
794
00:41:45,800 –> 00:41:51,880
you can answer one question can the system stop the outcome to make this practical user litmus test
795
00:41:51,880 –> 00:41:56,840
four questions if you can’t answer yes to all four for a given control then it’s not governance it
796
00:41:56,840 –> 00:42:01,720
might be useful it might be necessary but it’s not governance question one can the system say no
797
00:42:01,720 –> 00:42:07,800
not can it warn not can it alert not can it log not can it show me a report can it refuse the action
798
00:42:07,800 –> 00:42:12,120
if a user can still copy the data export it materialize it or share it and the systems
799
00:42:12,120 –> 00:42:16,280
contribution is that it documented the action then the system did not say no it said good luck
800
00:42:16,280 –> 00:42:21,240
and then wrote a receipt question two can it say no before execution this is where most tools die
801
00:42:21,240 –> 00:42:25,960
before execution means the denial occurs prior to state change before the notebook write commits
802
00:42:25,960 –> 00:42:30,840
before the pipeline output exists before the shortcut resolves into accessible data before the
803
00:42:30,840 –> 00:42:35,640
export lands in someone’s downloads folder if the deny happens after execution its incident
804
00:42:35,640 –> 00:42:41,400
response maybe automated incident response still incident response governance that arrives after
805
00:42:41,400 –> 00:42:47,960
impact is paperwork useful paperwork not governance question three can it enforce centrally
806
00:42:47,960 –> 00:42:53,080
centrally doesn’t mean there’s a portal centrally means there is one place where intent is expressed
807
00:42:53,080 –> 00:42:58,920
and consistently enforced across the estate across workspaces across domains across teams across
808
00:42:58,920 –> 00:43:04,440
workloads if the enforcement depends on every workspace admin remembering to configure the same
809
00:43:04,440 –> 00:43:09,720
settings you don’t have a control plane you have distributed hope and hope as a governance strategy
810
00:43:09,720 –> 00:43:15,720
has a short half-life question four can it fail safely a govern system fails closed deny by default
811
00:43:15,720 –> 00:43:21,000
contained blast radius the safe failure mode is nothing happened not something happened and will
812
00:43:21,000 –> 00:43:25,960
clean it up if a system fails open because a dependency is down a scan didn’t run a label didn’t
813
00:43:25,960 –> 00:43:30,280
propagate an exception got added then you’re operating a probabilistic security model you’re betting
814
00:43:30,280 –> 00:43:34,600
your compliance posture on uptime timing and human discipline that is not a bet you get to make
815
00:43:34,600 –> 00:43:38,840
forever now take those four questions and apply them to the things people commonly call fabric
816
00:43:38,840 –> 00:43:44,440
governance lineage can it say no no can it say no before execution no can it enforce centrally
817
00:43:44,440 –> 00:43:49,000
it can centralize visibility not enforcement can it fail safely it fails is incomplete telemetry not
818
00:43:49,000 –> 00:43:54,360
as a deny gate that’s not governance tags and endorsements can they say no no they’re metadata
819
00:43:54,360 –> 00:44:00,520
and trust signals useful not enforcement purview catalogs and scans can they say no they can
820
00:44:00,520 –> 00:44:05,800
drive workflows and classifications but unless a policy is enforced in line scans do not stop rights
821
00:44:05,800 –> 00:44:10,760
and scans by definition occur after something exists to be scanned even many security features people
822
00:44:10,760 –> 00:44:15,640
assume our governance collapse under this test because they only apply to specific egress parts
823
00:44:15,640 –> 00:44:20,680
specific workloads or specific user experiences selective enforcement is still not deterministic
824
00:44:20,680 –> 00:44:25,960
governance now keep this distinction clean this litmus test is not saying fabric is insecure it is
825
00:44:25,960 –> 00:44:30,440
saying something more uncomfortable fabric is an execution platform execution platforms do not
826
00:44:30,440 –> 00:44:35,240
govern by default they execute by default so if your governance requirement is prevention you
827
00:44:35,240 –> 00:44:40,360
must place prevention where prevention can exist at the point of decision and enforcement before
828
00:44:40,360 –> 00:44:45,720
execution consistently and with safe failure modes say the four questions slowly because you will
829
00:44:45,720 –> 00:44:52,040
reuse them in meetings can the system say no can it say no before execution can it enforce centrally
830
00:44:52,040 –> 00:44:57,960
can it fail safely and now say them faster because this is how you spot the lie in real time no before
831
00:44:57,960 –> 00:45:02,520
central safe if any one of those is missing you don’t have governance you have observability plus
832
00:45:02,520 –> 00:45:06,760
process the next step is turning this into a decision tree because architects don’t need more
833
00:45:06,760 –> 00:45:11,640
principles they need a rooting rule when to treat something as prevention and when to treat it as
834
00:45:11,640 –> 00:45:18,440
telemetry the decision tree prevention versus observability now take the litmus test and weaponize it
835
00:45:18,440 –> 00:45:23,160
not as philosophy as a routing decision because in real enterprises you don’t get to implement
836
00:45:23,160 –> 00:45:27,720
governance you choose where you’re going to spend constraint and where you’re going to accept
837
00:45:27,720 –> 00:45:32,760
drift so here’s the decision tree first branch do you need prevention or do you need observability
838
00:45:32,760 –> 00:45:37,880
that sounds obvious but most organizations never answer it explicitly they just buy tools enable
839
00:45:37,880 –> 00:45:43,080
features and assume it all adds up to governed it doesn’t if you need prevention the rule is simple
840
00:45:43,080 –> 00:45:47,560
you must design for enforcement before execution that means you don’t start with lineage you start
841
00:45:47,560 –> 00:45:53,400
with choke points you identify the actions that create irreversible risk data leaving a boundary
842
00:45:53,400 –> 00:45:59,800
new copies being created exports external sharing downstream materialization into less trusted zones
843
00:45:59,800 –> 00:46:04,360
then you force those actions through a limited number of pathways you reduce the number of ways a
844
00:46:04,360 –> 00:46:09,000
human can accomplish the same outcome because in a distributed execution platform multiple pathways
845
00:46:09,000 –> 00:46:13,560
is the enemy every extra pathways and extra policy surface and every policy surface becomes
846
00:46:13,560 –> 00:46:19,000
inconsistent over time so prevention mode looks like this you don’t ask can we track it you ask where
847
00:46:19,000 –> 00:46:24,680
can we deny it pre execution gates controlled egress explicit destinations a model that fails closed
848
00:46:24,680 –> 00:46:29,320
a model where the unsafe outcome is impossible without deliberately breaking glass and in
849
00:46:29,320 –> 00:46:34,040
fabric terms this usually means you stop treating the workspace as your containment boundary
850
00:46:34,040 –> 00:46:39,240
you treat it as collaboration the actual containment lives outside it in network egress controls
851
00:46:39,240 –> 00:46:44,680
in storage boundaries in pre-approved publishing parts in external policy engines in whatever mechanism
852
00:46:44,680 –> 00:46:49,480
your architecture can force fabric to respect second branch if you need observability then stop
853
00:46:49,480 –> 00:46:54,120
pretending your building gates build sensors this is where lineage is excellent audit logs are
854
00:46:54,120 –> 00:46:59,880
excellent purview is excellent monitoring hubs activity logs inventory classification ownership
855
00:46:59,880 –> 00:47:05,480
workflows this is the real world where observability wins observability mode looks like this you accept
856
00:47:05,480 –> 00:47:09,880
that the platform will execute therefore you maximize your ability to understand troubleshoot
857
00:47:09,880 –> 00:47:15,000
and explain you optimize for impact analysis not containment you treat lineage as a dependency
858
00:47:15,000 –> 00:47:19,880
graph not a safety boundary and you use that visibility to reduce mean time to detection reduce
859
00:47:19,880 –> 00:47:25,400
mean time to response and improve your ability to answer regulators with evidence that’s valuable
860
00:47:25,400 –> 00:47:30,120
it’s just not prevention now the third branch is the one nobody admits the mixed mode most
861
00:47:30,120 –> 00:47:35,480
organizations end up here they have a few prevention controls in a few places and observability
862
00:47:35,480 –> 00:47:40,440
everywhere else this is the default because it feels balanced but mixed mode is where probabilistic
863
00:47:40,440 –> 00:47:45,400
security is born because the moment you have some parts are blocked some parts are just logged
864
00:47:45,400 –> 00:47:50,600
people root around the blocked parts not maliciously operationally they pick the path that works
865
00:47:50,600 –> 00:47:55,320
so if you’re in mixed mode you have exactly one job make sure the un gated paths do not exist
866
00:47:55,320 –> 00:47:59,480
for high impact outcomes if you can’t do that then stop calling the system governed call it
867
00:47:59,480 –> 00:48:04,760
monitored and design incident response like you mean it now apply the decision tree to the artifacts
868
00:48:04,760 –> 00:48:10,440
people love to cite lineage observability always treated as forensic telemetry purview catalog
869
00:48:10,440 –> 00:48:16,200
observability and process useful for discovery ownership and audit trails still not your inline gate
870
00:48:16,200 –> 00:48:21,240
are back access control it constraints who can act it does not constrain whether the act is acceptable
871
00:48:21,240 –> 00:48:26,440
for the data and destination so the decision tree becomes a practical meeting tool when someone says
872
00:48:26,440 –> 00:48:31,560
we’ll use lineage for governance you respond with one question are we trying to prevent an outcome
873
00:48:31,560 –> 00:48:36,440
or are we trying to explain it if they say prevent you ask where is the deny before execution gate
874
00:48:36,440 –> 00:48:40,440
if they can’t answer the conversation ends not because you’re being difficult but because the
875
00:48:40,440 –> 00:48:45,480
architecture already decided and if they say explain then fine turn on lineage integrate purview
876
00:48:45,480 –> 00:48:50,120
improve the catalog instrument everything build the best forensic story you can just don’t confuse
877
00:48:50,120 –> 00:48:54,280
that with authority now here’s the part that actually changes behavior repeat the routing rule
878
00:48:54,280 –> 00:48:59,240
in one line prevention lives above fabric observability lives after fabric and if you confuse the two you
879
00:48:59,240 –> 00:49:04,680
don’t get better governance you get audit failure with better diagrams which is why the next section
880
00:49:04,680 –> 00:49:10,120
matters a governance model that doesn’t depend on hope and doesn’t require a product shopping spree
881
00:49:10,120 –> 00:49:16,120
30 to 60 day governance model that doesn’t depend on hope now the obvious question what does an
882
00:49:16,120 –> 00:49:21,480
actual governance posture look like if fabric lineage is telemetry not authority it looks like
883
00:49:21,480 –> 00:49:27,160
governance subtraction not addition most teams try to govern by piling on artifacts more tags more
884
00:49:27,160 –> 00:49:31,720
domains more documentation more meetings that increases the narrative quality it does not reduce the
885
00:49:31,720 –> 00:49:37,560
number of ways data can escape so the 30 60 day model starts with one ruthless move remove pathways
886
00:49:37,560 –> 00:49:43,080
not educate people to behave and remove the ability to bypass intent week one and two define explicit
887
00:49:43,080 –> 00:49:47,720
deny conditions this is not a policy document this is a set of outcomes that are architecturally
888
00:49:47,720 –> 00:49:53,880
unacceptable sensitive data materialized outside approved workspaces data exported to unmanaged
889
00:49:53,880 –> 00:50:00,600
endpoints data shared externally high risk assets copied into personal or exploratory zones
890
00:50:00,600 –> 00:50:05,960
workloads running with identities that cannot be traced to accountable owners write them as deny
891
00:50:05,960 –> 00:50:11,720
statements because that forces clarity this must not happen week three and four externalize enforcement
892
00:50:11,720 –> 00:50:17,560
if you need a deny before execution gate put it where a deny can exist in the parts that create new
893
00:50:17,560 –> 00:50:22,680
state in practice that means you pick controlled egress points and make them boring publishing pipelines
894
00:50:22,680 –> 00:50:27,720
that are the only allowed route into curated zones approved destinations that are the only allowed
895
00:50:27,720 –> 00:50:33,080
place sensitive outputs can land network constraints that make just right at somewhere else fail this is
896
00:50:33,080 –> 00:50:38,200
the part people hate because it reduces freedom good governance is the deliberate reduction of freedom
897
00:50:38,200 –> 00:50:43,160
for high impact actions week five and six reduce fabric privileges stop treating contributor
898
00:50:43,160 –> 00:50:48,760
and member as default developer roles their capability bundles bundles create entropy so you shrink
899
00:50:48,760 –> 00:50:54,120
who can create new items who can publish widely who can share who can export who can manage connections
900
00:50:54,120 –> 00:50:58,840
you do it with groups not people because people move and groups are the only scalable unit of intent
901
00:50:58,840 –> 00:51:03,880
and when someone says we need admin just for this one thing you treat that as a break glass event
902
00:51:03,880 –> 00:51:09,480
with an owner a time limit and an audit trail not because you love bureaucracy but because temporary
903
00:51:09,480 –> 00:51:14,680
admin is the most common permanent condition in Microsoft estates week seven and eight formalize
904
00:51:14,680 –> 00:51:19,880
lineage as audit only telemetry this is a psychological change not a technical one you stop using lineage
905
00:51:19,880 –> 00:51:24,760
to argue that your governed you use lineage to answer three things what depends on what what changed
906
00:51:24,760 –> 00:51:29,080
and what happened you align lineage with incident response and operational troubleshooting not
907
00:51:29,080 –> 00:51:34,440
prevention that keeps the tool honest and keeps your governance posture from turning into theater now
908
00:51:34,440 –> 00:51:38,840
notice what I didn’t say I didn’t say go buy more governance products I didn’t say turn on every
909
00:51:38,840 –> 00:51:43,240
feature I didn’t say build a bigger catalog because the core issue wasn’t a missing dashboard it was
910
00:51:43,240 –> 00:51:47,640
a missing enforcement layer and too many allowed parts around intent when you subtract pathways and
911
00:51:47,640 –> 00:51:52,920
you constrain high impact actions into narrow enforceable routes the platform becomes calmer the blast
912
00:51:52,920 –> 00:51:58,120
radius shrinks the number of exceptions drops and the system starts behaving deterministically again
913
00:51:58,120 –> 00:52:02,280
then lineage becomes what it should have been all along a forensic graph that helps you operate not
914
00:52:02,280 –> 00:52:07,480
a comfort blanket that helps you pretend and once you do that the final reframe lands cleanly fabric
915
00:52:07,480 –> 00:52:12,520
didn’t fail at governance your assumption did fabric lineage explains what happened governance
916
00:52:12,520 –> 00:52:17,480
prevents what’s allowed to happen confusing them turns your data estate into conditional chaos
917
00:52:17,480 –> 00:52:21,960
if you want the next step the next episode designs an actual data control plane and explains why
918
00:52:21,960 –> 00:52:27,720
Microsoft doesn’t ship one by default subscribe and send this to the person who keeps calling dashboards controls