Ruoli IAM per mansioni relative alla fatturazione

Questo argomento mostra come configurare le autorizzazioni Cloud IAM per una serie di scenari di fatturazione di esempio. Fornisce indicazioni su quali ruoli Cloud IAM concedere ai ruoli funzionali relativi alla fatturazione della tua azienda in diversi scenari. Gli esempi qui riportati sono principalmente rivolti agli amministratori della fatturazione e ai dipendenti che gestiscono le attività di fatturazione di un'organizzazione.

Questo documento non spiega nel dettaglio le autorizzazioni e i ruoli di fatturazione. Per una descrizione dettagliata dei ruoli e delle autorizzazioni per l'API Cloud Billing, leggi la pagina Controllo dell'accesso all'API Cloud Billing.

Configurazione delle autorizzazioni di fatturazione in una piccola impresa

In questo scenario, una piccola impresa sta tentando di configurare e utilizzare gli account di fatturazione Google. Dispone di diversi tecnici che sviluppano e gestiscono le applicazioni, ma nessuno di loro gestisce la fatturazione. Ha un responsabile che si occupa di far corrispondere i pagamenti alle fatture e a cui, per motivi di conformità, non è consentito l'accesso alle risorse Cloud Platform nei progetti. Il CEO, inoltre, conserva e gestisce i dati della carta di credito.

La tabella riportata di seguito illustra i ruoli Cloud IAM di fatturazione che l'Amministratore organizzazione (il CEO in questo scenario) può concedere agli altri dipendenti dell'azienda e il livello di risorsa a cui concede i ruoli.

Ruolo: Amministratore organizzazione Il ruolo Amministratore organizzazione consente al CEO di assegnare le autorizzazioni al Responsabile.
Risorsa: Organizzazione
Membro: CEO
Ruolo: Amministratore account di fatturazione Il ruolo Amministratore account di fatturazione consente al responsabile e al CEO di gestire pagamenti e fatture senza concedere loro l'autorizzazione per visualizzare i contenuti dei progetti.
Risorsa: Organizzazione
Membri: Responsabile, CEO

Il criterio Cloud IAM associato alla risorsa organizzazione per questo scenario sarà simile al seguente:

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

La best practice prevede l'utilizzo di gruppi per gestire i membri. Nell'esempio riportato sopra, per la seconda associazione, dovrai aggiungere il CEO e il responsabile al gruppo finance-admins-group. Per modificare chi deve poter eseguire la funzione, dovrai semplicemente modificare l'appartenenza al gruppo, senza dover aggiornare il criterio. Pertanto, i due account utente specifici non sono visualizzati nell'elenco dei membri.

Team finanziari per la gestione del budget

In questo scenario, una grande azienda desidera che il team finanziario di ciascuna divisione possa impostare il budget e visualizzare le spese del team della divisione, ma non abbia accesso alle risorse GCP. Gli sviluppatori potranno visualizzare la spesa per i loro progetti, ma non dovranno avere accesso a un'ampia panoramica delle spese.

Concedi al responsabile finanziario e agli sviluppatori di ciascuna divisione i ruoli indicati nella tabella riportata di seguito:

Ruolo: Amministratore account di fatturazione Questo ruolo concede al responsabile finanziario di ciascuna divisione l'autorizzazione per impostare i budget e visualizzare la spesa per gli account di fatturazione della propria divisione, ma non per visualizzare i contenuti dei progetti.
Risorsa: Account di fatturazione
Membri: Responsabile finanziario di ciascuna divisione
Ruolo: Visualizzatore Il ruolo Visualizzatore consente agli sviluppatori di visualizzare le spese per i progetti di cui sono proprietari.
Risorsa: Progetto
Membri: Sviluppatori del progetto

Per questo scenario, sarà necessario eseguire due azioni diverse per assegnare i criteri Cloud IAM delle autorizzazioni appropriate poiché vengono associati a livelli diversi della gerarchia.

Assegnazione delle autorizzazioni all'account di fatturazione:

Utilizza la console di fatturazione per concedere a un utente il ruolo Amministratore account di fatturazione per l'account di fatturazione. Dall'account che ha configurato l'account di fatturazione, concedi al responsabile finanziario il ruolo Amministratore account di fatturazione per l'account di fatturazione.

Il criterio Cloud IAM da collegare al progetto sarà simile al seguente:

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

Portale self-service per i clienti, gli sviluppatori non possono modificare la fatturazione

In questo scenario, il team IT centrale di un cliente fornisce risorse GCP agli sviluppatori nell'ambito dei servizi del proprio portale self-service. Gli sviluppatori richiedono l'accesso ai progetti GCP e ad altri servizi cloud approvati tramite il portale. Il centro di costo dello sviluppatore paga il team IT centrale in base alle risorse cloud utilizzate.

Il team IT centrale deve essere in grado di:

  • Associare i progetti agli account di fatturazione.
  • Disattivare la fatturazione per i progetti.
  • Visualizzare i dati della carta di credito.

Non devono disporre delle autorizzazioni per visualizzare i contenuti dei progetti.

Gli sviluppatori devono essere in grado di visualizzare i costi effettivi delle risorse GCP utilizzate, ma non di disattivare la fatturazione, associare la fatturazione ai progetti e visualizzare i dati della carta di credito.

Ruolo: Amministratore account di fatturazione Il ruolo Amministratore account di fatturazione concede al reparto IT le autorizzazioni per associare i progetti agli account di fatturazione, disattivare la fatturazione per i progetti e visualizzare i dati della carta di credito per gli account che rivendono ai propri clienti.

Non concede loro le autorizzazioni per visualizzare i contenuti dei progetti.

Risorsa: Account di fatturazione
Membro: Reparto IT
Ruolo: Utente account di fatturazione Il ruolo Utente account di fatturazione concede all'account di servizio le autorizzazioni per attivare la fatturazione (associare progetti all'account di fatturazione dell'organizzazione per tutti i progetti dell'organizzazione) e quindi poter attivare le API che richiedono l'attivazione della fatturazione.
Risorsa: Organizzazione
Membro: Account di servizio utilizzato per automatizzare la creazione dei progetti.
Ruolo: Visualizzatore Il ruolo Visualizzatore consente agli sviluppatori di visualizzare le spese per i progetti di cui sono proprietari.
Risorsa: Progetto
Membri: Sviluppatori del progetto

Per questo scenario, sarà necessario eseguire due operazioni diverse per assegnare i criteri Cloud IAM appropriati poiché vengono associati a livelli diversi della gerarchia.

Utilizza la console di fatturazione per concedere a un utente il ruolo Amministratore account di fatturazione per l'account di fatturazione. Dall'account che ha configurato l'account di fatturazione, concedi al responsabile finanziario il ruolo Amministratore account di fatturazione per l'account di fatturazione.

Avrai quindi bisogno di due diversi criteri Cloud IAM poiché li stai associando a livelli diversi della gerarchia.

Il primo criterio Cloud IAM da associare a livello di organizzazione serve a concedere all'account di servizio il ruolo Utente account di fatturazione. Sarà simile al seguente.

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

Il secondo criterio Cloud IAM deve essere associato a livello di progetto per concedere agli sviluppatori il ruolo Visualizzatore per il progetto:

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

Gli sviluppatori creano progetti fatturati

Una grande azienda digitale vuole consentire a tutti i suoi sviluppatori di creare progetti fatturati per il proprio account con fatturazione senza concedere loro i diritti di Amministratore account di fatturazione.

Per assicurarsi che le API sottostanti le impostazioni predefinite possano essere attivate, è necessario che per un progetto sia attivata la fatturazione. Pertanto, se uno sviluppatore crea un progetto, dovrà associarlo a un account di fatturazione per attivare le API.

Risorsa: Progetto Il ruolo Autore account di fatturazione consente agli sviluppatori di:
  • Creare nuovi account di fatturazione
  • Associare gli account di fatturazione ai progetti
Ruolo: Autore account di fatturazione
Membri: Sviluppatori

Il criterio Cloud IAM per questo scenario deve essere associato a livello di progetto e sarà simile al seguente:

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

Aggregazione dei costi

In questo scenario, una società vuole calcolare i costi di ogni team, dipartimento, servizio o progetto e tenerne traccia. Ad esempio, vuole tenere traccia del costo mensile di un deployment di test.

Per tenere traccia di questo costo è possibile applicare le seguenti best practice:

  • Utilizzare progetti per organizzare le risorse. Il costo viene visualizzato per progetto e gli ID progetto sono inclusi nell'esportazione della fatturazione.
  • Annotare i progetti con etichette che riportano ulteriori informazioni di raggruppamento. Ad esempio, environment=test. Le etichette sono incluse nell'esportazione della fatturazione per consentirti un'analisi più approfondita. Tuttavia, le autorizzazioni per le etichette di un progetto funzionano nello stesso modo che per gli altri metadati del progetto, il che significa che il proprietario del progetto può modificare le etichette. Puoi istruire i tuoi dipendenti su cosa non modificare e poi monitorare la situazione tramite audit log oppure concedere loro solo autorizzazioni granulari in modo che non possano modificare i metadati del progetto.

Puoi eseguire l'esportazione in JSON e CSV, ma l'esportazione diretta in BigQuery è la soluzione consigliata. È possibile configurare facilmente questa esportazione dalla sezione Esportazione fatturazione della console di fatturazione.

Se ogni centro di costo deve pagare una fattura distinta o pagare in una valuta diversa per alcuni carichi di lavoro, è necessario un account di fatturazione diverso per ogni centro di costo. Tuttavia, questo approccio richiede un contratto di affiliazione firmato per ogni account di fatturazione.