Ruoli IAM per mansioni relative alla fatturazione

Questo argomento illustra come configurare le autorizzazioni IAM (Identity and Access Management) per un insieme di scenari di fatturazione di esempio. Fornisce indicazioni su quali ruoli IAM concedere ai ruoli funzionali relativi alla fatturazione nella tua azienda per gli scenari. Questi esempi sono rivolti principalmente agli amministratori della fatturazione e ai dipendenti che gestiscono le attività di fatturazione per 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 abbinare i pagamenti alle fatture, ma per motivi di conformità non è autorizzato ad accedere alle risorse Google Cloud nei progetti. Il CEO, inoltre, conserva e gestisce i dati della carta di credito.

La tabella seguente illustra i ruoli IAM di fatturazione che l'Amministratore organizzazione (il CEO in questo scenario) può concedere agli altri utenti tipo 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
Entità: 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
Presidi: Responsabile, CEO

Il criterio di autorizzazione associato alla risorsa dell'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'uso dei gruppi per gestire le entità. Nell'esempio riportato sopra, per la seconda associazione, devi aggiungere il CEO e il responsabile a finance-admins-group. Quando devi modificare chi è in grado di eseguire la funzione, devi semplicemente modificare l'appartenenza al gruppo, eliminando la necessità di aggiornare il criterio di autorizzazione. Pertanto, i due account utente individuali non compaiono nelle associazioni di ruolo.

Team finanziari per la gestione del budget

In questo scenario, una grande organizzazione vuole che il team finanziario di ogni divisione possa impostare i budget e visualizzare le spese del team nella divisione, ma non avere accesso alle risorse di 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
Presidi: Responsabile finanziario di ciascuna divisione
Ruolo: Visualizzatore account di fatturazione Il ruolo Visualizzatore account di fatturazione consente agli sviluppatori di visualizzare le spese di un account di fatturazione.
Risorsa: Account di fatturazione
Presidi: Sviluppatori del progetto

Per questo scenario, utilizza la console di fatturazione per concedere il ruolo Amministratore account di fatturazione ai responsabili 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 del 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 devono essere in grado 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
Entità: 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
Entità: 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 di un account di fatturazione.
Risorsa: Account di fatturazione
Presidi: Sviluppatori del progetto

Per questo scenario, avrai bisogno di due operazioni separate per assegnare i criteri di autorizzazione appropriati poiché sono 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 il ruolo Visualizzatore account di fatturazione agli sviluppatori dell'account di fatturazione.

Devi quindi collegare 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
Presidi: 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.