Pular para o conteúdo
Lucas Lessa
Voltar para as notícias
DatabricksAtualizaçãoImpacto: Médio

Controle de acesso granular em orçamentos do Databricks com ACLs

Orçamentos no Databricks agora contam com ACLs. Administradores podem delegar papéis de visualização ou gestão de orçamentos para usuários, grupos e service principals.

O que mudou

Agora é possível delegar o gerenciamento e a visualização de orçamentos no Databricks sem conceder privilégios de administrador de conta. O recurso introduz listas de controle de acesso (ACLs) específicas para orçamentos, permitindo atribuir os papéis Budget Manager e Budget Viewer.

Para que serve

Imagine que o time financeiro ou um líder técnico precise monitorar os gastos de uma área, receber alertas e configurar limites de uso sem precisar de acesso administrativo geral na conta da Databricks. Com as ACLs de orçamento, você pode:

  • Atribuir o papel roles/budget.viewer para membros da equipe consultarem limites e consumo atual.
  • Atribuir o papel roles/budget.manager para delegar a configuração de alertas, bloqueios e compartilhamento do orçamento.
  • Permitir que service principals consultem dados orçamentários via API para automações de FinOps.

Como usar

A gestão de permissões é feita no nível de conta via Databricks CLI ou Rule Set API. As permissões utilizam concorrência otimista por meio de um etag.

Primeiro, obtenha a lista de permissões atual e o etag correspondente:

databricks account access-control get-rule-set \
  "accounts/<ACCOUNT_ID>/budgets/<BUDGET_ID>/ruleSets/default" ""

O que acontece nesse código:

  1. O comando busca o rule set padrão atrelado ao identificador do orçamento especificado.
  2. Passar uma string vazia no segundo argumento indica que não há exigência de versão mínima prévia.
  3. O retorno inclui o array grant_rules e o campo etag, necessário para a etapa seguinte.

Crie um arquivo local (por exemplo, rule-set.json) com o etag recebido e a lista completa de concessões:

{
  "name": "accounts/<ACCOUNT_ID>/budgets/<BUDGET_ID>/ruleSets/default",
  "rule_set": {
    "name": "accounts/<ACCOUNT_ID>/budgets/<BUDGET_ID>/ruleSets/default",
    "etag": "1790271814348000",
    "grant_rules": [
      { "role": "roles/budget.manager", "principals": ["users/gerente@exemplo.com"] },
      { "role": "roles/budget.viewer", "principals": ["users/analista@exemplo.com", "groups/finops"] }
    ]
  }
}

Em seguida, aplique as permissões atualizadas:

databricks account access-control update-rule-set --json @rule-set.json

O que acontece nesse código:

  1. O comando substitui todo o conjunto de regras do orçamento pelo conteúdo do arquivo.
  2. Os identificadores de principais devem seguir o formato users/<email>, groups/<nome> ou servicePrincipals/<app-id>.
  3. Como a operação sobrescreve a lista completa, qualquer regra anterior omitida do arquivo será revogada.

Limitações e requisitos

  • Administradores de conta mantêm acesso total inerente a todos os orçamentos, sem possibilidade de revogação.
  • A interface visual de orçamentos (Governance Hub e Account Console) continua acessível apenas para administradores de conta e de workspace. Usuários não-administradores com papéis de Manager ou Viewer utilizam a Budget API.
  • Os filtros de escopo do orçamento são definidos na criação e não podem ser alterados depois.
  • Alterações de permissões podem levar 30 segundos ou mais para propagar no ambiente.
Ver nota oficial do Databricks

Delegate budget access with access control lists (ACLs)

Resumo e explicação gerados por IA a partir da release note oficial. Em caso de dúvida, a documentação oficial da plataforma prevalece.

Relacionadas