<?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: Manage serverless budget policy permission via API in Data Governance</title>
    <link>https://community.databricks.com/t5/data-governance/manage-serverless-budget-policy-permission-via-api/m-p/145564#M2751</link>
    <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/34815"&gt;@Louis_Frolio&lt;/a&gt;&amp;nbsp;any plan to add the LIMIT capacity to the&amp;nbsp;&lt;SPAN&gt;databricks_access_control_rule_set resource ?&lt;BR /&gt;&lt;BR /&gt;Thanks you&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Wed, 28 Jan 2026 16:10:13 GMT</pubDate>
    <dc:creator>Pedro_Miranda</dc:creator>
    <dc:date>2026-01-28T16:10:13Z</dc:date>
    <item>
      <title>Manage serverless budget policy permission via API</title>
      <link>https://community.databricks.com/t5/data-governance/manage-serverless-budget-policy-permission-via-api/m-p/125654#M2538</link>
      <description>&lt;P&gt;&lt;STRONG&gt;Hi everyone,&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I'm using the Budget Policy API (&lt;A class="" href="https://docs.databricks.com/api/account/budgetpolicy/create" target="_new" rel="noopener"&gt;https://docs.databricks.com/api/account/budgetpolicy/create&lt;/A&gt;) to create Serverless budget policies. I can successfully create and retrieve policies, but I haven’t found any way to manage their permissions — specifically, to add users or groups who are allowed to use each policy.&lt;/P&gt;&lt;P&gt;I’ve looked into the Python SDK, REST API, and Terraform provider, but it seems like BudgetPolicy doesn’t expose any permissions-related parameter or endpoint.&lt;/P&gt;&lt;P&gt;Is there currently any programmatic way to manage budget policy permissions? I have dozens of policies and hundreds of users to assign to them, so doing this manually via the UI is not feasible.&lt;/P&gt;&lt;P&gt;Am I missing something?&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Thu, 17 Jul 2025 21:48:13 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/manage-serverless-budget-policy-permission-via-api/m-p/125654#M2538</guid>
      <dc:creator>andreos</dc:creator>
      <dc:date>2025-07-17T21:48:13Z</dc:date>
    </item>
    <item>
      <title>Re: Manage serverless budget policy permission via API</title>
      <link>https://community.databricks.com/t5/data-governance/manage-serverless-budget-policy-permission-via-api/m-p/125869#M2540</link>
      <description>&lt;P&gt;Here are some helpful hints/tips/tricks:&lt;/P&gt;
&lt;H3&gt;Programmatic Management of Budget Policy Permissions: Options and Best Practices&lt;/H3&gt;
&lt;H4&gt;1. What is Possible Today?&lt;/H4&gt;
&lt;DIV class="paragraph"&gt;Yes, there &lt;STRONG&gt;is&lt;/STRONG&gt; a programmatic way to manage permissions (user and group assignments) for Databricks Budget Policies—specifically, &lt;EM&gt;Serverless Budget Policies&lt;/EM&gt;—using Terraform, the REST API, and the Python SDK. While the UI has always provided a manual permissions editor for budget policies, recent product and documentation updates now enable full automation and "at scale" management via Infrastructure as Code (IaC) and API usage. This addresses the previously widespread concern that manual UI assignment was the only feasible route for large deployments.&lt;/DIV&gt;
&lt;HR /&gt;
&lt;H4&gt;2. Terraform: The Recommended, Fastest-Scaling Solution&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Terraform&lt;/STRONG&gt; now supports managing Serverless Budget Policy permissions via the &lt;CODE&gt;databricks_access_control_rule_set&lt;/CODE&gt; resource.&lt;/LI&gt;
&lt;LI&gt;You can assign users, groups, and service principals to a budget policy as either "user" (can use) or "manager" (can edit policy, including its definition/permissions), covering the same roles as UI assignment.&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;Syntax example: ```hcl resource "databricks_budget_policy" "my_policy" { policy_name = "data-science-budget-policy" custom_tags = [{ key = "cost_center", value = "DS" }] }&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;resource "databricks_access_control_rule_set" "budget_policy_usage" { name = "accounts/${var.account_id}/budgetPolicies/${databricks_budget_policy.my_policy.policy_id}/ruleSets/default" grant_rules { principals = [data.databricks_user.alice.acl_principal_id] role = "roles/budgetPolicy.manager" } grant_rules { principals = [data.databricks_group.ds_group.acl_principal_id] role = "roles/budgetPolicy.user" } } ```&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;You can define hundreds of users &amp;amp; groups per policy, and manage all assignments programmatically. Changes are idempotent and tracked in version control.&lt;/DIV&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;Permission roles supported via Terraform:&lt;/STRONG&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;CODE&gt;roles/budgetPolicy.user&lt;/CODE&gt; — May use/apply the budget policy.&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;roles/budgetPolicy.manager&lt;/CODE&gt; — May edit the policy (definition + permissions).&lt;/LI&gt;
&lt;/UL&gt;
&lt;/DIV&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;HR /&gt;
&lt;H4&gt;3. REST API and Python SDK&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;The REST API for budget policy permissions is available at the account-level endpoint (not the workspace endpoint):&lt;BR /&gt;&lt;CODE&gt;
PUT &lt;A href="https://accounts.cloud.databricks.com/api/2.0/preview/accounts/{account_id}/access-control-rule-sets" target="_blank"&gt;https://accounts.cloud.databricks.com/api/2.0/preview/accounts/{account_id}/access-control-rule-sets&lt;/A&gt;
&lt;/CODE&gt; You can set the rules in a single call, expressing "grant_rules" for each user or group for a given policy.&lt;/LI&gt;
&lt;LI&gt;The &lt;STRONG&gt;Python SDK&lt;/STRONG&gt; exposes a similar “access control rule set” functionality, as well as programmatic creation and fetching of policies. See:&lt;BR /&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="https://databricks-sdk-py.readthedocs.io/en/latest/account/iam/access_control.html" target="_blank"&gt;https://databricks-sdk-py.readthedocs.io/en/latest/account/iam/access_control.html&lt;/A&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;HR /&gt;
&lt;H4&gt;4. Large-Scale Assignment, Sync, and Automation&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;With Terraform or SDK, you can generate lists of users/groups by pulling from your IdP or SCIM source of record, then scripting assignment across all your budget policies as needed.&lt;/LI&gt;
&lt;LI&gt;All changes are declarative and support automation, CI/CD workflows, and rollback.&lt;/LI&gt;
&lt;LI&gt;There is no published hard system limit on the number of assignees per policy, and the API is explicitly designed for programmatic bulk access management.&lt;/LI&gt;
&lt;LI&gt;This is &lt;STRONG&gt;the recommended setup for environments with dozens of budget policies and hundreds or thousands of users/groups&lt;/STRONG&gt;.&lt;/LI&gt;
&lt;/UL&gt;
&lt;HR /&gt;
&lt;H4&gt;5. Caveats and Limitations&lt;/H4&gt;
&lt;UL&gt;
&lt;LI&gt;Existing SDK support is split: legacy SDK (databricks-sdk) does not directly expose budget policy permission assignment as a first-class resource, but the access control rule set can still be managed via the generic access control APIs. Recent releases (from v1.69.0 onward) in the official Terraform provider and SDKs have full support and examples.&lt;/LI&gt;
&lt;LI&gt;Ensure you use the &lt;STRONG&gt;account-level endpoint&lt;/STRONG&gt; or resource in Terraform, as workspace-level permissions will not suffice.&lt;/LI&gt;
&lt;LI&gt;Policy visibility in the UI is scoped: users/groups can only see policies to which they have access. So, after assigning with code, verify as those users.&lt;/LI&gt;
&lt;LI&gt;The official documentation is still catching up—CLI/SDK/Terraform examples may be missing or only available in PR documentation, but the provider and resource are fully available.&lt;/LI&gt;
&lt;/UL&gt;
&lt;HR /&gt;
&lt;H3&gt;Summary Table: How to Assign Users/Groups to Budget Policies at Scale&lt;/H3&gt;
&lt;TABLE width="820px"&gt;
&lt;THEAD&gt;
&lt;TR&gt;
&lt;TH scope="col" width="132px"&gt;Programmatic Method&lt;/TH&gt;
&lt;TH scope="col" width="69px"&gt;Supported?&lt;/TH&gt;
&lt;TH scope="col" width="242px"&gt;Scale&lt;/TH&gt;
&lt;TH scope="col" width="377px"&gt;Example Resource/Endpoint&lt;/TH&gt;
&lt;/TR&gt;
&lt;/THEAD&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD width="132px"&gt;Terraform&lt;/TD&gt;
&lt;TD width="69px"&gt;Yes&lt;/TD&gt;
&lt;TD width="242px"&gt;Hundreds of policies, users/groups&lt;/TD&gt;
&lt;TD width="377px"&gt;databricks_access_control_rule_set&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="132px"&gt;REST API&lt;/TD&gt;
&lt;TD width="69px"&gt;Yes&lt;/TD&gt;
&lt;TD width="242px"&gt;Any&lt;/TD&gt;
&lt;TD width="377px"&gt;/access-control-rule-sets (Account)&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="132px"&gt;Python SDK&lt;/TD&gt;
&lt;TD width="69px"&gt;Yes&lt;/TD&gt;
&lt;TD width="242px"&gt;Any&lt;/TD&gt;
&lt;TD width="377px"&gt;account.iam.access_control.set_rule_set&lt;/TD&gt;
&lt;/TR&gt;
&lt;TR&gt;
&lt;TD width="132px"&gt;Manual UI&lt;/TD&gt;
&lt;TD width="69px"&gt;Yes&lt;/TD&gt;
&lt;TD width="242px"&gt;Impractical at scale&lt;/TD&gt;
&lt;TD width="377px"&gt;Workspace → Admin → Compute → Budget Policies&lt;/TD&gt;
&lt;/TR&gt;
&lt;/TBODY&gt;
&lt;/TABLE&gt;
&lt;HR /&gt;
&lt;H3&gt;Final Takeaway&lt;/H3&gt;
&lt;DIV class="paragraph"&gt;&lt;STRONG&gt;You are not missing anything. There is now robust, documented, and fully-supported programmatic control of Budget Policy permissions through both Terraform and the account REST API, as well as via the Python SDK. You can automate user/group assignment to all of your budget policies at scale using these tools.&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="paragraph"&gt;Hope this helps, Louis.&lt;/DIV&gt;</description>
      <pubDate>Mon, 21 Jul 2025 13:56:59 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/manage-serverless-budget-policy-permission-via-api/m-p/125869#M2540</guid>
      <dc:creator>Louis_Frolio</dc:creator>
      <dc:date>2025-07-21T13:56:59Z</dc:date>
    </item>
    <item>
      <title>Re: Manage serverless budget policy permission via API</title>
      <link>https://community.databricks.com/t5/data-governance/manage-serverless-budget-policy-permission-via-api/m-p/145564#M2751</link>
      <description>&lt;P&gt;&lt;a href="https://community.databricks.com/t5/user/viewprofilepage/user-id/34815"&gt;@Louis_Frolio&lt;/a&gt;&amp;nbsp;any plan to add the LIMIT capacity to the&amp;nbsp;&lt;SPAN&gt;databricks_access_control_rule_set resource ?&lt;BR /&gt;&lt;BR /&gt;Thanks you&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 28 Jan 2026 16:10:13 GMT</pubDate>
      <guid>https://community.databricks.com/t5/data-governance/manage-serverless-budget-policy-permission-via-api/m-p/145564#M2751</guid>
      <dc:creator>Pedro_Miranda</dc:creator>
      <dc:date>2026-01-28T16:10:13Z</dc:date>
    </item>
  </channel>
</rss>

