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. L'IAM vous permet d'adopter le principe de sécurité d'accès restreint afin de n'accorder l'accès qu'aux ressources nécessaires.

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 permettent d'attribuer un ou plusieurs rôles spécifiques à un utilisateur afin de lui accorder certaines autorisations.

Cette page décrit les rôles Cloud IAM (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 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 Aucun 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 Aucun Cette méthode permet de déterminer les autorisations dont dispose un appelant sur un compte de facturation Cloud. Non disponible
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 projets
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 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 Autorisations

Administrateur de compte de facturation
(roles/billing.admin)

Permet de consulter les comptes de facturation et d'en gérer tous les aspects.

Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :

  • Compte de facturation
  • billing.accounts.close
  • billing.accounts.get
  • billing.accounts.getiamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getPricing
  • 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.*
  • commerceoffercatalog.*
  • consumerprocurement.accounts.*
  • consumerprocurement.orders.*
  • dataprocessing.datasources.get
  • dataprocessing.datasources.list
  • dataprocessing.groupcontrols.get
  • dataprocessing.groupcontrols.list
  • logging.logEntries.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • recommender.commitmentUtilizationInsights.*
  • recommender.usageCommitmentRecommendations.*
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment

Gestionnaire des coûts du compte de facturation
(roles/billing.costsManager)

Peut consulter et exporter les informations des comptes de facturation sur les coûts.

  • billing.accounts.get
  • billing.accounts.getiamPolicy
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.accounts.updateUsageExportSpec
  • billing.budgets.*
  • billing.resourceAssociations.list

Créateur de compte de facturation
(roles/billing.creator)

Permet de créer des comptes de facturation.

Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :

  • Organisation
  • billing.accounts.create
  • resourcemanager.organizations.get

Gestionnaire de la facturation du projet
(roles/billing.projectManager)

Permet d'attribuer le compte de facturation d'un projet ou de désactiver sa facturation.

Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :

  • Projet
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment

Utilisateur de compte de facturation
(roles/billing.user)

Permet d'associer des projets à des comptes de facturation.

Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :

  • Compte de facturation
  • billing.accounts.get
  • billing.accounts.getiamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create

Lecteur de compte de facturation
(roles/billing.viewer)

Permet d'afficher des transactions et des informations sur les coûts des comptes de facturation.

Ressources de niveau inférieur auxquelles vous pouvez attribuer ce rôle :

  • Compte de facturation
  • billing.accounts.get
  • billing.accounts.getiamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getPricing
  • 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
  • commerceoffercatalog.*
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • dataprocessing.datasources.get
  • dataprocessing.datasources.list
  • dataprocessing.groupcontrols.get
  • dataprocessing.groupcontrols.list
  • recommender.commitmentUtilizationInsights.get
  • recommender.commitmentUtilizationInsights.list
  • recommender.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list

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