Controle de acesso para APIs Cloud Billing

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 de gerenciamento de identidade e acesso 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 gerente de projetos, a uma Conta de faturamento do Cloud. Para ver uma descrição detalhada do IAM e dos recursos dele, consulte o guia do desenvolvedor do gerenciamento de identidade e acesso. Veja, especificamente, a seção Como conceder, alterar e revogar acesso.

Permissões e papéis

Para que um usuário visualize os detalhes da Conta de faturamento do Cloud 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 Ao criar uma subconta de faturamento do Cloud, o autor da chamada precisa ter billing.accounts.update na principal Conta de faturamento do Cloud da subconta. Administrador de faturamento
billingAccounts.get billing.accounts.get em uma Conta de faturamento do Cloud. Administrador ou visualizador de faturamento
billingAccounts.list Nenhum Este método retorna todas as contas que o autor da chamada tem permissão para acessar. Gerente de projetos de faturamento e administrador, visualizador ou usuário de faturamento
billingAccounts.getIamPolicy billing.accounts.getIamPolicy em uma Conta de faturamento do Cloud. Administrador ou visualizador de faturamento
billingAccounts.setIamPolicy billing.accounts.setIamPolicy em uma Conta de faturamento do Cloud. Administrador de faturamento
billingAccounts.testIamPermissions Nenhum Este método é usado para determinar as permissões de um autor de chamada em uma Conta de faturamento do Cloud. n/a
billingAccounts.patch billing.accounts.update em uma Conta de faturamento do Cloud. Administrador de faturamento
billingAccounts.projects.list billing.resourceAssociations.list em uma Conta de faturamento do Cloud. Administrador ou visualizador de faturamento
projects.getBillingInfo resourcemanager.projects.get no projeto.
Para mais informações, consulte Controle de acesso para projetos.
Visualizador do projeto
projects.updateBillingInfo billing.resourceAssociations.create E resourcemanager.projects.createBillingAssignment na Conta de faturamento do Cloud. Administrador ou usuário de faturamento E gerente de projetos de faturamento

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

A tabela a seguir descreve quais permissões são necessárias para chamar cada método da API Cloud Billing Budget. Também estão incluídos os papéis de faturamento padrão do IAM que concedem automaticamente essas permissões.

Método de API Permissão necessária Papel do IAM que concede permissão
GetBudget Para ver os detalhes de um orçamento, o autor da chamada precisa ter a permissão billing.budgets.get na Conta de faturamento do Cloud do orçamento. Administrador ou visualizador de faturamento
ListBudgets Para retornar uma lista de orçamentos aplicados a uma Conta de faturamento do Cloud, o autor da chamada precisa ter a permissão billing.budgets.list nessa conta. Administrador ou visualizador de faturamento
CreateBudget Para criar um novo orçamento, o autor da chamada precisa ter a permissão billing.budgets.create na Conta de faturamento do Cloud do orçamento. Administrador de faturamento
UpdateBudget Para atualizar um orçamento existente, o autor da chamada precisa ter a permissão billing.budgets.update na Conta de faturamento do Cloud do orçamento. Administrador de faturamento
DeleteBudget Para excluir um orçamento existente, o autor da chamada precisa ter a permissão billing.budgets.delete na Conta de faturamento do Cloud do orçamento. Administrador de faturamento

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.

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

Administrador da conta de faturamento
(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
  • billing.accounts.close
  • billing.accounts.get
  • 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.credits.*
  • billing.resourceAssociations.*
  • billing.subscriptions.*
  • cloudnotifications.*
  • commerceoffercatalog.*
  • consumerprocurement.accounts.*
  • consumerprocurement.orders.*
  • dataprocessing.datasources.get
  • dataprocessing.datasources.list
  • dataprocessing.groupcontrols.get
  • dataprocessing.groupcontrols.list
  • logging.logEntries.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • recommender.commitmentUtilizationInsights.*
  • recommender.usageCommitmentRecommendations.*
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment

Gerente de custos da conta de faturamento
(roles/billing.costsManager)

Pode ver e exportar informações de custo das contas de faturamento.

  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getSpendingInformation
  • billing.accounts.getUsageExportSpec
  • billing.accounts.list
  • billing.accounts.updateUsageExportSpec
  • billing.budgets.*
  • billing.resourceAssociations.list

Criador da conta de faturamento
(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
  • billing.accounts.create
  • resourcemanager.organizations.get

Gerente de faturamento do projeto
(roles/billing.projectManager)

Concede acesso para atribuir uma conta de faturamento de um projeto ou desativar o faturamento.

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

  • Projeto
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment

Usuário da conta de faturamento
(roles/billing.user)

Dá acesso para associar projetos a contas de faturamento.

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

  • Conta de faturamento
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create

Leitor da conta de faturamento
(roles/billing.viewer)

Visualizar as informações de custo da conta de faturamento e as transações.

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

  • Conta de faturamento
  • billing.accounts.get
  • 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.*
  • billing.resourceAssociations.list
  • billing.subscriptions.get
  • billing.subscriptions.list
  • commerceoffercatalog.*
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.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.usageCommitmentRecommendations.get
  • recommender.usageCommitmentRecommendations.list

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