Ruoli IAM per mansioni relative alla fatturazione

Questo argomento mostra come configurare le autorizzazioni di Identity and Access Management (IAM) per una serie di scenari di fatturazione di esempio. Fornisce indicazioni su come i ruoli IAM da concedere ai ruoli funzionali relativi alla fatturazione in la tua azienda in merito agli 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. Hanno un responsabile, che è responsabile dell'abbinamento dei pagamenti alle fatture, ma per motivi di conformità il responsabile non è autorizzato ad accedere a Google Cloud di risorse nei progetti. Il CEO, inoltre, conserva e gestisce i dati della carta di credito.

La tabella seguente illustra i ruoli IAM di fatturazione Amministratore organizzazione (ovvero il CEO in questo scenario) può concedere alle altri utenti tipo dell'azienda e il livello di risorse a cui concede 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
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: sopra, per la seconda associazione, devi aggiungere il CEO e il responsabile alla 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. Quindi i due singoli account utente non appaiono le associazioni di ruolo.

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
Presidi: 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 a Google Cloud per gli sviluppatori nell'ambito del loro portale self-service. Sviluppatori richiedere l'accesso a 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 visualizza le spese per un account di fatturazione.
Risorsa: Account di fatturazione
Presidi: Sviluppatori del progetto

In questo scenario, avrai bisogno di due operazioni separate per assegnare i criteri di autorizzazione appropriati, poiché sono associati ai diversi livelli nella 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. Ciò ti consente assegna 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 i dati ai nuovi progetti all'interno dell'organizzazione.
Risorsa: Organizzazione
Presidi: Sviluppatori

Il criterio di autorizzazione per questo scenario deve essere collegato all'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.