Rôles IAM pour les postes liés à la facturation

Cette rubrique explique comment configurer les autorisations de gestion de l'authentification et des accès (IAM) pour un ensemble d'exemples de scénarios de facturation. Elle fournit des indications sur les rôles IAM qu'il convient d'attribuer aux rôles fonctionnels liés à la facturation dans votre entreprise pour ces différents scénarios. Ces exemples sont principalement destinés aux administrateurs de facturation et aux employés qui gèrent des tâches de facturation pour une organisation.

Ce document ne décrit pas en détail les autorisations ni les rôles relatifs à la facturation. Pour obtenir une description détaillée des rôles et des autorisations relatifs à l'API Billing, consultez la page Contrôle d'accès pour la facturation.

Configurer les autorisations de facturation pour une PME

Dans ce scénario, une petite entreprise tente de configurer et d'utiliser des comptes de facturation Google. Elle dispose d'une poignée d'ingénieurs pour assurer le développement et la mise à jour des applications, mais aucun ne gère la facturation associée. Un responsable des services administratifs est chargé du rapprochement entre paiements et factures, mais, pour des raisons de conformité, il n'est pas autorisé à accéder aux ressources Google Cloud disponibles dans les projets. La PDG assure également la tenue et la gestion des informations de cartes de crédit.

Le tableau ci-dessous décrit les rôles IAM de facturation que l'administrateur de l'organisation (la PDG dans ce scénario) peut attribuer aux autres acteurs de l'entreprise, ainsi que le niveau de ressources pour lequel ces rôles sont attribués.

Rôle : Administrateur de l'organisation Le rôle d'administrateur de l'organisation permet à la PDG d'attribuer des autorisations au responsable des services administratifs.
Resource : Organisation
Compte principal : PDG
Rôle : Administrateur de compte de facturation Le rôle d'administrateur de la facturation permet au responsable des services administratifs et à la PDG de gérer les paiements et les factures, sans leur donner l'autorisation de visualiser le contenu des projets.
Resource : Organisation
Comptes principaux : Responsable des services administratifs, PDG

La stratégie d'autorisation associée à la ressource Organisation pour ce scénario se présentera comme suit :

{
  "bindings": [
    {
      "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "user:ceo@example.com"
      ]
    },
    {
      "role": "roles/billing.admin",
      "members": [
        "group:finance-admins-group@example.com"
      ]
    }
  ]
}

Il est recommandé d'utiliser des groupes afin de gérer les comptes principaux. Dans l'exemple ci-dessus, pour la deuxième liaison, vous ajouteriez le PDG et le responsable des services administratifs au groupe finance-admins-group. Lorsque vous devez modifier la liste des personnes autorisées à assurer la fonction, il vous suffit de modifier les membres du groupe, ce qui vous évite de mettre à jour la stratégie. Ainsi, les deux comptes utilisateur individuels n'apparaissent pas dans les liaisons de rôles.

Gestion des budgets par les équipes financières

Dans ce scénario, une grande entreprise souhaite que l'équipe financière de chaque division puisse établir des budgets et visualiser les dépenses des équipes de sa division, sans toutefois avoir accès aux ressources Google Cloud. Il n'y a aucun inconvénient à ce que les développeurs voient les dépenses engagées pour leurs propres projets, mais ils ne doivent pas avoir une vue d'ensemble des dépenses.

Attribuez les rôles indiqués dans le tableau ci-dessous au responsable financier de chaque division et aux développeurs :

Rôle : Administrateur de compte de facturation Ce rôle accorde au responsable financier de chaque division l'autorisation de définir des budgets et de visualiser les dépenses des comptes de facturation de sa division, sans toutefois lui permettre d'afficher le contenu des projets.
Resource : Compte de facturation
Comptes principaux : Responsable financier de chaque division
Rôle : Lecteur de compte de facturation Le rôle Lecteur de compte de facturation permet aux développeurs de visualiser les dépenses relatives à un compte de facturation.
Resource : Compte de facturation
Comptes principaux : Développeurs du projet

Pour ce scénario, utilisez la console de facturation pour attribuer le rôle Administrateur de compte de facturation aux responsables financiers du compte de facturation. En outre, attribuez le rôle Lecteur de compte de facturation aux développeurs du compte de facturation.

Lorsque vous avez terminé, la stratégie d'autorisation du compte de facturation ressemble à ce qui suit :

{
  "bindings": [
    {
      "role": "roles/billing.admin",
      "members": [
        "group:finance-admins-group@example.com"
      ]
    },
    {
      "role": "roles/billing.viewer",
      "members": [
        "group:developers@example.com"
      ]
    }
  ],
  "etag": "BwUjMhCsNvY=",
  "version": 1
}

Portail de libre-service client ne permettant pas aux développeurs d'ajuster la facturation

Dans ce scénario, l'équipe informatique centrale d'un client fournit des ressources Google Cloud à ses développeurs dans le cadre de son portail en libre service. Les développeurs demandent l'accès aux projets Google Cloud et à d'autres services cloud approuvés via le portail. L'équipe informatique centrale facture les ressources cloud consommées au centre de coûts des développeurs.

L'équipe informatique centrale doit pouvoir :

  • associer des projets à des comptes de facturation ;
  • désactiver la facturation des projets ;
  • afficher les informations de cartes de crédit.

Cette équipe ne doit pas être autorisée à visualiser le contenu des projets.

Les développeurs doivent pouvoir visualiser les coûts réels des ressources Google Cloud utilisées, mais ils ne doivent pas avoir la permissions de désactiver la facturation, d'associer la facturation à des projets et d'afficher les informations de carte de crédit.

Rôle : Administrateur de compte de facturation Le rôle d'administrateur de la facturation accorde au service informatique les autorisations requises pour associer des projets à des comptes de facturation, désactiver la facturation des projets et afficher les informations de carte de crédit des comptes qu'ils revendent à leurs clients.

Il ne les autorise pas à afficher le contenu des projets.

Resource : Compte de facturation
Compte principal : Service informatique
Rôle : Utilisateur de compte de facturation Le rôle d'utilisateur de compte de facturation donne au compte de service les autorisations nécessaires pour activer la facturation (associer des projets au compte de facturation de l'organisation pour tous les projets de l'organisation) et ainsi permettre au compte de service d'activer les API nécessitant une facturation.
Resource : Organisation
Compte principal : Compte de service utilisé pour automatiser la création de projet
Rôle : Lecteur de compte de facturation Le rôle Lecteur de compte de facturation permet aux développeurs de visualiser les dépenses relatives à un compte de facturation.
Resource : Compte de facturation
Comptes principaux : Développeurs du projet

Dans ce scénario, deux opérations distinctes seront nécessaires pour affecter les stratégies d'autorisation appropriées, car celles-ci sont associées à des niveaux différents de la hiérarchie.

À l'aide de la console de facturation, attribuez le rôle Administrateur de compte de facturation au service informatique du compte de facturation. En outre, attribuez le rôle Lecteur de compte de facturation aux développeurs du compte de facturation.

Vous devez ensuite associer une stratégie d'autorisation au niveau de l'organisation. Cette stratégie d'autorisation accorde le rôle d'utilisateur de compte de facturation au compte de service. Elle ressemble à ce qui suit :

{
  "bindings": [
    {
      "role": "roles/billing.user",
      "members": [
        "serviceAccount:my-project-creator@shared-resources-proj.iam.gserviceaccount.com"
      ]
    }
  ],
  "etag": "BwWKmjvelug=",
  "version": 1
}

Développeurs créant des projets facturés

Une grande entreprise "digital native" souhaite donner à tous ses développeurs la possibilité de créer des projets facturés sur le compte de facturation de leur organisation, sans toutefois leur accorder de droits d'administrateur de la facturation.

La facturation doit être activée dans un projet pour que les API autres que celles par défaut puissent être activées. Ainsi, si un développeur crée un projet, il doit l'associer à un compte de facturation pour activer les API.

Rôle : Utilisateur de compte de facturation Le rôle Utilisateur de compte de facturation permet aux développeurs d'associer le compte de facturation aux nouveaux projets de l'organisation.
Resource : Organisation
Comptes principaux : Développeurs

La stratégie d'autorisation de ce scénario doit être associée au niveau de l'organisation et se présentera comme suit :

{
  "bindings": [
    {
      "role": "roles/billing.user",
      "members": [
        "group:developers@example.com"
      ]
    }
  ],
  "etag": "BwUjMhCsNvY=",
  "version": 1
}

Agrégation de coûts

Dans ce scénario, une entreprise souhaite calculer et suivre les coûts correspondant à chaque équipe, département, service ou projet. Par exemple, quel est le coût mensuel d'un déploiement de test pour l'entreprise ?

L'entreprise peut opérer ce suivi en appliquant les pratiques suivantes :

  • Utilisez des projets pour organiser les ressources. Le coût est indiqué par projet et les ID de projet sont inclus dans l'exportation de la facturation.
  • Annotez les projets au moyen de libellés représentant des informations de regroupement supplémentaires Par exemple, environment=test. Ces libellés sont inclus dans l'exportation de la facturation pour vous permettre de décomposer plus finement les données. Cependant, les libellés associés à un projet relèvent des mêmes autorisations que les autres métadonnées du projet, ce qui signifie qu'un propriétaire de projet peut les modifier. Vous pouvez soit informer vos employés sur les éléments à ne pas modifier, puis les surveiller (via des journaux d'audit), soit leur accorder des autorisations granulaires qui ne leur permettent pas de modifier les métadonnées du projet.

Vous pouvez exporter la facturation au format JSON ou CSV, mais nous vous recommandons de les exporter directement vers BigQuery. Cette option est aisément configurable depuis la section "Exportation de la facturation" de la console de facturation.

Si chaque centre de coûts est appelé à régler une facture distincte ou à payer dans une devise spécifique pour certaines charges de travail, il est nécessaire d'utiliser un compte de facturation séparé pour chacun des centres de coûts. Une telle approche nécessiterait toutefois la signature d'un contrat d'affiliation pour chaque compte de facturation.