IAM-rollen voor factureringsgerelateerde taakfuncties

In dit document wordt uitgelegd hoe u Cloud IAM-rechten configureert voor een reeks voorbeeldscenario's voor facturering. U leest welke Cloud IAM-rollen u in deze scenario's het best kunt toekennen voor de factureringsgerelateerde functionele rollen in uw bedrijf. Deze voorbeelden zijn voornamelijk bedoeld voor factureringsbeheerders en medewerkers die factureringstaken voor een organisatie beheren.

Dit document bevat geen gedetailleerde instructies over factureringsrollen en -machtigingen. Raadpleeg de pagina Toegangsbeheer voor facturering voor een gedetailleerde beschrijving van de rollen en machtigingen voor de Billing API.

Klein bedrijf dat factureringsmachtigingen configureert

In dit scenario wil een klein bedrijf Google-factureringsaccounts configureren en gebruiken. Het bedrijf heeft een aantal technici in dienst die apps ontwikkelen en onderhouden, maar geen van hen beheert de facturering daarvan. Er is een officemanager die betalingen aan facturen koppelt, maar vanwege nalevingsvereisten heeft de officemanager geen toegang tot de Cloud Platform-resources in de projecten. De CEO bezit en beheert de creditcardgegevens.

In de onderstaande tabel worden de Cloud IAM-rollen voor facturering beschreven die de organisatiebeheerder (in dit scenario de CEO) kan toekennen aan de andere personen in het bedrijf. Ook toont de tabel het resourceniveau waarop de rollen worden toegekend.

Rol: Organisatiebeheerder Met de rol 'Organisatiebeheerder' kan de CEO machtigingen verlenen aan de officemanager.
Resource: Organisatie
Lid: Algemeen directeur
Rol: Beheerder factureringsaccount Met de rol 'Beheerder factureringsaccount' kunnen de officemanager en de CEO betalingen en facturen beheren zonder gemachtigd te zijn om projectcontent te bekijken.
Resource: Organisatie
Leden: Officemanager, CEO

Het Cloud IAM-beleid dat aan de organisatieresource voor dit scenario gekoppeld is, ziet er ongeveer als volgt uit:

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

U kunt het best groepen gebruiken om leden te beheren. In het bovenstaande voorbeeld voegt u voor de tweede binding de CEO en de officemanager toe aan de finance-admins-group. Wanneer u moet wijzigen wie de functie kan hebben, hoeft u alleen maar het groepslidmaatschap aan te passen. Het is dan niet nodig om het beleid te updaten. De twee afzonderlijke gebruikersaccounts verschijnen niet in de ledenlijst.

Financiële teams die budgetten beheren

In dit scenario wil een grote organisatie ervoor zorgen dat het financiële team van elke afdeling budgetten kan instellen en teamuitgaven binnen de afdeling kan bekijken, zonder toegang tot de GCP-resources. De organisatie vindt het niet erg dat de ontwikkelaars de uitgaven voor hun eigen projecten zien, maar ontwikkelaars mogen geen toegang hebben tot een algemeen overzicht van de uitgaven.

Ken de rollen in de onderstaande tabel toe aan de financieel manager van elke afdeling en aan de ontwikkelaars:

Rol: Beheerder factureringsaccount Met de rol 'Beheerder factureringsaccount' kan de financieel manager van elke afdeling budgetten instellen en de uitgaven voor de factureringsaccounts binnen de eigen afdeling bekijken, zonder gemachtigd te zijn om projectcontent te bekijken.
Resource: Factureringsaccount
Leden: Financieel manager van elke afdeling
Rol: Kijker Met de rol 'Kijker' kunnen ontwikkelaars de uitgaven bekijken voor de projecten waarvan zij de eigenaar zijn.
Resource: Project
Leden: Ontwikkelaars van het project

Voor dit scenario moet u twee afzonderlijke acties uitvoeren om de juiste machtigingen voor Cloud IAM-beleid te verlenen, aangezien deze aan verschillende niveaus van de hiërarchie zijn gekoppeld.

Machtigingen verlenen aan het factureringsaccount:

Gebruik de factureringsconsole om een gebruiker de rol van 'Beheerder factureringsaccount' te geven voor het factureringsaccount. Geef de financieel manager de rol van 'Beheerder factureringsaccount' voor het factureringsaccount via het account waarmee het factureringsaccount is ingesteld.

Het Cloud IAM-beleid dat aan het project moet worden gekoppeld, ziet er ongeveer zo uit:

{
  "bindings": [
  {
     "role": "roles/viewer",
     "members": [
               "group:developers@example.com"
     ]
  }
  ]
}

Selfserviceportal voor klanten waarbij ontwikkelaars de facturering niet kunnen aanpassen

In dit scenario biedt het centrale IT-team van een klant GCP-resources aan ontwikkelaars als onderdeel van een selfserviceportal. Ontwikkelaars vragen via de portal toegang tot GCP-projecten en andere goedgekeurde cloudservices. Het kostencentrum van de ontwikkelaar betaalt het centrale IT-team voor de verbruikte cloudresources.

Het centrale IT-team moet het volgende kunnen doen:

  • Projecten aan factureringsaccounts koppelen
  • Facturering uitschakelen voor projecten
  • Creditcardgegevens bekijken

Het team mag niet zijn gemachtigd om de projectcontent te bekijken.

Ontwikkelaars moeten de werkelijke kosten kunnen bekijken van de GCP-resources die worden verbruikt, maar mogen de facturering niet kunnen uitschakelen, mogen geen facturering aan projecten kunnen koppelen en mogen geen creditcardgegevens kunnen bekijken.

Rol: Beheerder factureringsaccount Met de rol 'Beheerder factureringsaccount' is de IT-afdeling gemachtigd om projecten aan factureringsaccounts te koppelen, facturering voor de projecten uit te schakelen en de creditcardgegevens te bekijken voor de accounts die ze aan klanten doorverkopen.

De IT-afdeling is niet gemachtigd om de content van projecten te bekijken.

Resource: Factureringsaccount
Lid: IT-afdeling
Rol: Gebruiker factureringsaccount Met de rol 'Gebruiker factureringsaccount' is het serviceaccount gemachtigd om facturering in te schakelen (projecten koppelen aan het factureringsaccount van de organisatie voor alle projecten in de organisatie). Hiermee kan het serviceaccount ook API's inschakelen waarvoor facturering moet worden ingeschakeld.
Resource: Organisatie
Lid: Serviceaccount dat wordt gebruikt om het maken van projecten te automatiseren
Rol: Kijker Met de rol 'Kijker' kunnen ontwikkelaars de uitgaven bekijken voor de projecten waarvan ze de eigenaar zijn.
Resource: Project
Leden: Ontwikkelaars van het project

Voor dit scenario moet u twee afzonderlijke bewerkingen uitvoeren om de juiste Cloud IAM-beleidsregels toe te passen, aangezien deze aan verschillende niveaus van de hiërarchie zijn gekoppeld.

Gebruik de factureringsconsole om een gebruiker de rol van 'Beheerder factureringsaccount' te geven voor het factureringsaccount. Geef de financieel manager de rol van 'Beheerder factureringsaccount' voor het factureringsaccount via het account waarmee het factureringsaccount is ingesteld.

U heeft vervolgens twee afzonderlijke instanties van Cloud IAM-beleid nodig, aangezien u ze aan afzonderlijke niveaus van de hiërarchie koppelt.

Het eerste Cloud IAM-beleid moet op organisatieniveau worden gekoppeld en wordt gebruikt om het serviceaccount de rol 'Gebruiker factureringsaccount' te geven. Het beleid ziet er ongeveer als volgt uit.

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

Het tweede Cloud IAM-beleid moet op projectniveau worden toegevoegd. Geef de ontwikkelaars de rol 'Kijker' in het project:

{
  "bindings": [
  {
     "role": "roles/viewer",
     "members": [
       "group:developers@example.com"
     ]
  }
  ]
}

Ontwikkelaars die gefactureerde projecten maken

Een groot bedrijf voor digitale technologie wil al zijn ontwikkelaars toestaan om gefactureerde projecten te maken binnen het gefactureerde account van het bedrijf, zonder deze ontwikkelaars de machtigingen van de rol 'Beheerder factureringsaccount' te geven.

API's buiten de standaard-API's kunnen alleen worden ingeschakeld als facturering ingeschakeld is voor een project. Dus als ontwikkelaars een project maken, moeten ze dit koppelen aan een factureringsaccount om de API's in te schakelen.

Resource: Project Met de rol 'Maker factureringsaccount' kunnen ontwikkelaars het volgende doen:
  • Nieuwe factureringsaccounts maken
  • Factureringsaccounts aan projecten koppelen
Rol: Maker factureringsaccount
Leden: Ontwikkelaars

Het Cloud IAM-beleid voor dit scenario moet op projectniveau worden toegevoegd en ziet er ongeveer zo uit:

{
  "bindings": [
  {
     "role": "roles/billing.creator",
     "members": [
               "group:developers@example.com"
     ]
  }
  ]
}

Kosten bijhouden

In dit scenario wil een bedrijf berekenen en bijhouden hoeveel alle teams, afdelingen, services of projecten kosten. Het bedrijf wil bijvoorbeeld bijhouden hoeveel kosten een testimplementatie elke maand kost.

De kosten kunnen op de volgende manieren worden bijgehouden:

  • Gebruik projecten om resources te organiseren. De kosten worden per project weergegeven en project-ID's worden in de factureringsexport opgenomen.
  • Annoteer projecten met labels die aanvullende groeperingsinformatie geven. Een voorbeeld van een label is environment=test. Labels worden opgenomen in de factureringsexport, zodat u de gegevens verder kunt analyseren. Voor labels binnen een project gelden echter dezelfde machtigingen als voor de andere metadata van het project. Dit betekent dat een projecteigenaar labels kan wijzigen. U kunt uw medewerkers informeren over welke elementen ze niet mogen wijzigen en dit vervolgens monitoren via controlelogboeken. U kunt medewerkers ook alleen specifieke machtigingen verlenen, zodat ze de projectmetadata niet kunnen wijzigen.

U kunt exporteren naar JSON en csv. We raden echter aan rechtstreeks naar BigQuery te exporteren. Dit kunt u eenvoudig configureren vanuit het gedeelte voor factureringsexport in de factureringsconsole.

Als elke kostenplaats een afzonderlijke factuur moet betalen of in een afzonderlijke valuta moet betalen voor bepaalde productietaken, is voor elke kostenplaats een afzonderlijk factureringsaccount vereist. Voor deze methode is echter een ondertekende partnerovereenkomst nodig voor elk factureringsaccount.