Créer des rôles personnalisés pour les comptes de facturation Cloud

Identity and Access Management (IAM) inclut des autorisations précises, qui vous permettent d'accorder ou de révoquer aux utilisateurs l'accès à des actions spécifiques. Pour simplifier la procédure d'attribution des autorisations aux utilisateurs, les rôles IAM utilisent ce contrôle d'accès précis pour des groupes connexes. La facturation comporte des rôles prédéfinis, comme Administrateur de compte de facturation ou Lecteur de compte de facturation, qui conviennent à la plupart des utilisateurs. Toutefois, si ces rôles ne répondent pas à vos besoins, les rôles personnalisés vous permettent d'accorder des ensembles d'autorisations plus spécifiques.

Créer un rôle personnalisé

Les rôles personnalisés sont créés au niveau de l'organisation, puis sont appliqués à tous les comptes de facturation au sein de celle-ci. Le guide pratique Créer et gérer les rôles personnalisés de la documentation IAM décrit comment configurer un rôle personnalisé, ainsi que les autorisations nécessaires.

Une fois un rôle personnalisé créé, vous pouvez l'attribuer aux utilisateurs de la même façon qu'un rôle prédéfini standard. Apprenez à mettre à jour les autorisations de facturation.

Exemple de rôle personnalisé

Supposons que vous souhaitiez permettre à des utilisateurs de modifier les fonctionnalités de gestion des coûts, telles que les alertes de budget et l'exportation de la facturation. Les autorisations à accorder sont les suivantes :

  • billing.budgets.create
  • billing.budgets.update
  • billing.accounts.updateUsageExportSpec

Avec les rôles prédéfinis, pour accorder ces autorisations, vous devez attribuer le rôle Administrateur de compte de facturation. Toutefois, ce rôle inclut également l'autorisation de supprimer des associations de ressources, de résilier des abonnements et de clôturer le compte de facturation. Si vous ne souhaitez pas que les utilisateurs puissent effectuer ces actions, vous pouvez alors créer un rôle personnalisé disposant uniquement des trois autorisations nécessaires et le nommer Administrateur de gestion des coûts. Vous pouvez ensuite attribuer ce rôle personnalisé en combinaison avec le rôle Lecteur de compte de facturation à tous les utilisateurs qui doivent disposer d'autorisations étendues pour la gestion des coûts, mais ne pas avoir la possibilité de modifier d'autres propriétés du compte.

Association d'autorisations et héritage

Vous pouvez accorder des autorisations relatives à la facturation au niveau du compte de facturation ou du projet. La plupart des autorisations relatives à la facturation appartiennent au compte de facturation. Les rôles qui incluent ces autorisations doivent donc être associés au compte de facturation. À l'inverse, d'autres autorisations relatives à la facturation appartiennent à un projet et doivent donc être associées au projet, et non au compte de facturation.

Par exemple, l'association d'un projet à un compte de facturation nécessite l'autorisation billing.resourceAssociations.create sur le compte de facturation et l'autorisation resourcemanager.projects.createBillingAssignment sur le projet. En effet, les autorisations de projet sont obligatoires pour les actions dont l'accès est contrôlé par les propriétaires du projet, tandis que les autorisations de compte de facturation sont obligatoires pour les actions dont l'accès est contrôlé par les administrateurs du compte de facturation. Lorsque les deux rôles sont impliqués, les deux autorisations sont nécessaires.

Comme les autres autorisations IAM, toutes les autorisations relatives à la facturation héritent des niveaux supérieurs de la hiérarchie de facturation. Par exemple, un utilisateur disposant d'un rôle avec l'autorisation billing.accounts.close au niveau d'une organisation peut clôturer n'importe quel compte de facturation au sein de cette organisation. Cependant, certaines autorisations s'appliquent uniquement aux niveaux supérieurs. Par exemple, l'autorisation billing.accounts.list n'a aucun effet sur un compte de facturation individuel, mais un utilisateur dont le rôle comporte l'autorisation billing.accounts.list peut répertorier tous les comptes de facturation de cette organisation.

Activités de facturation

Les tableaux suivants décrivent les activités de facturation courantes, les autorisations requises pour les effectuer et la ressource à laquelle ces autorisations s'appliquent.

Gestion des comptes

Action Permission Ressource
Obtenir des informations générales sur un compte (par exemple, le nom du compte, la devise ou si le compte est ouvert ou fermé) billing.accounts.get Compte de facturation
Passer de l'essai gratuit à un compte payant billing.accounts.update Compte de facturation
Renommer un compte billing.accounts.update Compte de facturation
Modifier un numéro de bon de commande billing.accounts.update Compte de facturation
Clôturer un compte billing.accounts.close Compte de facturation
Rouvrir un compte clôturé billing.accounts.reopen Compte de facturation

Hiérarchie des comptes de facturation

Action Permission Ressource
Répertorier les comptes de l'organisation billing.accounts.list Organisation
Créer des comptes dans l'organisation billing.accounts.create Organisation
Déplacer un compte dans l'organisation billing.accounts.create Organisation
billing.accounts.move Compte de facturation
Déplacer un compte d'une organisation à une autre billing.accounts.removeFromOrganization Ancienne organisation
billing.accounts.create Nouvelle organisation
billing.accounts.move Compte de facturation

Informations de paiement

Le profil de paiement comporte le nom et l'adresse du client, ainsi que le mode de paiement.

Action Permission Ressource
Afficher le profil de paiement billing.accounts.getPaymentInfo Compte de facturation
Mettre à jour le profil de paiement billing.accounts.updatePaymentInfo Compte de facturation
Afficher uniquement les tarifs des codes SKU ayant fait l'objet d'une utilisation billing.accounts.getPricing Billing account
Afficher les tarifs contractuels personnalisés par code SKU pour un compte de facturation billing.accounts.getPricing Billing account
Afficher les coûts et l'utilisation d'un compte de facturation* billing.accounts.getSpendingInformation Compte de facturation
Afficher les coûts et l'utilisation d'un projet* billing.resourceCosts.get Projet
resourcemanager.projects.get Projet

Associations de ressources

Pour déplacer un projet d'un compte de facturation à un autre, il faut disposer des autorisations pour le supprimer du compte de facturation d'origine et l'associer au nouveau.

Action Permission Ressource
Afficher les associations d'un projet billing.resourceAssociations.list Billing account
resourcemanager.projects.get Projet
Associer un projet à un compte de facturation billing.resourceAssociations.create Compte de facturation
resourcemanager.projects.createBillingAssignment Projet
Supprimer un projet du compte de facturation billing.resourceAssociations.delete Compte de facturation
resourcemanager.projects.deleteBillingAssignment Projet

Budgets et alertes de dépenses

Action Permission Ressource
Afficher la liste des budgets associés à un compte de facturation Cloud billing.budgets.get Compte de facturation
billing.budgets.list Compte de facturation
Mettre à jour un budget limité à un compte de facturation Cloud billing.budgets.update Compte de facturation
Créer un budget pour un compte de facturation Cloud billing.budgets.create Compte de facturation
Afficher la liste des budgets limités à un seul projet resourcemanager.projects.get Projet
billing.resourceCosts.get Projet
billing.resourcebudgets.read Projet
Mettre à jour un budget limité à un seul projet resourcemanager.projects.get Projet
billing.resourceCosts.get Projet
billing.resourcebudgets.read Projet
billing.resourcebudgets.write Projet
Créer un budget limité à un seul projet resourcemanager.projects.get Projet
billing.resourceCosts.get Projet
billing.resourcebudgets.read Projet
billing.resourcebudgets.write Projet

Crédits et promotions

Action Permission Ressource
Afficher la liste des crédits, y compris le montant original et le montant restant billing.credits.list Compte de facturation
Utiliser un code promotionnel billing.accounts.redeemPromotion Compte de facturation
billing.accounts.update Compte de facturation

Règle

La stratégie définit quels utilisateurs ont accès à quelles ressources dans un compte de facturation. Pour en savoir plus sur la création ou la modification de rôles personnalisés, consultez la section Créer un rôle personnalisé ci-dessus.

Action Permission Ressource
Afficher les rôles d'un compte, y compris les noms d'utilisateur associés billing.accounts.getIamPolicy Compte de facturation
Attribuer des rôles aux utilisateurs d'un compte billing.accounts.setIamPolicy Compte de facturation

Spécifications d'exportation

Les spécifications d'exportation définissent l'emplacement où est envoyée une copie de toutes les données relatives à l'utilisation. Elles peuvent inclure le nom d'un ensemble de données BigQuery.

Action Permission Ressource
Afficher les spécifications d'exportation actuelles (bucket Cloud Storage ou ensemble de données BigQuery vers lesquels exporter les données d'utilisation) billing.accounts.getUsageExportSpec Compte de facturation
Modifier les spécifications d'exportation billing.accounts.updateUsageExportSpec Compte de facturation