<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Controlling Agent access to Tools and Tool access to Data Operations in Lakebase Discussions</title>
    <link>https://community.databricks.com/t5/lakebase-discussions/controlling-agent-access-to-tools-and-tool-access-to-data/m-p/157569#M102</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/193023"&gt;@smithsonian&lt;/a&gt;,&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea" data-pm-slice="1 1 []"&gt;The general best-practice pattern is to separate what the agent plans... from...what the platform will actually allow it to do.&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;If the data already lives in Unity Catalog, a good approach is to use Unity Catalog as the system of record for data permissions and use &lt;A href="https://docs.databricks.com/aws/en/ai-gateway" rel="noopener noreferrer nofollow" target="_blank"&gt;Unity AI Gateway&lt;/A&gt; as the runtime governance layer for agents, LLM endpoints, and MCP servers.&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;In practical terms, that usually means&amp;nbsp;&lt;SPAN&gt;keeping planning/reasoning agents read-only where possible and&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;exposing actions through governed tools such as &lt;/SPAN&gt;&lt;A style="font-family: inherit; background-color: #ffffff;" href="https://docs.databricks.com/aws/en/generative-ai/mcp" rel="noopener noreferrer nofollow" target="_blank"&gt;UC functions and MCP servers&lt;/A&gt;&lt;SPAN&gt;, rather than letting agents perform arbitrary direct operations. Another recommendation is to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;run user-facing workflows with &lt;/SPAN&gt;&lt;A style="font-family: inherit; background-color: #ffffff;" href="https://docs.databricks.com/aws/en/generative-ai/agent-framework/agent-authentication-model-serving#on-behalf-of-user-authentication" rel="noopener noreferrer nofollow" target="_blank"&gt;on-behalf-of-user authentication&lt;/A&gt;&lt;SPAN&gt; so the agent cannot exceed the caller’s permissions. The key is to reserve specific service principals for background or automated jobs that truly require non-user execution.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;For write or move actions, I would strongly recommend a controlled execution pattern... plan → validate/preview → approve → execute. That gives you a checkpoint before any destructive or irreversible action and is much safer than allowing an agent to directly execute whatever it decides at runtime.&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;Another important design decision is to make the action surface narrower and suitable for policy implementation. For example, instead of giving an agent broad SQL write access, expose a small set of approved operations via UC functions or MCP tools, and then apply runtime policies to those tool calls. Databricks has publicly described this direction with &lt;A href="https://www.databricks.com/blog/stop-rogue-ai-how-unity-catalog-secures-your-agent-actions" rel="noopener noreferrer nofollow" target="_blank"&gt;service policies and payload logging for MCPs&lt;/A&gt;, which is exactly the sort of control plane you want for "this agent can read, this one can write only to dataset X, and this one can move data only under condition Y."&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;Lastly, make sure every tool invocation is observable. A runtime governance model is only credible if you can answer... who called what tool, with which arguments, on whose behalf, and what happened. AI Gateway’s observability and logging model is designed for that kind of audit trail.. although it is still in beta.&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2" color="#FF6600"&gt;&lt;STRONG&gt;&lt;I&gt;If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.&lt;/I&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;</description>
    <pubDate>Sun, 24 May 2026 18:00:19 GMT</pubDate>
    <dc:creator>Ashwin_DSA</dc:creator>
    <dc:date>2026-05-24T18:00:19Z</dc:date>
    <item>
      <title>Controlling Agent access to Tools and Tool access to Data Operations</title>
      <link>https://community.databricks.com/t5/lakebase-discussions/controlling-agent-access-to-tools-and-tool-access-to-data/m-p/152906#M80</link>
      <description>&lt;P&gt;I am building an agentic workflow.&amp;nbsp; This is a multi agent workflow - Plan, Reason, Act and Synthesize. Each agent has its own access to tools to take ACTIONS on data. Some of these agents are READ only, some can WRITE/UPDATE&lt;BR /&gt;&lt;BR /&gt;All data is resident within Unity Catalog when the initial access can be granted.&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;When the workflow executes and agents come up with dynamic plans I want to control the type of ACTIONS take on the data based on policy contraints. These are runtime Actions I want to control and monitor.&amp;nbsp; Some agents have read only access, some can write (to specific datasets), some can move data (under some conditions).&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;Is there a best practices approach to control agentic worflows at runtime?&amp;nbsp;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 01 Apr 2026 13:15:40 GMT</pubDate>
      <guid>https://community.databricks.com/t5/lakebase-discussions/controlling-agent-access-to-tools-and-tool-access-to-data/m-p/152906#M80</guid>
      <dc:creator>smithsonian</dc:creator>
      <dc:date>2026-04-01T13:15:40Z</dc:date>
    </item>
    <item>
      <title>Re: Controlling Agent access to Tools and Tool access to Data Operations</title>
      <link>https://community.databricks.com/t5/lakebase-discussions/controlling-agent-access-to-tools-and-tool-access-to-data/m-p/157569#M102</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/193023"&gt;@smithsonian&lt;/a&gt;,&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea" data-pm-slice="1 1 []"&gt;The general best-practice pattern is to separate what the agent plans... from...what the platform will actually allow it to do.&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;If the data already lives in Unity Catalog, a good approach is to use Unity Catalog as the system of record for data permissions and use &lt;A href="https://docs.databricks.com/aws/en/ai-gateway" rel="noopener noreferrer nofollow" target="_blank"&gt;Unity AI Gateway&lt;/A&gt; as the runtime governance layer for agents, LLM endpoints, and MCP servers.&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;In practical terms, that usually means&amp;nbsp;&lt;SPAN&gt;keeping planning/reasoning agents read-only where possible and&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;exposing actions through governed tools such as &lt;/SPAN&gt;&lt;A style="font-family: inherit; background-color: #ffffff;" href="https://docs.databricks.com/aws/en/generative-ai/mcp" rel="noopener noreferrer nofollow" target="_blank"&gt;UC functions and MCP servers&lt;/A&gt;&lt;SPAN&gt;, rather than letting agents perform arbitrary direct operations. Another recommendation is to&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;run user-facing workflows with &lt;/SPAN&gt;&lt;A style="font-family: inherit; background-color: #ffffff;" href="https://docs.databricks.com/aws/en/generative-ai/agent-framework/agent-authentication-model-serving#on-behalf-of-user-authentication" rel="noopener noreferrer nofollow" target="_blank"&gt;on-behalf-of-user authentication&lt;/A&gt;&lt;SPAN&gt; so the agent cannot exceed the caller’s permissions. The key is to reserve specific service principals for background or automated jobs that truly require non-user execution.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;For write or move actions, I would strongly recommend a controlled execution pattern... plan → validate/preview → approve → execute. That gives you a checkpoint before any destructive or irreversible action and is much safer than allowing an agent to directly execute whatever it decides at runtime.&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;Another important design decision is to make the action surface narrower and suitable for policy implementation. For example, instead of giving an agent broad SQL write access, expose a small set of approved operations via UC functions or MCP tools, and then apply runtime policies to those tool calls. Databricks has publicly described this direction with &lt;A href="https://www.databricks.com/blog/stop-rogue-ai-how-unity-catalog-secures-your-agent-actions" rel="noopener noreferrer nofollow" target="_blank"&gt;service policies and payload logging for MCPs&lt;/A&gt;, which is exactly the sort of control plane you want for "this agent can read, this one can write only to dataset X, and this one can move data only under condition Y."&lt;/P&gt;
&lt;P class="wnfdntf _1ibi0s3f5 _1ibi0s3ce _1ibi0s3ea"&gt;Lastly, make sure every tool invocation is observable. A runtime governance model is only credible if you can answer... who called what tool, with which arguments, on whose behalf, and what happened. AI Gateway’s observability and logging model is designed for that kind of audit trail.. although it is still in beta.&amp;nbsp;&lt;/P&gt;
&lt;P class="p1"&gt;&lt;FONT size="2" color="#FF6600"&gt;&lt;STRONG&gt;&lt;I&gt;If this answer resolves your question, could you mark it as “Accept as Solution”? That helps other users quickly find the correct fix.&lt;/I&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;</description>
      <pubDate>Sun, 24 May 2026 18:00:19 GMT</pubDate>
      <guid>https://community.databricks.com/t5/lakebase-discussions/controlling-agent-access-to-tools-and-tool-access-to-data/m-p/157569#M102</guid>
      <dc:creator>Ashwin_DSA</dc:creator>
      <dc:date>2026-05-24T18:00:19Z</dc:date>
    </item>
  </channel>
</rss>

