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 Nenhuma. 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 Nenhuma. 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 Nome Descrição Permissões Menor recurso
roles/billing.admin Administrador da conta de faturamento Concede acesso para visualizar e gerenciar todos os aspectos das contas de faturamento.
  • billing.accounts.close
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • 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.*
  • consumerprocurement.accounts.*
  • consumerprocurement.orders.*
  • dataprocessing.groupcontrols.list
  • logging.logEntries.list
  • logging.logServiceIndexes.*
  • logging.logServices.*
  • logging.logs.list
  • logging.privateLogEntries.*
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
Conta de faturamento
roles/billing.creator Criador da conta de faturamento Concede acesso para criar contas de faturamento.
  • billing.accounts.create
  • resourcemanager.organizations.get
Organização
roles/billing.projectManager Gerente de faturamento do projeto Concede acesso para atribuir uma conta de faturamento de um projeto ou desativar o faturamento.
  • resourcemanager.projects.createBillingAssignment
  • resourcemanager.projects.deleteBillingAssignment
Projeto
roles/billing.user Usuário da conta de faturamento Concede acesso para associar projetos a contas de faturamento.
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.list
  • billing.accounts.redeemPromotion
  • billing.credits.*
  • billing.resourceAssociations.create
Conta de faturamento
roles/billing.viewer Visualizador da conta de faturamento Permite visualizar as informações de custo da conta de faturamento e as transações.
  • billing.accounts.get
  • billing.accounts.getIamPolicy
  • billing.accounts.getPaymentInfo
  • 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
  • consumerprocurement.accounts.get
  • consumerprocurement.accounts.list
  • consumerprocurement.orders.get
  • consumerprocurement.orders.list
  • dataprocessing.groupcontrols.list
Conta de faturamento

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