Criar papéis personalizados para contas do Cloud Billing

O gerenciamento de identidade e acesso (IAM) inclui permissões refinadas que permitem conceder ou revogar o acesso de usuários individuais a ações específicas. Para simplificar o processo de atribuição de permissões aos usuários, os papéis de IAM combinam essas permissões refinadas em grupos relacionados. O faturamento tem papéis predefinidos, como "Administrador da conta de faturamento" ou "Leitor da conta de faturamento", que funcionam para a maioria dos usuários. Caso eles não atendam às suas necessidades, os papéis personalizados permitem que você conceda conjuntos de permissões mais específicos.

Criar um papel personalizado

Papéis personalizados são criados na organização e aplicados a qualquer conta de faturamento dentro dela. Na documentação do IAM, leia o artigo Como criar e gerenciar papéis personalizados para saber como configurar um papel personalizado, inclusive que permissões são necessárias.

Depois de criar papéis personalizados, é possível conceder papéis personalizados para os usuários, assim como papéis padrão predefinidos. Saiba como atualizar as permissões de faturamento.

Exemplo de papel personalizado

Imagine que você queira conceder permissão aos usuários para editar recursos de gerenciamento de custos, como alertas de orçamento e exportação de faturamento. Estas são as permissões relevantes:

  • billing.budgets.create
  • billing.budgets.update
  • billing.accounts.updateUsageExportSpec

Para aplicar essas permissões com os papéis predefinidos, você precisa conceder a função de administrador da conta de faturamento. No entanto, esse papel também inclui permissão para excluir associações de recursos, cancelar assinaturas e fechar a conta de faturamento. Caso você não queira que os usuários tenham esses recursos, crie uma função personalizada com apenas as três permissões necessárias e nomeie-a como Administrador de gerenciamento de custos. Em seguida, é possível aplicar esse papel personalizado em combinação com o papel de leitor da conta de faturamento para qualquer usuário que precise de permissões de gerenciamento de custos amplas, mas sem a capacidade de editar outras propriedades da conta.

Associação de permissão e herança

Você pode conceder permissões de faturamento no nível da conta de faturamento ou no nível do projeto. A maioria das permissões de faturamento pertence à conta de faturamento. Dessa forma, os papéis que contêm essas permissões precisam ser associados à conta. Outras permissões de faturamento pertencem a um projeto e precisam ser associadas a ele em vez da conta de faturamento.

Por exemplo, a associação de um projeto a uma conta de faturamento exige a permissão billing.resourceAssociations.create na conta de faturamento e a permissão resourcemanager.projects.createBillingAssignment no projeto. Isso ocorre porque as permissões do projeto são necessárias para ações em que os proprietários do projeto controlam o acesso, enquanto as permissões da conta de faturamento são necessárias para ações em que isso é feito pelos administradores da conta. Quando ambos estão envolvidos, ambas as permissões são necessárias.

Assim como outras permissões do IAM, todas as permissões de faturamento são herdadas dos níveis mais altos da hierarquia de faturamento. Por exemplo, um usuário com um papel que contém billing.accounts.close em uma organização pode fechar qualquer conta de faturamento nessa organização. No entanto, algumas permissões só se aplicam a níveis mais altos. Por exemplo, a permissão billing.accounts.list não faz nada quando aplicada a uma conta de faturamento individual, mas um usuário com um papel contendo billing.accounts.list em uma organização pode listar todas as contas de faturamento dela.

Atividades de faturamento

Veja nas tabelas a seguir as atividades comuns de faturamento, as permissões necessárias para executar essas atividades e o recurso a que essas permissões se aplicam.

Gerenciamento da conta

Ação Permissão Recurso
Receber informações básicas da conta (por exemplo, nome da conta, moeda ou se a conta está aberta ou fechada) billing.accounts.get Conta de faturamento
Atualizar a partir da avaliação gratuita billing.accounts.update Conta de faturamento
Renomear conta billing.accounts.update Conta de faturamento
Alterar o número da ordem de compra billing.accounts.update Conta de faturamento
Encerrar a conta billing.accounts.close Conta de faturamento
Reabrir uma conta encerrada billing.accounts.reopen Conta de faturamento

Hierarquia da conta de faturamento

Ação Permissão Recurso
Listar contas na organização billing.accounts.list Organização
Criar contas na organização billing.accounts.create Organização
Mover conta para a organização billing.accounts.create Organização
billing.accounts.move Conta de faturamento
Mover conta entre organizações billing.accounts.removeFromOrganization Organização antiga
billing.accounts.create Organização nova
billing.accounts.move Conta de faturamento

Informações de pagamento

O perfil para pagamentos inclui o nome do cliente, o endereço e a forma de pagamento.

Ação Permissão Recurso
Ver o perfil para pagamentos billing.accounts.getPaymentInfo Conta de faturamento
Atualizar o perfil para pagamentos billing.accounts.updatePaymentInfo Conta de faturamentos
Ver preços somente das SKUs que foram usadas billing.accounts.getPricing Conta de faturamento
Ver os preços negociados do contrato por SKU de uma conta de faturamento billing.accounts.getPricing Conta de faturamento
Ver os custos e o uso de uma conta de faturamento* billing.accounts.getSpendingInformation Conta de faturamento
Ver os custos e o uso de um projeto* billing.resourceCosts.get Projeto
resourcemanager.projects.get Projeto

Associações de recursos

Para mover um projeto entre contas de faturamento, você precisará das mesmas permissões que usaria para removê-lo da conta de faturamento original e associá-la à nova.

Ação Permissão Recurso
Exibir associações de projetos billing.resourceAssociations.list Conta de faturamento
resourcemanager.projects.get Projeto
Associar o projeto à conta de faturamento billing.resourceAssociations.create Conta de faturamento
resourcemanager.projects.createBillingAssignment Projeto
Remover o projeto da conta de faturamento billing.resourceAssociations.delete Conta de faturamento
resourcemanager.projects.deleteBillingAssignment Projeto

Alertas de orçamentos e gastos

Ação Permissão Recurso
Ver a lista de orçamentos de uma conta do Cloud Billing billing.budgets.get Conta de faturamento
billing.budgets.list Conta de faturamento
Atualizar um orçamento com escopo para uma conta do Cloud Billing billing.budgets.update Conta de faturamento
Criar um orçamento para uma conta do Cloud Billing billing.budgets.create Conta de faturamento
Ver a lista de orçamentos com escopo em um único projeto resourcemanager.projects.get Projeto
billing.resourceCosts.get Projeto
billing.resourcebudgets.read Projeto
Atualizar um orçamento com escopo para um único projeto resourcemanager.projects.get Projeto
billing.resourceCosts.get Projeto
billing.resourcebudgets.read Projeto
billing.resourcebudgets.write Projeto
Criar um orçamento com escopo para um único projeto resourcemanager.projects.get Projeto
billing.resourceCosts.get Projeto
billing.resourcebudgets.read Projeto
billing.resourcebudgets.write Projeto

Créditos e promoções

Ação Permissão Recurso
Ver a lista de créditos, inclusive os valores originais e restantes billing.credits.list Conta de faturamento
Resgatar um código promocional billing.accounts.redeemPromotion Conta de faturamento
billing.accounts.update Conta de faturamento

Política

A política define quais usuários têm acesso a quais recursos em uma conta de faturamento. Para ver informações sobre como criar ou modificar papéis personalizados, consulte a seção Criar um papel personalizado acima.

Ação Permissão Recurso
Ver os papéis da conta, inclusive nomes de usuários associados billing.accounts.getIamPolicy Conta de faturamento
Conceder papéis aos usuários da conta billing.accounts.setIamPolicy Conta de faturamento

Especificações de exportação

A especificação de exportação define para onde enviar uma cópia de todos os dados relacionados ao uso e pode conter o nome de um conjunto de dados do BigQuery.

Ação Permissão Recurso
Visualizar a especificação de exportação atual (bucket do Cloud Storage ou conjunto de dados do BigQuery para exportar dados de uso) billing.accounts.getUsageExportSpec Conta de faturamento
Modificar as especificações de exportação billing.accounts.updateUsageExportSpec Conta de faturamento