Ruoli IAM per mansioni relative alla fatturazione

Questo argomento illustra come configurare le autorizzazioni IAM (Gestione di identità e accessi) per un insieme di scenari di fatturazione di esempio. Offre indicazioni su quali ruoli IAM concedere ai ruoli funzionali di fatturazione nella tua azienda per gli scenari. Questi esempi sono principalmente destinati 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. Hanno un responsabile presso l'ufficio, che è responsabile della corrispondenza dei pagamenti con le fatture, ma per motivi di conformità il responsabile dell'ufficio 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 spiega i ruoli IAM di fatturazione che l'amministratore dell'organizzazione (che è il CEO in questo scenario) può concedere agli altri utenti tipo dell'azienda e il livello di risorsa a cui assegna 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
Entità: 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'utilizzo dei gruppi per la gestione delle entità. Nell'esempio riportato sopra, per la seconda associazione, aggiungi il CEO e il direttore dell'ufficio all'finance-admins-group. Se 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 ruoli.

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 la spesa del team di divisione, ma non abbia 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
Entità: 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
Entità: Sviluppatori del progetto

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

Al termine, i criteri di autorizzazione per l'account di fatturazione saranno simili ai seguenti:

{
  "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 ai propri 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 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 per un account di fatturazione.
Risorsa: Account di fatturazione
Entità: Sviluppatori del progetto

Per questo scenario, avrai bisogno di due operazioni distinte per assegnare i criteri di autorizzazione appropriati perché sono collegati 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.

Dovrai poi 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
Entità: 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 di analizzare in modo più approfondito i dati. 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.