Práticas recomendadas de uso do Cloud IAM e do Cloud Billing no ensino superior

Universidades, faculdades, escolas profissionalizantes e outras instituições de ensino superior muitas vezes têm necessidades únicas de TI em comparação com outros tipos de empresas. Neste guia, apresentamos as práticas recomendadas e descrevemos vários problemas críticos a serem resolvidos durante a configuração do ambiente do Google Cloud da sua instituição.

Veja a seguir algumas definições dos termos básicos que ajudarão você a entender o guia.

Nó organizacional
O nó organizacional representa uma instituição, como sua escola. Ele é o nó raiz na hierarquia dos recursos do Google Cloud.
pasta
As pastas servem para organizar os recursos da sua organização. Quando você configura as políticas do Cloud Identity and Access Management (Cloud IAM) no nível da pasta, elas são aplicadas aos recursos dessa pasta temporariamente.
projeto
O nível do projeto é quando você ativa e usa todos os serviços do Google Cloud, gerencia APIs e faturamento, adiciona e remove colaboradores e gerencia permissões.
Cloud IAM
O Cloud IAM controla as políticas da sua organização e os projetos. Ele determina o nível de acesso que os membros do projeto têm para gerenciar máquinas virtuais (VMs, na sigla em inglês), registros e outros recursos.
papel
Um papel é um conjunto de permissões. Não é possível atribuir permissões diretamente aos usuários. Em vez disso, você concede a eles um papel. Ao fazer isso, todas as permissões incluídas no papel são atribuídas.
recurso
Um recurso físico, como computador ou unidade de disco rígido, ou virtual, como VM. Alguns exemplos de recursos são: projetos, instâncias do Compute Engine e buckets do Cloud Storage.

Como configurar o G Suite for Education

Se sua escola está investigando os recursos do Google Cloud, a configuração do G Suite for Education costuma ser o ponto de partida. Mesmo que você não pretenda usar o Gmail, é possível configurar o G Suite for Education e desativar serviços não utilizados, como o Gmail, para que você aproveite as contas de usuário e os grupos para identidade e autenticação do Google Cloud. Para entidades comerciais que não se qualificam às contas gratuitas do G Suite for Education, o Cloud Identity é uma opção.

Como gerenciar recursos

O Google Cloud conta com um sistema hierárquico de contêineres que consiste em organizações, pastas e projetos. Nessas estruturas, é possível organizar outros recursos, como máquinas virtuais do Compute Engine (VMs) e tópicos do Pub/Sub. Essa hierarquia ajuda a gerenciar aspectos como controle de acesso e definições de configuração comuns a vários recursos. É possível gerenciar esses recursos pelo Resource Manager de modo programático.

As instituições de grande porte, que abrangem muitas universidades, geralmente têm vários projetos e usuários que interagem diretamente com os recursos do Google Cloud. Para atender melhor às estratégias atuais de controle de acesso e governança de TI, recomendamos que você implemente uma abordagem centralizada para organização de recursos do Google Cloud.

Organizações e pastas

Os recursos são organizados com o nó organizacional na raiz. É possível aninhar as pastas até quatro níveis abaixo desse nó. Essas pastas podem incluir projetos que, por sua vez, contêm outros recursos como nós filho. Cada recurso tem exatamente um pai. Quando você define políticas de controle de acesso e configurações para um recurso pai, os filhos dele herdam esses elementos.

Um nó organizacional garante que todos os projetos criados pelos usuários no domínio do G Suite for Education estejam visíveis aos superadministradores. Cada domínio principal do G Suite for Education tem um nó organizacional. Os domínios secundários do G Suite não recebem um nó organizacional próprio. Por padrão, o superadministrador do G Suite tem acesso irrevogável para definir a política da organização. Para organizações que têm administrações de TI e de nuvem separadas, o superadministrador do G Suite precisa atribuir um administrador da organização.

A estrutura de uma organização tradicional do Google Cloud pode ter a seguinte aparência:

estrutura de uma organização tradicional do GCP

Se os projetos foram criados antes do estabelecimento do nó organizacional, é possível migrar esses projetos órfãos para esse nó.

Para listar todos os projetos no seu nó organizacional, execute o seguinte comando:

gcloud projects list --filter "parent.type=organization parent.id=$ORG_ID"

Quando uma escola com um domínio do G Suite for Education está adotando o Google Cloud, a configuração padrão é ter um único nó organizacional. Na seção a seguir, discutimos as diferenças entre as abordagens de um ou vários nós organizacionais.

Quando usar um nó organizacional centralizado

O nó organizacional centralizado é mapeado para o domínio do G Suite, que é a fonte da verdade do Cloud IAM. É possível configurar cada pasta com administradores centrais próprios e com o Cloud IAM e outras políticas separados.

nó organizacional centralizado

Para mais informações, consulte estes recursos:

É possível hospedar recursos globais, como redes de vários projetos e imagens compartilhadas, em uma pasta com permissões que concedem acesso a todos os usuários da organização.

Quando usar nós organizacionais separados

Se você quiser tratar os departamentos da instituição de ensino como entidades isoladas sem administração central, crie organizações separadas, conforme mostrado no diagrama a seguir.

estrutura organizacional separada

Para implementar essa configuração, você define school.edu e lab3.school.edu como domínios principais separados do G Suite, o que resulta em nós organizacionais diferentes. Use essa opção somente se você decidiu:

  • manter domínios de identidade separados;
  • manter IAM, papéis personalizados, faturamento, cota e configurações diferentes do nó organizacional central school.edu.

Para muitas instituições de ensino com governança de TI centralizada, o gerenciamento de dois ambientes separados do Google Cloud gera uma sobrecarga. Com o tempo, as políticas também podem divergir entre vários nós organizacionais.

Como usar pastas

As pastas permitem organizar seus recursos do Google Cloud, aplicar políticas, delegar privilégios administrativos e dar mais autonomia aos departamentos e às equipes. Elas também ajudam você a administrar políticas e controlar o acesso acima do nível do projeto. As pastas, os projetos e os recursos aninhados em uma pasta herdam as políticas da pasta pai.

Veja alguns cenários em que o uso de pastas pode ser útil:

  • Sua instituição tem departamentos distintos, como engenharia, negócios e artes, cada uma com um grupo de TI próprio.
  • Você está mapeando para uma estrutura estabelecida baseada em um diretório LDAP, como o Microsoft Active Directory.
  • Você quer separar projetos por caso de uso, como infraestrutura de TI, computação de pesquisa ou ensino e aprendizado.

Projetos e recursos

Todos os recursos do Google Cloud que você alocar e usar precisam pertencer a um projeto. Pense em um projeto como a entidade organizadora do seu plano. Ele é composto de configurações, permissões e outros metadados que descrevem os aplicativos. Os recursos em um único projeto interagem perfeitamente e se comunicam por meio de uma rede interna, sujeitos a regras que variam de acordo com a região ou zona. Os recursos que cada projeto usa permanecem separados pelos limites do projeto. É possível vinculá-los somente por meio de uma conexão de rede externa ou de uma rede de nuvem privada virtual (VPC, na sigla em inglês) compartilhada.

Cada projeto do Google Cloud apresenta as seguintes características:

  • Um nome que você escolhe.
  • Um código do projeto, que você ou o Google Cloud pode providenciar.
  • Um número do projeto gerado pelo Google Cloud.

Ao configurar um novo projeto, é possível usar como base um destes cenários:

  • Propriedade de aplicativos ou projetos, como a configuração de um projeto para uma carga de trabalho ou equipe pequena.
  • Dividir um aplicativo entre projetos de produção e não produção. Dessa maneira, as alterações feitas no ambiente de teste que não é de produção não afetarão o ambiente de produção, e é possível promover ou propagar alterações com scripts de implantação.
  • Segregar recursos de computação e de dados entre laboratórios ou até projetos dentro de um laboratório. Essa segregação permite total autonomia e separação de dados entre os projetos, o que é útil se um laboratório trabalhar em vários projetos com partes interessadas concorrentes.

Os projetos precisam ser associados a contas de faturamento, abordadas mais adiante neste documento. Somente alguém com o papel de administrador ou de usuário da conta de faturamento pode associar um novo projeto a uma conta de faturamento atual.

Cotas

Muitos recursos no Google Cloud são limitados por cotas. Por exemplo, um novo projeto vinculado a uma conta de faturamento recém-associada tem uma cota de oito CPUs virtuais no Compute Engine. É possível solicitar um aumento na sua cota para adicionar recursos novos ou extras, como GPUs, que não são emitidos por padrão.

Além das cotas de recursos, as organizações estão sujeitas a cotas de número de projetos criados. Mesmo se você excluir um projeto, ele continuará fazendo parte da cota de projetos por alguns dias até ser completamente limpo.

Limites de confiança

Ao decidir sobre uma estrutura de projeto, considere os limites de confiança de TI, que provavelmente seguem um modelo atual de governança ou segurança de TI. Por exemplo, departamentos separados, como engenharia, negócios e direito, mantêm limites de confiança entre um e outro? Os diferentes departamentos dentro das instituições de ensino confiam uns nos outros?

Ao adotar a prática recomendada de segurança de TI de acesso com privilégio mínimo (em inglês), você concede papéis diferentes a contas de usuário e de serviço em um ou vários projetos. Se um usuário tem acesso de administrador a um projeto, mas precisa ter acesso somente leitura ou exibição a outro projeto, defina esses papéis explicitamente usando a política do Cloud IAM no Google Cloud. Para mais informações, consulte o guia do Cloud IAM sobre privilégio mínimo.

Políticas do Cloud IAM

As organizações de grande porte costumam separar as equipes de operações, como segurança e administração de rede, das equipes de produtos. Para essa separação, é necessário usar recursos gerenciados por outras equipes e seguir o princípio do privilégio mínimo. Defina as configurações dessa separação por meio do Cloud IAM e das contas de serviço.

Com o Cloud IAM, você gerencia o controle de acesso ao definir as pessoas, o nível de acesso de cada uma delas e os recursos que podem acessar. Para conceder papéis a usuários, crie uma política do Cloud IAM, que é um conjunto de instruções anexadas a um recurso que definem e controlam as pessoas e o tipo de acesso delas a esse recurso. Para conceder acesso granular a recursos específicos do Google Cloud, use os papéis predefinidos ou defina papéis personalizados do Cloud IAM.

Como usar contas privilegiadas

Seguindo o princípio do privilégio mínimo, atribua papéis de superadministrador a contas usadas com pouca frequência. Por exemplo, use jo.watanabe@school.edu para atividades cotidianas, mas use jo.watanabe.admin@school.edu para fazer alterações no Admin Console do G Suite ou no Console do Cloud.

Como usar contas de serviço

O Google Cloud usa as contas de serviço do Cloud IAM para invocar chamadas de API do Google de modo que as credenciais de usuário individuais não sejam diretamente envolvidas. Uma das características dessas contas é que são tratadas tanto como identidade quanto como recurso.

  • Quando uma conta de serviço age como uma identidade, você concede papéis a ela para que possa acessar um recurso, como um bucket do Cloud Storage.

  • Quando uma conta de serviço age como um recurso, você precisa conceder permissão aos usuários para acessar essa conta da mesma maneira que concede permissão para acessar um conjunto de dados do BigQuery. Você pode conceder a um usuário o papel de proprietário, editor, visualizador ou usuário da conta de serviço. Os membros com papéis de usuários de contas de serviço têm acesso a todos os recursos da conta.

Quando usar grupos

Ao fazer isso, seus administradores podem ajustar a participação no grupo à medida que os membros da equipe são adicionados e removidos. Como resultado, as alterações de políticas corretas são feitas automaticamente. Para implementar essa prática, crie grupos baseados no cargo para cada projeto ou pasta. Em seguida, atribua vários papéis a cada grupo, de acordo com a necessidade de cada cargo.

O gerenciamento de grupos é feito pelo Grupos do Google para empresas, que faz parte do G Suite. O usuário administrador ou o administrador delegado do G Suite pode utilizar o Admin Console para acessar essa ferramenta.

Opções de rede

Com a nuvem privada virtual (VPC, na sigla em inglês), é possível isolar seus serviços de nuvem privada. Por exemplo, é possível usar a VPC para configurar uma rede, um espaço privado de IP RFC 1918, que inclua todos os seus projetos. Em seguida, adicione instâncias de qualquer projeto a essa rede ou às sub-redes dela.

É possível também anexar uma rede privada virtual (VPN) a uma única rede, que pode ser usada por todos ou por um subconjunto dos projetos. A conexão VPN pode ser usada para se conectar a um espaço de IP RFC 1918 específico do Google Cloud ou ampliar esse espaço na sua rede local.

O Google oferece as seguintes opções para se conectar às instâncias de VPC.

Interconexão Peering
Interconexão dedicada VPN IPsec Peering direto Peering por operadora
Útil para estender redes corporativas e espaço de IP RFC 1918 para a nuvem.

Nenhuma VPN é necessária para acessar os recursos do Google Cloud na sua VPC.
Útil para fazer o tunelamento por meio da Internet pública a fim de se conectar ao Google e para conexões de dados de baixo volume. Útil para se conectar diretamente ao Google e economizar 50% nas taxas de saída em comparação com a VPN ou o acesso público pela Internet. Útil se você gosta dos benefícios do peering direto, mas precisa de um parceiro para atender aos requisitos de peering.
10 Gbps para cada link 1,5 a 3 Gbps para cada túnel 10 Gbps para cada link Varia de acordo com a oferta do parceiro

Para mais detalhes sobre essas opções, consulte a página do Cloud Interconnect.

Quando usar o peering direto

Qualquer cliente do Google Cloud que tenha um número de sistema autônomo (ASN, na sigla em inglês) registrado e prefixos de IP roteáveis publicamente pode estabelecer peering direto com o Google. Essa opção usa o mesmo modelo de interconexão que a Internet pública, mas sem um provedor de serviços como intermediário. Saiba mais sobre o peering com o Google (em inglês).

Quando usar o peering por operadora

Para clientes que não têm ASNs públicos ou que querem se conectar ao Google por meio de um provedor de serviços, o Google oferece o serviço de peering por operadora. Esse serviço foi desenvolvido para clientes que querem conectividade de nível empresarial com a rede de borda do Google.

Faturamento do Cloud

Use o Console do Cloud para gerenciar sua conta de faturamento do Cloud. No Console do Cloud, é possível atualizar as configurações da conta, como formas de pagamento e contatos administrativos. É possível também configurar o Console do Cloud para definir orçamentos, acionar alertas, visualizar histórico de pagamentos e exportar dados de faturamento.

Para a maioria dos usuários, apenas uma conta de faturamento do Cloud é suficiente. Os descontos para instituições são aplicáveis a todos os projetos associados à conta. Os usuários fazem um único pagamento ao Google para liquidar a fatura mensal. Os projetos específicos de departamentos ou laboratórios podem ser cobrados por meio de um processo interno de TI de estorno.

A conta de faturamento única é estruturada da seguinte maneira:

conta de faturamento única

As considerações de faturamento também podem orientar o modo como você organiza projetos e pastas no Google Cloud. Dependendo dos seus centros de custo internos, faça a organização como no diagrama a seguir.

conta de faturamento separada por pastas

  • Neste diagrama, as pastas identificam todos os projetos e recursos associados a um centro de custo, departamento ou projeto de TI.
  • Projetos organizam recursos. O custo é mostrado por projeto, e os códigos do projeto são incluídos na exportação de faturamento.
  • Anote os projetos com rótulos, que fornecem mais informações do agrupamento, como environment=test. Os rótulos são incluídos na exportação do faturamento.
  • A codificação do centro de custo é integrada ao nome ou código do projeto.

Esse modelo funciona bem se você alinha cada pasta a um centro de custo interno separado. No entanto, os estornos internos ainda são necessários porque o Google envia uma única fatura para uma determinada conta de faturamento.

Se os centros de custo precisarem pagar uma fatura separada ou usar outra moeda para algumas cargas de trabalho, uma opção é ter várias contas de faturamento. Essa abordagem pode exigir um contrato assinado para cada conta de faturamento.

Como administrar contas de faturamento do Cloud

Os papéis da conta de faturamento do Cloud ajudam você a administrar esse tipo de conta. É possível atribuir os seguintes papéis de faturamento no nível da organização.

Papel Descrição
Administrador da conta de faturamento Gerencia todas as contas de faturamento da organização.
Criador da conta de faturamento Cria contas de faturamento na organização.
Usuário da conta de faturamento Vincula projetos a contas de faturamento.
Gerente de faturamento do projeto Concede acesso para atribuir uma conta de faturamento ou desativar o faturamento de um projeto.

Conceda o papel de administrador da conta de faturamento no nível do nó organizacional para permitir a visualização de todas as contas de faturamento da sua organização. Para limitar os usuários que têm permissão para criar contas de faturamento e como podem fazer isso, use o papel de criador da conta de faturamento. Os seguintes artigos da Central de Ajuda do Google apresentam mais informações:

Como alterar contas de faturamento

Se você quiser alterar as contas de faturamento do Cloud de um projeto ou desativar o faturamento por completo, siga estas etapas:

  1. No menu de navegação esquerdo do Console do Cloud, clique em Faturamento.
  2. À direita do nome do projeto, clique no ícone de três pontos e, em seguida, clique em Alterar conta de faturamento. É possível também usar esse ícone para desativar o faturamento, o que desativa o projeto.

    alterar uma conta de faturamento

Como criar um orçamento

Os orçamentos geram alertas, mas não desativam o faturamento dos projetos. Isso significa que um projeto continuará sendo executado mesmo se exceder o orçamento. Se um projeto estiver ultrapassando o orçamento, desative o faturamento manualmente. Se preferir, interrompa os recursos que estão gerando cobranças para evitar que o orçamento seja excedido. Como o orçamento não é atualizado em tempo real, você talvez saiba que excedeu o limite de custo de um projeto depois de um ou dois dias.

Siga estas etapas para criar um orçamento:

  1. No Console do Cloud, acesse o menu Faturamento, clique em Orçamentos e alertas e clique em Criar orçamento.

    como criar um orçamento

    Nesse exemplo, a conta já está acima do orçamento do mês. Um orçamento não desativa nenhum serviço, mas notifica o administrador de faturamento quando o valor é excedido.

  2. Insira os detalhes do orçamento e os níveis de uso para receber alertas.

    alertas de orçamento

  3. Em Conta do projeto ou de faturamento, escolha se você quer monitorar seu orçamento geral ou projetos individuais. O recurso de orçamentos leva em consideração o período de um mês. Você pode definir o orçamento para um determinado mês.

Como configurar a exportação do faturamento

Se você quiser um relatório detalhado de todos os serviços usados pela sua conta de faturamento do Cloud, configure Exportação do faturamento no menu Faturamento no Console do Cloud. Armazene os detalhes no Cloud Storage ou no BigQuery. Se você usar o Cloud Storage, é possível armazenar os dados no formato JSON ou CSV.

exportação de faturamento

A exportação dos dados de faturamento para o BigQuery permite encontrar rapidamente os projetos que estão gastando mais do que o limite que você definiu. É possível também ver os serviços que estão sendo cobrados de você. Por exemplo, a consulta a seguir lista todos os projetos que excederam US$ 0,10 no mês atual. Substitua [YOUR_BIGQUERY_TABLE] pelo nome da sua tabela.

SELECT
      project.name,
      cost
    FROM
      [YOUR_BIGQUERY_TABLE]
    WHERE
      cost > 0.1
    ORDER BY
      cost DESC
    

A seguir