Aller au contenu principal

Gérer les autorisations de budget

Cet article explique comment contrôler qui peut consulter et gérer les budgets de votre compte Databricks.

Les budgets sont des objets au niveau du compte qui vous permettent de surveiller l'utilisation sur votre compte, ou de cibler le suivi sur des équipes, des projets ou des Workspace spécifiques. Voir Créer et surveiller des budgets. L'accès à un budget est régi par une liste de contrôle d'accès (ACL) : chaque budget dispose d'un ensemble de règles d'octroi qui attribuent des rôles à des principaux (utilisateurs, groupes ou Databricks Service Principal).

Les administrateurs de compte et les administrateurs de workspace peuvent créer des budgets. Lorsque vous créez un budget, le rôle Budget Manager vous est automatiquement attribué.

Rôles de budget​

Il existe deux rôles que vous pouvez attribuer pour un budget : Budget Manager et Budget Viewer .

Rôle

Nom de l'autorisation

Description

Gestionnaire de budget

roles/budget.manager

Afficher le budget, modifier ses threshold et ses configurations d’alerte (y compris l’application du blocage d’utilisation et les cibles d’alerte par e-mail externe), et gérer ses permissions en accordant ou en révoquant des rôles pour d’autres principaux.

Lecteur de budget

roles/budget.viewer

Afficher le budget et sa configuration. Impossible de modifier le budget, de modifier les remplacements par utilisateur ou de gérer les autorisations.

Rôle

Nom de l'autorisation

Description

Gestionnaire de budget

roles/budget.manager

Afficher le budget, modifier ses threshold et ses configurations d’alerte (y compris l’application du blocage d’utilisation et les cibles d’alerte par e-mail externe), et gérer ses permissions en accordant ou en révoquant des rôles pour d’autres principaux.

Lecteur de budget

roles/budget.viewer

Afficher le budget et sa configuration. Impossible de modifier le budget, de modifier les remplacements par utilisateur ou de gérer les autorisations.

remarque

Les filtres d'un budget sont définis lors de la création de celui-ci et ne peuvent pas être modifiés par la suite. La révocation d'un rôle ne se propage pas aux autres attributions sur le budget.

Autorisations par default​

L’accès Default à un budget dépend de votre rôle d’administrateur :

  • Les administrateurs de compte disposent d'un accès complet et privilégié à chaque budget du compte. Ils peuvent afficher, modifier, supprimer et gérer les autorisations sur n'importe quel budget, indépendamment des attributions qui lui sont associées. Cet accès ne peut pas être révoqué au niveau d'un budget individuel.
  • Les administrateurs du Workspace peuvent créer des budgets limités aux Workspace qu’ils administrent. Ils obtiennent le rôle Budget Manager uniquement pour les budgets qu’ils créent, et n’ont pas accès aux budgets créés par d’autres, sauf si un rôle leur a été explicitement attribué.
  • Le créateur du budget se voit automatiquement attribuer le rôle de Budget Manager sur le budget qu'il crée. Un administrateur de compte ou un autre gestionnaire de budget peut le révoquer ultérieurement.
remarque

Les modifications de permissions peuvent prendre 30 secondes ou plus pour se propager dans tout le système.

Qui peut faire quoi​

L'accès dépend de votre rôle dans le compte et de l'utilisation de l'API ou de l'interface utilisateur des budgets, qui est disponible dans l'interface utilisateur du Governance Hub et celle de l'utilisation dans la console de compte.

remarque

L’interface utilisateur des budgets est disponible uniquement pour les administrateurs de comptes et de workspace. Les utilisateurs qui disposent du rôle Budget Manager ou Budget Viewer mais ne sont pas administrateurs utilisent l’ API Budget pour afficher et gérer leurs budgets. L’API Budget est accessible aux administrateurs de comptes, aux administrateurs de workspace et à tout utilisateur auquel le rôle Budget Manager ou Budget Viewer a été attribué sur un budget.

Action

Administrateur du compte

Administrateur de workspace

Gestionnaire de budget (non-administrateur)

Lecteur de budget (non-administrateur)

Créer un budget

Tous les budgets (interface utilisateur et API)

Budgets pour les Workspace qu’ils administrent (interface utilisateur et API)

—

—

Afficher ou lister le budget

Tous les budgets (interface utilisateur et API)

Budgets qu'ils gèrent ou consultent (interface utilisateur et API)

Budgets qu’ils gèrent (API)

Budgets qu’ils consultent (API)

Modifier le budget

Tous les budgets (interface utilisateur et API)

Budgets gérés (interface utilisateur et API)

Budgets qu’ils gèrent (API)

—

Gérer les autorisations

Tous les budgets (interface utilisateur et API)

Budgets gérés (interface utilisateur et API)

Budgets qu’ils gèrent (API)

—

Action

Administrateur du compte

Administrateur de workspace

Gestionnaire de budget (non-administrateur)

Lecteur de budget (non-administrateur)

Créer un budget

Tous les budgets (interface utilisateur et API)

Budgets pour les Workspace qu’ils administrent (interface utilisateur et API)

—

—

Afficher ou lister le budget

Tous les budgets (interface utilisateur et API)

Budgets qu'ils gèrent ou consultent (interface utilisateur et API)

Budgets qu’ils gèrent (API)

Budgets qu’ils consultent (API)

Modifier le budget

Tous les budgets (interface utilisateur et API)

Budgets gérés (interface utilisateur et API)

Budgets qu’ils gèrent (API)

—

Gérer les autorisations

Tous les budgets (interface utilisateur et API)

Budgets gérés (interface utilisateur et API)

Budgets qu’ils gèrent (API)

—

remarque

L’API List renvoie un ensemble complet : tous les budgets visibles dans le compte, indépendamment de la portée du workspace.

Gérer les autorisations budgétaires à l’aide de la CLI Databricks​

L'ACL d'un budget est stockée sous forme de jeu de règles : une ACL nommée associée au budget. Vous lisez et modifiez les autorisations d'un budget avec le groupe de commandes account access-control dans la CLI Databricks, qui est limitée au compte. Pour plus d'informations sur l'installation et l'authentification auprès de la CLI Databricks, consultez CLI Databricks.

Vous pouvez également gérer les autorisations de budget à l’aide de l’ API Rule Set.

Le jeu de règles d'un budget est nommé :

accounts/<ACCOUNT_ID>/budgets/<BUDGET_ID>/ruleSets/default

Lire les autorisations d'un budget​

Le groupe de commandes account access-control utilise un champ etag pour le contrôle de concurrence optimiste. Pour accorder ou révoquer des rôles, exécutez d’abord get-rule-set pour lire l’ensemble de règles actuel et son etag, appliquez vos modifications localement, puis exécutez update-rule-set avec ce etag.

Exécutez la commande suivante pour lire les autorisations actuelles, en transmettant une chaîne vide pour le paramètre etag afin d’indiquer qu’aucune exigence de fraîcheur n’est requise :

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

Remplacer :

  • <ACCOUNT_ID> avec l’identifiant de votre compte.
  • <BUDGET_ID> avec l'ID du budget.

Exemple de réponse :

JSON
{
"etag": "1790271814348000",
"grant_rules": [
{ "principals": ["users/manager@example.com"], "role": "roles/budget.manager" },
{ "principals": ["users/viewer@example.com"], "role": "roles/budget.viewer" }
],
"name": "accounts/<ACCOUNT_ID>/budgets/<BUDGET_ID>/ruleSets/default"
}

Copier le champ etag à partir de la réponse pour la demande de mise à jour.

Accorder ou révoquer des permissions​

Pour attribuer un rôle, ajoutez le principal à l'entrée grant_rules correspondante. Pour révoquer un rôle, exécutez de nouveau la mise à jour sans ce principal. Étant donné que la mise à jour remplace toute la liste grant_rules, incluez chaque octroi que vous souhaitez conserver, et pas seulement le nouveau. Pour effacer toutes les permissions, passez une liste grant_rules vide.

Créer un fichier rule-set.json avec l'état final des règles. Utilisez le etag que vous avez copié à partir de la réponse get-rule-set :

JSON
{
"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/manager@example.com"] },
{ "role": "roles/budget.viewer", "principals": ["users/viewer@example.com", "groups/cost-team"] }
]
}
}

Appliquez ensuite la mise à jour :

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

Cette mise à jour remplaçant l’ensemble de la règle, tous les rôles existants sont écrasés. Pour conserver les rôles existants, incluez-les dans la liste grant_rules. Un etag obsolète est rejeté ; veillez donc à toujours utiliser le etag provenant de votre réponse get-rule-set la plus récente.

Spécifiez les principals en utilisant les formats suivants :

Type

Format

Utilisateur

users/<email>

Groupe

groups/<group-name>

Principal de service

servicePrincipals/<application-id>

Type

Format

Utilisateur

users/<email>

Groupe

groups/<group-name>

Principal de service

servicePrincipals/<application-id>

Utiliser un budget avec vos autorisations accordées​

Les administrateurs de compte, les administrateurs de workspace et les utilisateurs disposant du rôle Budget Manager ou Budget Viewer gèrent les budgets via l'API de budget (Budget API). Votre rôle détermine quelles opérations vous pouvez effectuer :

Votre rôle

Lister et obtenir

Mise à jour et suppression

Gérer les autorisations

Responsable

✔

✔

✔

Spectateur

✔

✘

✘

Votre rôle

Lister et obtenir

Mise à jour et suppression

Gérer les autorisations

Responsable

✔

✔

✔

Spectateur

✔

✘

✘

Ressources supplémentaires​