Contrôle des accès aux API Cloud Billing

Google Cloud propose Cloud Identity and Access Management (Cloud IAM), qui vous permet de définir de manière plus précise l'accès à des ressources spécifiques de Google Cloud et d'empêcher tout accès indésirable à d'autres ressources. Cloud IAM vous permet d'adopter le principe de sécurité du moindre privilège afin d'accorder uniquement les accès nécessaires à vos ressources.

Grâce à Cloud IAM, vous pouvez contrôler qui (utilisateurs) bénéficie de quel type d'accès (rôles) à quelles ressources en définissant des stratégies Cloud IAM. Ces stratégies Cloud IAM permettent d'attribuer un ou plusieurs rôles spécifiques à un utilisateur afin de lui accorder certaines autorisations.

Vous trouverez sur cette page des informations sur les rôles Cloud Identity and Access Management disponibles pour les API Cloud Billing. Par exemple, vous pouvez attribuer des rôles tels que Administrateur, Utilisateur et Gestionnaire de projet via Cloud IAM pour un compte de facturation Cloud. Pour obtenir une description détaillée de Cloud IAM et de ses fonctionnalités, consultez le guide du développeur de Cloud Identity and Access Management, et tout particulièrement la section Attribuer, modifier et révoquer les accès.

Autorisations et rôles

Pour qu'un utilisateur puisse consulter les informations d'un compte de facturation Cloud dans Google Cloud Console ou pour qu'une méthode de l'API Cloud Billing renvoie les informations d'un compte de facturation Cloud, l'utilisateur ou l'appelant doit disposer des autorisations nécessaires. Les tableaux suivants répertorient les autorisations et les rôles Cloud IAM requis pour chaque API Cloud Billing.

Autorisations requises pour l'API Cloud Billing Account

Le tableau suivant répertorie les autorisations dont l'appelant doit disposer pour appeler chaque méthode de l'API Cloud Billing Account :

Méthode API Autorisations requises Le rôle Cloud IAM qui accorde l'autorisation
billingAccounts.create Lors de la création d'un sous-compte de facturation Cloud, l'appelant doit disposer d'une autorisation billing.accounts.update sur le compte de facturation Cloud principal du sous-compte. Administrateur de facturation
billingAccounts.get billing.accounts.get sur un compte de facturation Cloud. Administrateur de la facturation ou Lecteur de la facturation
billingAccounts.list Aucune. Cette méthode renvoie tous les comptes pour lesquels l'appelant bénéficie d'une autorisation d'accès. Administrateur de la facturation, Lecteur de la facturation, Utilisateur de la facturation ou Gestionnaire de la facturation du projet
billingAccounts.getIamPolicy billing.accounts.getIamPolicy sur un compte de facturation Cloud. Administrateur de la facturation ou Lecteur de la facturation
billingAccounts.setIamPolicy billing.accounts.setIamPolicy sur un compte de facturation Cloud. Administrateur de facturation
billingAccounts.testIamPermissions Aucune. Cette méthode permet de déterminer les autorisations dont dispose un appelant sur un compte de facturation Cloud. n/a
billingAccounts.patch billing.accounts.update sur un compte de facturation Cloud. Administrateur de facturation
billingAccounts.projects.list billing.resourceAssociations.list sur un compte de facturation Cloud. Administrateur de la facturation ou Lecteur de la facturation
projects.getBillingInfo resourcemanager.projects.get sur le projet.
Pour plus d'informations, consultez la page Contrôle des accès aux projets.
Lecteur de projet
projects.updateBillingInfo billing.resourceAssociations.create ET resourcemanager.projects.createBillingAssignment sur le compte de facturation Cloud. Administrateur de la facturation ou Utilisateur de la facturation ET Gestionnaire de la facturation du projet

Autorisations requises pour l'API Cloud Billing Budget

Le tableau suivant présente les autorisations nécessaires pour appeler chaque méthode de l'API Cloud Billing Budget. Les rôles Cloud IAM Billing standards qui octroient automatiquement ces autorisations sont aussi inclus.

Méthode API Autorisation requise Le rôle Cloud IAM qui accorde l'autorisation
GetBudget Pour obtenir les détails d'un budget, l'appelant doit disposer de l'autorisation billing.budgets.get sur le compte de facturation Cloud du budget. Administrateur de la facturation ou Lecteur de la facturation
ListBudgets Pour afficher la liste des budgets appliqués à un compte de facturation Cloud, l'appelant doit disposer de l'autorisation billing.budgets.list sur le compte de facturation Cloud. Administrateur de la facturation ou Lecteur de la facturation
CreateBudget Pour créer un budget, l'appelant doit disposer de l'autorisation billing.budgets.create sur le compte de facturation Cloud du budget. Administrateur de facturation
UpdateBudget Pour mettre à jour un budget existant, l'appelant doit disposer de l'autorisation billing.budgets.update sur le compte de facturation Cloud du budget. Administrateur de facturation
DeleteBudget Pour supprimer un budget existant, l'appelant doit disposer de l'autorisation billing.budgets.delete sur le compte de facturation Cloud du budget. Administrateur de facturation

Autorisations requises pour l'API Cloud Billing Catalog

Aucune autorisation n'est requise lors de l'utilisation de l'API Cloud Catalog (liste de services et de SKU), car toutes les données renvoyées par les appels sont publiques.

Rôles

Vous n'accordez pas directement des autorisations aux utilisateurs, mais vous leur attribuez des rôles auxquels sont associées une ou plusieurs autorisations.

Vous pouvez attribuer un ou plusieurs rôles sur la même ressource.

Le tableau suivant répertorie les rôles Cloud IAM Billing standards que vous pouvez attribuer pour accéder aux API Cloud Billing, la description de chaque rôle et les autorisations associées à chacun d'entre eux.

Rôle Titre Description Autorisations Ressource la plus basse
roles/billing.admin Administrateur de compte de facturation Permet de consulter les comptes de facturation et d'en gérer tous les aspects.
  • billing.accounts.close
  • billing.accounts.get
  • billing.accounts.getiamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.accounts.move
  • billing.accounts.redeemPromotion
  • billing.accounts.removeFromOrganization
  • billing.accounts.reopen
  • billing.accounts.setiamPolicy
  • billing.accounts.update
  • billing.accounts.updatePaymentInfo
  • billing.accounts.updateUsageExportSpec
  • billing.budgets.*
  • billing.credits.*
  • billing.resourceAssociations.*
  • billing.subscriptions.*
  • cloudnotifications.*
  • logging.logEntries.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
Compte de facturation
roles/billing.creator Créateur de compte de facturation Permet de créer des comptes de facturation.
  • billing.accounts.create
  • resourcemanager.organizations.get
Projet
roles/billing.projectManager Gestionnaire de la facturation du projet Permet d'attribuer le compte de facturation d'un projet ou de désactiver sa facturation.
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
Projet
roles/billing.user Utilisateur de compte de facturation Permet d'associer des projets à des comptes de facturation.
  • billing.accounts.get
  • billing.accounts.getiamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create
Compte de facturation
roles/billing.viewer Lecteur de compte de facturation Permet d'afficher des transactions et des informations relatives aux coûts des comptes de facturation.
  • billing.accounts.get
  • billing.accounts.getiamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.budgets.get
  • billing.budgets.list
  • billing.credits.*
  • billing.resourceAssociations.list
  • billing.subscriptions.get
  • billing.subscriptions.list
Organisation
Compte de facturation

Notez que les rôles roles/billing.projectManager et roles/billing.admin incluent également des autorisations pour d'autres services Google Cloud.