Papéis do IAM para funções de jobs relacionadas a faturamento

Neste tópico, mostramos como configurar permissões de gerenciamento de identidade e acesso (IAM, na sigla em inglês) para um conjunto de cenários de faturamento de amostra. Nele, você encontra algumas orientações sobre quais papéis de IAM conceder aos papéis funcionais relacionados ao faturamento da sua empresa para os cenários. Esses exemplos são direcionados principalmente aos administradores de faturamento e funcionários que gerenciam as tarefas de faturamento de uma organização.

Neste documento, não há explicações detalhadas sobre os papéis e permissões de faturamento. Para uma descrição detalhada dos papéis e permissões da API Billing, leia a página Controle de acesso de faturamento.

Como configurar permissões de faturamento em uma empresa pequena.

Neste cenário, uma empresa pequena está tentando configurar e usar as contas de faturamento do Google. Ela tem vários engenheiros que desenvolvem e mantêm os aplicativos, mas nenhum deles gerencia o faturamento. A empresa tem um gerente de escritório que é responsável por verificar se os pagamentos correspondem às faturas, mas, por motivos de conformidade, esse gerente não tem permissão para acessar os recursos do Google Cloud nos projetos. O CEO também detém e administra os detalhes de cartões de crédito.

Na tabela a seguir, veja os papéis de faturamento do IAM que o administrador da organização (que é o CEO neste cenário) pode conceder às outras pessoas da empresa e o nível de recursos em que os papéis são concedidos.

Papel: Administrador da organização O papel "Administrador da organização" dá ao CEO a capacidade de atribuir permissões ao administrador do escritório.
Recurso: Organização
Principal: CEO
Papel: Administrador da conta de faturamento O papel "Administrador da conta de faturamento" permite que o gerente do escritório e o diretor executivo gerenciem pagamentos e faturas sem conceder a eles a permissão para visualizar o conteúdo do projeto.
Recurso: Organização
Participantes: Administrador do escritório, CEO

A política de permissão anexada ao recurso da organização para esse cenário será semelhante ao seguinte:

{
  "bindings": [
    {
      "role": "roles/resourcemanager.organizationAdmin",
      "members": [
        "user:ceo@example.com"
      ]
    },
    {
      "role": "roles/billing.admin",
      "members": [
        "group:finance-admins-group@example.com"
      ]
    }
  ]
}

A prática recomendada é usar grupos para gerenciar principais. No exemplo acima, para a segunda vinculação, você adicionaria o CEO e o gerente do escritório ao finance-admins-group. Quando é necessário modificar quem pode executar cada papel, basta ajustar a associação ao grupo. Ou seja, não é preciso atualizar a política de permissão. Portanto, as duas contas de usuário individuais não aparecem nas vinculações de papéis.

Equipe financeira administrando orçamentos

Nesse cenário, uma grande organização quer que a equipe financeira de cada divisão possa definir orçamentos e ver os gastos da equipe na divisão, mas não tenha acesso aos recursos do Google Cloud. Os desenvolvedores podem ver as despesas dos próprios projetos, mas não podem ter uma visão ampla das despesas.

Conceda os papéis na tabela abaixo ao gerente financeiro de cada divisão e aos desenvolvedores:

Papel: Administrador da conta de faturamento Esse papel concede ao gerente financeiro de cada divisão a permissão para definir orçamentos e ver as despesas das contas de faturamentos das divisões, mas sem as permissões para ver o conteúdo do projeto.
Recurso: Conta de faturamento
Participantes: Gerente financeiro de cada divisão
Papel: Visualizador da conta de faturamento O papel de Visualizador de conta de faturamento permite que os desenvolvedores vejam as despesas de uma conta de faturamento.
Recurso: Conta de faturamento
Participantes: Desenvolvedores do projeto

Nesse cenário, use o console de faturamento para conceder o papel de administrador da conta de faturamento aos gerentes de finanças da conta. Além disso, conceda o papel Visualizador de conta de faturamento aos desenvolvedores na conta de faturamento.

Quando você terminar, a política de permissão para a conta de faturamento será semelhante à seguinte:

{
  "bindings": [
    {
      "role": "roles/billing.admin",
      "members": [
        "group:finance-admins-group@example.com"
      ]
    },
    {
      "role": "roles/billing.viewer",
      "members": [
        "group:developers@example.com"
      ]
    }
  ],
  "etag": "BwUjMhCsNvY=",
  "version": 1
}

Em um portal de autoatendimento de clientes, os desenvolvedores não podem ajustar o faturamento

Nesse cenário, a equipe central de TI do cliente fornece recursos do Google Cloud aos desenvolvedores como parte do portal de autoatendimento. Os desenvolvedores solicitam acesso a projetos do Google Cloud e a outros serviços de nuvem aprovados por meio do portal. O centro de custo do desenvolvedor paga a equipe de TI central pelos recursos da nuvem consumidos.

A equipe de TI central precisa:

  • associar projetos a contas de faturamento;
  • desativar o faturamento de projetos;
  • ver informações de cartões de crédito.

Os membros da equipe não podem ter permissão para ver o conteúdo do projeto.

Os desenvolvedores devem ser capazes de ver os custos reais dos recursos do Google Cloud consumidos, mas não podem desativar o faturamento, associar o faturamento a projetos e visualizar as informações de cartões de crédito.

Papel: Administrador da conta de faturamento O papel "Administrador da conta de faturamento" concede ao departamento de TI as permissões para associar projetos a contas de faturamento, desativar o faturamento dos projetos e ver informações de cartões de crédito das contas que revendem para os clientes.

Ele não dá permissões para ver o conteúdo dos projetos.

Recurso: Conta de faturamento
Principal: Departamento de TI
Papel: Usuário da conta de faturamento O papel "Usuário da conta de faturamento" concede à conta de serviço as permissões para ativar o faturamento, ou seja, associar projetos à conta de faturamento da organização a todos os projetos da organização e permitir que a conta de serviço ative APIs que exigem o faturamento ativado.
Recurso: Organização
Principal: Conta de serviço que é usada para automatizar a criação de projetos.
Papel: Visualizador da conta de faturamento O papel "Visualizador da conta de faturamento" permite que os desenvolvedores vejam as despesas de uma conta de faturamento.
Recurso: Conta de faturamento
Participantes: Desenvolvedores do projeto

Para este cenário, serão necessárias duas operações separadas para atribuir as políticas de permissão apropriadas, já que elas estão anexadas em níveis diferentes da hierarquia.

Use o console de faturamento para conceder o papel "Administrador da conta de faturamento" ao departamento de TI na conta de faturamento. Além disso, conceda o papel Visualizador de conta de faturamento aos desenvolvedores na conta de faturamento.

Em seguida, é preciso anexar uma política de permissão ao nível da organização. Essa política de permissão concede o papel de usuário da conta de faturamento à conta de serviço. É semelhante ao seguinte:

{
  "bindings": [
    {
      "role": "roles/billing.user",
      "members": [
        "serviceAccount:my-project-creator@shared-resources-proj.iam.gserviceaccount.com"
      ]
    }
  ],
  "etag": "BwWKmjvelug=",
  "version": 1
}

Desenvolvedores criando projetos faturados

Uma grande agência digital quer permitir que os desenvolvedores criem projetos faturados na conta da organização, sem que recebam direitos de "Administrador da conta de faturamento."

Um projeto precisa ter o faturamento ativado para garantir que as APIs além do padrão possam ser ativadas. Assim, se um desenvolvedor criar um projeto, ele precisará associá-lo a uma conta de faturamento para ativar as APIs.

Papel: Usuário da conta de faturamento O papel Usuário da conta de faturamento permite que os desenvolvedores anexem a conta de faturamento a novos projetos da organização.
Recurso: Organização
Participantes: Desenvolvedores

A política de permissão para esse cenário precisa ser anexada no nível da organização e será semelhante a esta:

{
  "bindings": [
    {
      "role": "roles/billing.user",
      "members": [
        "group:developers@example.com"
      ]
    }
  ],
  "etag": "BwUjMhCsNvY=",
  "version": 1
}

Agregação de custos

Neste cenário, uma empresa quer calcular e acompanhar o custo de cada equipe, departamento, serviço ou projeto. Por exemplo: acompanhar o custo mensal de uma implantação de teste.

As seguintes práticas podem ser usadas para o acompanhamento:

  • Use projetos para organizar recursos. O custo é mostrado por projeto, e os códigos do projeto estão incluídos na exportação de faturamento.
  • Anote projetos com rótulos que representem informações de agrupamento adicionais. Por exemplo, environment=test. Os rótulos são incluídos na exportação do faturamento para permitir uma comparação detalhada. No entanto, os rótulos são aprovados da mesma forma que o restante dos metadados do projeto, o que significa que um proprietário pode alterar esses rótulos. Oriente os funcionários sobre o que não mudar e depois monitorar por meio de registros de auditoria ou conceda a eles apenas permissões granulares para que não possam alterar os metadados do projeto.

É possível exportar para JSON e CSV, mas exportar diretamente para o BigQuery é a solução recomendada. Essa configuração pode ser alterada facilmente na seção de exportação de faturamento do console de faturamento.

Se cada centro de custo tiver que pagar uma fatura separada ou pagar em uma moeda diferente para algumas cargas de trabalho, será necessária uma conta de faturamento separada para cada centro de custo. No entanto, essa abordagem requer a assinatura de um contrato de afiliação para cada conta de faturamento.