Controle de acesso da API Cloud Billing

O Google Cloud Platform oferece gerenciamento de identidade e acesso (IAM, na sigla em inglês), que permite dar acesso mais granular a recursos específicos da plataforma e evitar 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, você pode controlar quem (usuários) tem qual acesso (funções) a quais recursos. As políticas de IAM concedem papéis específicos a um usuário, que recebe determinadas permissões.

Esta página explica os papéis do gerenciamento de identidade e acesso (IAM) disponíveis para a API Google Cloud Billing. Por exemplo, você pode usar o IAM para conceder papéis como administrador, usuário e gerente de projetos em uma conta de faturamento. Para uma descrição detalhada do IAM e de seus recursos, veja o guia do desenvolvedor do Google Cloud Identity and Access Management. Consulte, especificamente, a seção Como conceder, alterar e revogar acesso.

Permissões e papéis

Para que um usuário veja os detalhes da conta de faturamento no Console do Google Cloud Platform ou para que um método da API Google Cloud Billing retorne informações da conta de faturamento, o usuário ou o autor da chamada deve ter as permissões necessárias. As tabelas a seguir listam as permissões e papéis compatíveis com o IAM na API Google Cloud Billing.

Permissões necessárias

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

Método Permissões necessárias
billingAccounts.create Ao criar uma subconta de faturamento, o autor da chamada precisa ter a permissão billing.accounts.update na conta de faturamento principal da subconta.
billingAccounts.get Permissão billing.accounts.get em uma conta de faturamento.
billingAccounts.list Nenhuma. Este método retorna todas as contas que o autor da chamada tem permissão para acessar.
billingAccounts.getIamPolicy Permissão billing.accounts.getIamPolicy em uma conta de faturamento.
billingAccounts.setIamPolicy Permissão billing.accounts.setIamPolicy em uma conta de faturamento.
billingAccounts.testIamPermissions Nenhuma. Este método é usado para determinar as permissões de um autor de chamada em uma conta de faturamento.
billingAccounts.patch Permissão billing.accounts.update em uma conta de faturamento.
billingAccounts.projects.list Permissão billing.resourceAssociations.list em uma conta de faturamento.
projects.getBillingInfo resourcemanager.projects.get no projeto.
Para mais informações, veja Controle de acesso para projetos.
projects.updateBillingInfo billing.resourceAssociations.create e resourcemanager.projects.createBillingAssignment na conta de faturamento.

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 que você pode conceder para acessar a API Billing, a descrição delas e as permissões que oferecem.

Função Inclui as permissões: Para o tipo de recurso:
roles/billing.projectManager
resourcemanager.projects.createBillingAssignment
Aplica-se somente a organizações. Para informações sobre organizações, veja Como criar e gerenciar organizações. Observe também que o usuário autenticado atual precisa ter permissões no projeto e na conta de faturamento. Para saber mais sobre permissões, veja Como configurar permissões no Google Cloud Platform.
Organização
resourcemanager.projects.deleteBillingAssignment
Aplica-se somente a organizações. Para informações sobre organizações, veja Como criar e gerenciar organizações. O usuário autenticado atual precisa ter permissões no projeto ou na conta de faturamento. Para saber mais sobre permissões, veja Como configurar permissões no Google Cloud Platform.
Organização
roles/billing.viewer
billing.accounts.get Conta de faturamento
billing.accounts.getIamPolicy Conta de faturamento
billing.accounts.getPaymentInfo Conta de faturamento
billing.accounts.getSpendingInformation Conta de faturamento
billing.accounts.getUsageExportSpec Conta de faturamento
billing.accounts.list Conta de faturamento
billing.budgets.get Conta de faturamento
billing.budgets.list Conta de faturamento
billing.credits.list Conta de faturamento
billing.resourceAssociations.list Conta de faturamento
billing.subscriptions.get Conta de faturamento
billing.subscriptions.list Conta de faturamento
roles/billing.user
Todas as permissões acima para gerente de projetos e leitor, assim como:
billing.accounts.redeemPromotion Conta de faturamento
billing.resourceAssociations.create Conta de faturamento
roles/billing.admin
Todas as permissões acima para gerente de projetos, leitor e usuário, assim como:
billing.accounts.close Conta de faturamento
billing.accounts.manageBillableUsageExport Conta de faturamento
billing.accounts.move Conta de faturamento
billing.accounts.removeFromOrganization Conta de faturamento
billing.accounts.reopen Conta de faturamento
billing.accounts.setIamPolicy Conta de faturamento
billing.accounts.update Conta de faturamento
billing.accounts.updatePaymentInfo Conta de faturamento
billing.accounts.updateUsageExportSpec Conta de faturamento
billing.budgets.create Conta de faturamento
billing.budgets.delete Conta de faturamento
billing.budgets.update Conta de faturamento
billing.projectAssociations.create
Aplica-se somente a organizações. Para informações sobre organizações, veja Como criar e gerenciar organizações. Observe também que o usuário autenticado atual precisa ter permissões no projeto e na conta de faturamento. Para saber mais sobre permissões, veja Como configurar permissões no Google Cloud Platform.
Organização
billing.projectAssociations.delete
Aplica-se somente a organizações. Para informações sobre organizações, veja Como criar e gerenciar organizações. O usuário autenticado atual precisa ter permissões no projeto ou na conta de faturamento. Para saber mais sobre permissões, veja Como configurar permissões no Google Cloud Platform.
Organização
billing.resourceAssociations.delete Conta de faturamento
cloudnotifications.activities.list
Aplica-se a notificações do Cloud. Para saber mais, veja Notificações por e-mail e dispositivos móveis.
Conta de faturamento
logging.logEntries.list
Aplica-se ao Stackdriver Logging. Para saber mais, veja Controle de acesso do Stackdriver.
Conta de faturamento
logging.logs.list
Aplica-se ao Stackdriver Logging. Para saber mais, veja Controle de acesso do Stackdriver.
Conta de faturamento

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

Tópicos relacionados

Esta página foi útil? Conte sua opinião sobre: