Controle de acesso para APIs Cloud Billing

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Google Cloud oferece o Gerenciamento de acesso e identidade (IAM Identity and Access Management), que permite a concessão de acesso mais granular a recursos específicos do Google Cloud e impede o acesso indesejado a outros recursos. Com o IAM, você pode adotar o princípio de segurança do menor privilégio para conceder aos recursos apenas o acesso necessário.

Por meio da definição de políticas do IAM, é possível atribuir papéis aos usuários para que eles acessem recursos específicos. As políticas de IAM concedem papéis específicos a um usuário, que recebe determinadas permissões.

Nesta página, explicamos os papéis do Identity and Access Management que estão disponíveis para as APIs Cloud Billing. Por exemplo, é possível usar o IAM para conceder papéis, como administrador, usuário e leitor, a uma Conta do Cloud Billing. Para uma descrição detalhada do IAM e dos recursos dele, consulte o guia do desenvolvedor do Identity and Access Management. Veja, especificamente, a seção Como conceder, alterar e revogar acesso.

Permissões necessárias para a API Cloud Billing Catalog

A autorização não é necessária ao usar a API Cloud Billing Catalog (listas de serviços de SKUs) porque todos os dados retornados pelas chamadas são públicos.

Permissões obrigatórias para a API Cloud Billing Budget

Para saber mais sobre as permissões necessárias para usar a API Cloud Billing Budget, consulte Controle de acesso para a API Cloud Billing Budget.

Permissões e papéis

Para que um usuário visualize os detalhes da conta do Cloud Billing no Console do Google Cloud ou consulte um método da API Cloud Billing para retornar informações dessa conta, o usuário ou autor da chamada precisa ter as permissões necessárias. As tabelas a seguir listam as permissões e os papéis do IAM necessários para cada uma das APIs do Cloud Billing.

Permissões necessárias para a API Cloud Billing Account

A tabela a seguir lista as permissões que o solicitante precisa ter para chamar cada método da API Cloud Billing Account:

Método de API Permissões exigidas Papel do IAM que concede permissão
billingAccounts.create O método é usado para criar novas subcontas do Cloud Billing. O autor da chamada precisa ter billing.accounts.update na conta principal do Cloud Billing da subconta. Administrador da conta de faturamento
billingAccounts.get billing.accounts.get em uma Conta de faturamento do Cloud. Administrador da conta de faturamento, Gerente de custos da conta de faturamento, Leitor da conta de faturamento ou Usuário da conta de faturamento
billingAccounts.list Nenhuma. Este método retorna todas as contas que o autor da chamada tem permissão para acessar. "Administrador da conta de faturamento", "Gerente de custos da conta de faturamento", "Leitor da conta de faturamento" ou "Usuário da conta de faturamento" nas contas do Cloud Billing ou "Gerente de faturamento do projeto" nos projetos.
billingAccounts.getIamPolicy billing.accounts.getIamPolicy em uma Conta de faturamento do Cloud. Administrador da conta de faturamento, Gerente de custos da conta de faturamento, Leitor da conta de faturamento ou Usuário da conta de faturamento
billingAccounts.setIamPolicy billing.accounts.setIamPolicy em uma Conta de faturamento do Cloud. Administrador da conta de faturamento
billingAccounts.testIamPermissions Nenhuma. Este método é usado para determinar as permissões de um autor de chamada em uma conta do Cloud Billing. n/a
billingAccounts.patch billing.accounts.update em uma Conta de faturamento do Cloud. Administrador da conta de faturamento
billingAccounts.projects.list billing.resourceAssociations.list em uma Conta de faturamento do Cloud. Administrador da conta de faturamento, Gerenciador de custos da conta de faturamento ou Leitor da conta de faturamento
projects.getBillingInfo resourcemanager.projects.get no projeto.
Para mais informações, consulte Controle de acesso para projetos.
Proprietário, editor ou visualizador do projeto
projects.updateBillingInfo billing.resourceAssociations.create na conta do Cloud Billing E resourcemanager.projects.createBillingAssignment no projeto. Administrador da conta de faturamento ou usuário da conta de faturamento E Gerente de faturamento do projeto

Papéis

Você não concede permissões diretamente aos usuários, mas atribui a eles papéis com uma ou mais permissões agrupadas.

É possível conceder um ou mais papéis no mesmo recurso.

A tabela a seguir lista os papéis padrão de faturamento do IAM que podem ser concedidos para acessar as APIs do Cloud Billing, a descrição do papel e as permissões incluídas nele.

Papel Permissões

(roles/billing.admin)

Dá acesso para visualizar e gerenciar todos os aspectos das contas de faturamento.

Recursos de nível mais baixo em que é possível conceder esse papel:

  • Conta de faturamento

Contém 33 permissões de proprietário

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

billing.budgets.*

  • billing.budgets.create
  • billing.budgets.delete
  • billing.budgets.get
  • billing.budgets.list
  • billing.budgets.update

billing.credits.list

billing.resourceAssociations.*

  • billing.resourceAssociations.create
  • billing.resourceAssociations.delete
  • billing.resourceAssociations.list

billing.subscriptions.*

  • billing.subscriptions.create
  • billing.subscriptions.get
  • billing.subscriptions.list
  • billing.subscriptions.update

cloudnotifications.activities.list

cloudsupport.properties.get

cloudsupport.techCases.*

  • cloudsupport.techCases.create
  • cloudsupport.techCases.escalate
  • cloudsupport.techCases.get
  • cloudsupport.techCases.list
  • cloudsupport.techCases.update

commerceoffercatalog.*

  • commerceoffercatalog.documents.get
  • commerceoffercatalog.offers.get

compute.commitments.*

  • compute.commitments.create
  • compute.commitments.get
  • compute.commitments.list
  • compute.commitments.update
  • compute.commitments.updateReservations

consumerprocurement.accounts.*

  • consumerprocurement.accounts.create
  • consumerprocurement.accounts.delete
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list

consumerprocurement.consents.check

consumerprocurement.consents.grant

consumerprocurement.consents.list

consumerprocurement.consents.revoke

consumerprocurement.orderAttributions.*

  • consumerprocurement.orderAttributions.get
  • consumerprocurement.orderAttributions.list
  • consumerprocurement.orderAttributions.update

consumerprocurement.orders.*

  • consumerprocurement.orders.cancel
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • consumerprocurement.orders.modify
  • consumerprocurement.orders.place

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

recommender.commitmentUtilizationInsights.*

  • recommender.commitmentUtilizationInsights.get
  • recommender.commitmentUtilizationInsights.list
  • recommender.commitmentUtilizationInsights.update

recommender.costInsights.*

  • recommender.costInsights.get
  • recommender.costInsights.list
  • recommender.costInsights.update

recommender.spendBasedCommitmentInsights.*

  • recommender.spendBasedCommitmentInsights.get
  • recommender.spendBasedCommitmentInsights.list
  • recommender.spendBasedCommitmentInsights.update

recommender.spendBasedCommitmentRecommendations.*

  • recommender.spendBasedCommitmentRecommendations.get
  • recommender.spendBasedCommitmentRecommendations.list
  • recommender.spendBasedCommitmentRecommendations.update

recommender.spendBasedCommitmentRecommenderConfig.*

  • recommender.spendBasedCommitmentRecommenderConfig.get
  • recommender.spendBasedCommitmentRecommenderConfig.update

recommender.usageCommitmentRecommendations.*

  • recommender.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list
  • recommender.usageCommitmentRecommendations.update

resourcemanager.projects.createBillingAssignment

resourcemanager.projects.deleteBillingAssignment

resourcemanager.projects.get

resourcemanager.projects.list

(roles/billing.costsManager)

Gerenciar orçamentos de uma conta de faturamento e visualizar, analisar e exportar informações de custo de uma conta de faturamento.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Conta de faturamento

Contém 12 permissões de proprietário

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.getSpendingInformation

billing.accounts.getUsageExportSpec

billing.accounts.list

billing.accounts.updateUsageExportSpec

billing.budgets.*

  • billing.budgets.create
  • billing.budgets.delete
  • billing.budgets.get
  • billing.budgets.list
  • billing.budgets.update

billing.resourceAssociations.list

recommender.costInsights.*

  • recommender.costInsights.get
  • recommender.costInsights.list
  • recommender.costInsights.update

(roles/billing.creator)

Dá acesso para criar contas de faturamento.

Recursos de nível mais baixo em que é possível conceder esse papel:

  • Organização

Contém uma permissão de proprietário

billing.accounts.create

resourcemanager.organizations.get

(roles/billing.projectManager)

Quando concedido com o papel de usuário da conta de faturamento, fornece acesso para atribuir a conta de faturamento de um projeto ou desativar o faturamento.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Projeto

Contém duas permissões de proprietário

resourcemanager.projects.createBillingAssignment

resourcemanager.projects.deleteBillingAssignment

(roles/billing.user)

Quando concedido com o papel de proprietário ou gerente de projeto do faturamento, fornece acesso para associar projetos a contas de faturamento.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Conta de faturamento

Contém seis permissões de proprietário

billing.accounts.get

billing.accounts.getIamPolicy

billing.accounts.list

billing.accounts.redeemPromotion

billing.credits.list

billing.resourceAssociations.create

(roles/billing.viewer)

Veja informações sobre custos e preços das contas de faturamento, transações e recomendações de faturamento e compromisso.

Recursos de nível mais baixo em que você pode conceder esse papel:

  • Conta de faturamento

Contém 14 permissões de proprietário

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

commerceoffercatalog.*

  • commerceoffercatalog.documents.get
  • commerceoffercatalog.offers.get

consumerprocurement.accounts.get

consumerprocurement.accounts.list

consumerprocurement.consents.check

consumerprocurement.consents.list

consumerprocurement.orderAttributions.get

consumerprocurement.orderAttributions.list

consumerprocurement.orders.get

consumerprocurement.orders.list

dataprocessing.datasources.get

dataprocessing.datasources.list

dataprocessing.groupcontrols.get

dataprocessing.groupcontrols.list

recommender.commitmentUtilizationInsights.get

recommender.commitmentUtilizationInsights.list

recommender.costInsights.get

recommender.costInsights.list

recommender.spendBasedCommitmentInsights.get

recommender.spendBasedCommitmentInsights.list

recommender.spendBasedCommitmentRecommendations.get

recommender.spendBasedCommitmentRecommendations.list

recommender.spendBasedCommitmentRecommenderConfig.get

recommender.usageCommitmentRecommendations.get

recommender.usageCommitmentRecommendations.list

Os papéis roles/billing.admin, roles/billing.costsManager, roles/billing.viewer e roles/billing.projectManager também incluem permissões para outros serviços do Google Cloud.