Ruoli IAM per mansioni relative alla fatturazione

Questo argomento mostra come configurare le autorizzazioni Identity and Access Management (IAM) per una serie di scenari di fatturazione di esempio. Fornisce indicazioni su quali ruoli 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 Google Cloud 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
Principale: 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
Principali: Responsabile, CEO

Il criterio di autorizzazione associato alla risorsa organizzazione per questo scenario sarà simile al seguente:

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

La best practice prevede l'utilizzo di gruppi per gestire i principali. 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 di autorizzazione. Pertanto, i due account utente specifici non sono visualizzati nelle associazioni di ruoli.

Team finanziari per la gestione del budget

In questo scenario, una grande azienda vuole 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 Google Cloud. 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
Principali: Responsabile finanziario di ciascuna divisione
Ruolo: Visualizzatore account di fatturazione Il ruolo Visualizzatore account di fatturazione consente agli sviluppatori di visualizzare le spese per un account di fatturazione.
Risorsa: Account di fatturazione
Principali: Sviluppatori del progetto

Per questo scenario, utilizza la console di fatturazione per concedere il ruolo Amministratore account di fatturazione agli addetti finanziari dell'account di fatturazione. Inoltre, concedi il ruolo Visualizzatore account di fatturazione agli sviluppatori dell'account di fatturazione.

Al termine, il criterio di autorizzazione per l'account di fatturazione sarà simile al seguente:

{
  "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
}

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 Google Cloud agli sviluppatori nell'ambito dei servizi del proprio portale self-service. Gli sviluppatori richiedono l'accesso ai progetti Google Cloud 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 Google Cloud 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
Principale: 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
Principale: Account di servizio utilizzato per automatizzare la creazione dei progetti.
Ruolo: Visualizzatore account di fatturazione Il ruolo Visualizzatore account di fatturazione consente agli sviluppatori di visualizzare le spese per un account di fatturazione.
Risorsa: Account di fatturazione
Principali: Sviluppatori del progetto

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

Utilizza la console di fatturazione per concedere il ruolo Amministratore account di fatturazione al reparto IT dell'account di fatturazione. Inoltre, concedi agli sviluppatori dell'account di fatturazione il ruolo visualizzatore account di fatturazione.

Devi quindi allegare un criterio di autorizzazione a livello di organizzazione. Questo criterio di autorizzazione concede il ruolo Utente account di fatturazione all'account di servizio. È simile al seguente:

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

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.

Ruolo: Utente account di fatturazione Il ruolo Utente account di fatturazione consente agli sviluppatori di collegare l'account di fatturazione ai nuovi progetti all'interno dell'organizzazione.
Risorsa: Organizzazione
Principali: Sviluppatori

Il criterio di autorizzazione per questo scenario deve essere associato a livello di organizzazione e sarà simile al seguente:

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

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.