Customer 360 Enterprise Data Platform — Denodo on Azure · View 24 of 39 · Runtime
The decision that makes this safe
- The assistant carries the agent's on-behalf-of token and queries as the agent. It holds no credential and has no entitlements of its own — the row filters and masks that apply in Power BI apply here unchanged.
- Step 13 on the diagram is the point: a request for an unmasked card number is refused by the same policy that would refuse the same agent in any other channel. No AI-specific guardrail was needed, because there was no AI-specific access path to guard.
- Tool results carry lineage references, so an answer can be traced to the views and sources it was grounded on.
The alternative rejected
- A service principal for the assistant with broad read access and prompt-level filtering. It works in a demonstration and fails the first time a prompt is phrased in a way the filter did not anticipate.
- Grounding on a vector index built from the 360 was also rejected for the operational use case: the index is a copy, and a copy of entitled data has its own entitlement problem.
Risks
- Prompt and response are logged with the rows returned. That log is itself sensitive and lands in Sentinel under the same retention and access rules as the audit trail.