Controllo degli accessi per le API Cloud Billing

Google Cloud offre Identity and Access Management (IAM), che permette di concedere un accesso più granulare a determinate risorse Google Cloud e impedisce l'accesso indesiderato ad altre risorse. Con IAM puoi adottare il principio di sicurezza del privilegio minimo e quindi concedere solo l'accesso necessario alle tue risorse.

IAM consente di controllare chi (utenti) dispone di quale accesso (ruoli) a quali risorse impostando i criteri IAM. I criteri IAM concedono ruoli specifici a un utente concedendo all'utente determinate autorizzazioni.

Questa pagina illustra i ruoli di Identity and Access Management disponibili per le API Cloud Billing. Ad esempio, puoi utilizzare IAM per concedere ruoli come Amministratore, Utente e Visualizzatore per un account di fatturazione Cloud. Per una descrizione dettagliata di IAM e delle sue funzionalità, consulta la guida per gli sviluppatori di Identity and Access Management. In particolare, consulta la sezione Concessione, modifica e revoca dell'accesso.

Autorizzazioni obbligatorie per l'API Cloud Billing Catalog

L'autorizzazione non è necessaria quando si utilizza l'API Cloud Billing Catalog (elenco di servizi e elenco di SKU), perché tutti i dati restituiti dalle chiamate sono pubblici.

Autorizzazioni richieste per l'API Cloud Billing Budget

Per scoprire di più sulle autorizzazioni necessarie per utilizzare l'API Cloud Billing Budget, consulta Controllo dell'accesso per l'API Cloud Billing Budget.

Autorizzazioni e ruoli

Affinché un utente possa visualizzare i dettagli dell'account di fatturazione Cloud nella console Google Cloud o affinché un metodo dell'API Cloud Billing restituisca le informazioni dell'account di fatturazione Cloud, l'utente o il chiamante deve disporre delle autorizzazioni necessarie. Le seguenti tabelle elencano le autorizzazioni IAM e i ruoli necessari per ciascuna API Cloud Billing.

Autorizzazioni obbligatorie per l'API Cloud Billing Account

La tabella seguente elenca le autorizzazioni che il chiamante deve chiamare ogni metodo API Cloud Billing Account:

Metodo API Autorizzazioni richieste Ruolo IAM che concede l'autorizzazione
billingAccounts.create Questo metodo viene utilizzato per creare nuovi subaccount di fatturazione Cloud. Il chiamante deve disporre di billing.accounts.update sull'account di fatturazione Cloud principale del subaccount. Amministratore account di fatturazione
billingAccounts.get billing.accounts.get su un account di fatturazione Cloud. Amministratore account di fatturazione, Gestore costi account di fatturazione, Visualizzatore account di fatturazione o Utente account di fatturazione
billingAccounts.list Nessuno. Questo metodo restituisce tutti gli account a cui il chiamante è autorizzato ad accedere. Amministratore account di fatturazione, Gestore costi account di fatturazione, Visualizzatore account di fatturazione o Utente account di fatturazione per gli account di fatturazione Cloud o Gestore fatturazione progetto nei progetti.
billingAccounts.getIamPolicy billing.accounts.getIamPolicy su un account di fatturazione Cloud. Amministratore account di fatturazione, Gestore costi account di fatturazione, Visualizzatore account di fatturazione o Utente account di fatturazione
billingAccounts.setIamPolicy billing.accounts.setIamPolicy su un account di fatturazione Cloud. Amministratore account di fatturazione
billingAccounts.testIamPermissions Nessuno. Questo metodo viene utilizzato per determinare le autorizzazioni di cui un chiamante dispone su un account di fatturazione Cloud. n/d
billingAccounts.patch billing.accounts.update su un account di fatturazione Cloud. Amministratore account di fatturazione
billingAccounts.projects.list billing.resourceAssociations.list su un account di fatturazione Cloud. Amministratore account di fatturazione, Gestore costi account di fatturazione o Visualizzatore account di fatturazione
projects.getBillingInfo resourcemanager.projects.get sul progetto.
Per maggiori informazioni, consulta la pagina Controllo dell'accesso per i progetti.
Proprietario del progetto, editor del progetto o visualizzatore del progetto
projects.updateBillingInfo billing.resourceAssociations.create nell'account di fatturazione Cloud E resourcemanager.projects.createBillingAssignment nel progetto. Amministratore account di fatturazione o Utente account di fatturazione, E responsabile della fatturazione del progetto

Ruoli

Non assegni direttamente le autorizzazioni agli utenti, ma concedi loro dei ruoli, che sono abbinati al loro interno a una o più autorizzazioni.

Puoi concedere uno o più ruoli sulla stessa risorsa.

La tabella seguente elenca i ruoli di fatturazione IAM standard che puoi concedere per accedere alle API Cloud Billing, la descrizione del loro ruolo e le autorizzazioni associate al ruolo.

Ruolo Autorizzazioni

Amministratore account di fatturazione
(roles/billing.admin)

Fornisce l'accesso necessario per visualizzare e gestire tutti gli aspetti degli account di fatturazione.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Account di fatturazione
  • billing.accounts.close
  • billing.accounts.get
  • billing.accounts.getCarbonInformation
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getPricing
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.accounts.move
  • billing.accounts.redeemPromotion
  • billing.accounts.removeFromOrganization
  • billing.accounts.reopen
  • billing.accounts.setIamPolicy
  • billing.accounts.update
  • billing.accounts.updatePaymentInfo
  • billing.accounts.updateUsageExportSpec
  • fatturazione.budget.*
  • billing.credits.list
  • billing.resourceAssociations.*
  • billing.subscriptions.*
  • cloudnotifications.activity.list
  • proprietà_supporto.cloud
  • cloudsupport.techCases.*
  • catalogo delle offerte commerciali.*
  • consumerprocurement.accounts.*
  • consumerprocurement.consents.*
  • consumerprocurement.orderAttributions.*
  • consumerprocurement.orders.*
  • dataprocessing.datasources.get
  • dataprocessing.datasources.list
  • dataprocessing.groupcontrols.get
  • dataprocessing.groupcontrols.list
  • logging.logEntries.list
  • logging.logServiceIndexes.list
  • Logging.logServices.list
  • logging.logs.list
  • logging.privateLogEntries.list
  • motore per suggerimenti.commitmentUtilizationInsights.*
  • motore per suggerimenti.costInsights.*
  • motore per suggerimenti.spendBasedCommitmentInsights.*
  • motore per suggerimenti.spendBasedCommitmentRecommendations.*
  • motore per suggerimenti.usageCommitmentRecommendations.*
  • resourcemanager.projects.createFatturazioneAssignment
  • resourcemanager.projects.deleteFatturazioneAssignment
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Gestore costi account di fatturazione
(roles/billing.costsManager)

Gestire i budget per un account di fatturazione e visualizzare, analizzare ed esportare le informazioni sui costi di un account di fatturazione.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Account di fatturazione
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.accounts.updateUsageExportSpec
  • fatturazione.budget.*
  • billing.resourceAssociations.list
  • motore per suggerimenti.costInsights.*

Creatore account di fatturazione
(roles/billing.creator)

Fornisce l'accesso per creare gli account di fatturazione.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Organizzazione
  • billing.accounts.create
  • resourcemanager.organizations.get

Gestore fatturazione progetto
(roles/billing.projectManager)

Se concesso insieme al ruolo Utente account di fatturazione, consente di assegnare un account di fatturazione di progetto e di disabilitare la fatturazione.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Progetto
  • resourcemanager.projects.createFatturazioneAssignment
  • resourcemanager.projects.deleteFatturazioneAssignment

Utente account di fatturazione
(roles/billing.user)

Quando viene concesso insieme al ruolo Proprietario del progetto o ruolo Gestore fatturazione progetto, consente di associare i progetti agli account di fatturazione.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Account di fatturazione
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.list
  • billing.resourceAssociations.create

Visualizzatore account di fatturazione
(roles/billing.viewer)

Visualizza informazioni su costi e prezzi dell'account di fatturazione, transazioni e consigli sulla fatturazione e sull'impegno.

Risorse di livello più basso in cui puoi concedere questo ruolo:

  • Account di fatturazione
  • billing.accounts.get
  • billing.accounts.getCarbonInformation
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • billing.accounts.getPricing
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.budgets.get
  • billing.budgets.list
  • billing.credits.list
  • billing.resourceAssociations.list
  • billing.subscriptions.get
  • billing.subscriptions.list
  • catalogo delle offerte commerciali.*
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
  • consumerprocurement.consents.check
  • consumerprocurement.consents.list
  • consumerprocurement.order Attributions.get
  • consumerprocurement.list Attributions.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • dataprocessing.datasources.get
  • dataprocessing.datasources.list
  • dataprocessing.groupcontrols.get
  • dataprocessing.groupcontrols.list
  • motore per suggerimenti.commitmentUtilizationInsights.get
  • motore per suggerimenti.commitmentUtilizationInsights.list
  • recommender.costInsights.get
  • recommender.costInsights.list
  • motore per suggerimenti.spendBasedCommitmentInsights.get
  • motore per suggerimenti.spendshComCommentInsights.list
  • motore per suggerimenti.spendBasedCommitmentRecommendations.get
  • motore per suggerimenti.listBasedCommitmentRecommendations.list
  • motore per suggerimenti.usageCommitmentRecommendations.get
  • motore per suggerimenti.usageCommitmentRecommendations.list

Tieni presente che i ruoli roles/billing.admin, roles/billing.costsManager, roles/billing.viewer e roles/billing.projectManager includono autorizzazioni anche per altri servizi Google Cloud.