Hierarquia de recursos

Nesta página, descrevemos a hierarquia de recursos do Google Cloud e os recursos que podem ser gerenciados com o Resource Manager.

O objetivo da hierarquia de recursos do Google Cloud é duplo:

  • Fornecer uma hierarquia de propriedade, que vincula o ciclo de vida de um recurso ao próprio pai imediato na hierarquia.
  • Fornecer pontos de conexão e herança para controle de acesso e políticas da organização.

Metaforicamente falando, a hierarquia de recursos do Google Cloud se parece com o sistema de arquivos encontrado em sistemas operacionais tradicionais na forma de organizar e gerenciar entidades hierarquicamente. Geralmente, cada recurso tem exatamente um pai. Com essa organização hierárquica de recursos, é possível definir políticas de controle de acesso e configurações em um recurso pai. Além disso, as políticas e configurações de Identity and Access Management (IAM) são herdadas pelos recursos filhos.

Hierarquia de recursos do Google Cloud em detalhes

Os recursos do Google Cloud são organizados hierarquicamente. Todos os recursos, exceto o mais alto em uma hierarquia, têm exatamente um pai. No nível mais baixo, os recursos de serviço são os componentes fundamentais que compõem todos os serviços do Google Cloud. Exemplos de recursos de serviço incluem máquinas virtuais (VMs) do Compute Engine, tópicos do Pub/Sub, buckets do Cloud Storage e instâncias do App Engine. Todos esses recursos de nível inferior têm recursos de projeto como pais, que representam o primeiro mecanismo de agrupamento da hierarquia de recursos do Google Cloud.

Todos os usuários, incluindo usuários do teste gratuito, do nível gratuito e clientes do Google Workspace e do Cloud Identity, podem criar recursos de projeto. Os usuários do Programa gratuito do Google Cloud só podem criar recursos de projeto e de serviço em projetos. Os recursos do projeto podem estar no topo da hierarquia, mas somente se forem criados por um usuário do teste gratuito ou do nível gratuito. Os clientes do Google Workspace e do Cloud Identity têm acesso a recursos adicionais da hierarquia de recursos do Google Cloud, como recursos de organização e pastas. Saiba mais na visão geral do Cloud Identity. Os recursos de projeto no topo da hierarquia não têm recursos pais, mas podem ser migrados para um recurso de organização depois que ele é criado para o domínio. Para mais detalhes sobre a migração de recursos do projeto, consulte Migrar recursos do projeto.

Os clientes do Google Workspace e do Cloud Identity podem criar recursos de organização. Cada conta do Google Workspace ou do Cloud Identity está associada a um recurso de organização. Quando um recurso da organização existe, ele fica no topo da hierarquia de recursos do Google Cloud, e todos os recursos que pertencem a uma organização são agrupados no recurso da organização. Isso proporciona visibilidade e controle centralizados sobre todos os recursos que pertencem a uma organização.

Os recursos de pasta são um mecanismo de agrupamento opcional adicional entre recursos da organização e do projeto. Um recurso de organização é necessário como pré-requisito para usar pastas. Os recursos de pasta e os recursos filhos do projeto são mapeados no recurso da organização.

A hierarquia de recursos do Google Cloud, especialmente na forma mais completa, que inclui um recurso de organização e recursos de pastas, permite que as empresas mapeiem o recurso da organização no Google Cloud e fornece pontos de anexação lógicos para políticas de gerenciamento de acesso (IAM) e políticas da organização. As políticas do IAM e da organização são herdadas pela hierarquia, e a política vigente para cada recurso na hierarquia é o resultado das políticas aplicadas diretamente no recurso e das herdadas dos ancestrais.

O diagrama abaixo representa um exemplo completo de hierarquia de recursos do Google Cloud:

O recurso da organização

O recurso organização representa uma organização (por exemplo, uma empresa) e é o nó raiz na hierarquia de recursos do Google Cloud quando está presente. O recurso da organização é o ancestral hierárquico dos recursos de pasta e de projeto. As políticas de controle de acesso do IAM aplicadas ao recurso da organização são válidas para toda a hierarquia em todos os recursos da organização.

Os usuários do Google Cloud não precisam ter um recurso de organização, mas alguns recursos do Resource Manager não poderão ser usados sem um. O recurso da organização está intimamente associado a uma conta do Google Workspace ou do Cloud Identity. Quando um usuário com uma conta do Google Workspace ou do Cloud Identity cria um recurso de projeto do Google Cloud, um recurso de organização é provisionado automaticamente para ele.

Uma conta do Google Workspace ou do Cloud Identity pode ter um recurso de organização provisionado. Depois que um recurso de organização é criado para um domínio, todos os novos recursos de projeto do Google Cloud criados por membros do domínio da conta pertencem, por padrão, ao recurso de organização. Quando um usuário gerenciado cria um recurso de projeto, o requisito é que ele esteja em algum recurso de organização. Se um usuário especificar um recurso da organização e tiver as permissões corretas, o projeto será atribuído a ela. Caso contrário, o padrão será o recurso da organização a que o usuário está associado. Não é possível para contas associadas a um recurso de organização criar recursos de projeto que não estejam associados a um recurso de organização.

Para simplificar, vamos nos referir ao Google Workspace para usuários do Google Workspace e do Cloud Identity.

A conta do Google Workspace ou do Cloud Identity representa uma empresa e é um pré-requisito para ter acesso ao recurso da organização. No contexto do Google Cloud, ele fornece gerenciamento de identidade, mecanismo de recuperação, propriedade e gerenciamento do ciclo de vida. A imagem abaixo mostra o vínculo entre a conta do Google Workspace, o Cloud Identity e a hierarquia de recursos do Google Cloud.


O superadministrador do Google Workspace é o responsável pela verificação da propriedade de domínio e o contato em casos de recuperação. Por isso, o superadministrador do Google Workspace pode atribuir papéis do IAM por padrão. A função principal do superadministrador do Google Workspace com relação ao Google Cloud é atribuir o papel de IAM de administrador da organização aos usuários apropriados no domínio. Isso criará a separação entre o Google Workspace e as responsabilidades de administração do Google Cloud que os usuários normalmente procuram.

Benefícios do recurso Organização

Com um recurso de organização, os recursos do projeto pertencem à sua organização, e não ao funcionário que criou o projeto. Isso significa que os recursos do projeto não são mais excluídos quando um funcionário deixa a empresa. Em vez disso, eles seguem o ciclo de vida do recurso da organização no Google Cloud.

Além disso, os administradores da organização têm controle central de todos os recursos. Eles podem acessar e gerenciar todos os recursos de projeto da sua empresa. Com essa imposição, não haverá mais projetos ou administradores não autorizados.

Além disso, é possível conceder papéis no nível da organização, que são herdados por todos os recursos de projeto e pasta no recurso da organização. Por exemplo, é possível conceder o papel de administrador de rede à equipe de rede no nível da organização, permitindo que ela gerencie todas as redes em todos os recursos de projeto na empresa, em vez de conceder o papel para cada recurso de projeto individual.

Um recurso de organização exposto pela API Cloud Resource Manager consiste nos seguintes itens:

  • Um ID de recurso de organização, que é um identificador exclusivo para uma organização.
  • Um nome de exibição, gerado a partir do nome do domínio principal no Google Workspace ou no Cloud Identity.
  • A hora de criação do recurso da organização.
  • A hora da última modificação do recurso da organização.
  • O proprietário do recurso da organização. O proprietário é especificado durante a criação do recurso da organização. Depois de definido, ele não pode ser alterado. É o ID de cliente do Google Workspace especificado na API Directory.

O snippet de código a seguir mostra a estrutura de um recurso de organização:

{
  "creationTime": "2020-01-07T21:59:43.314Z",
  "displayName": "my-organization",
  "lifecycleState": "ACTIVE",
  "name": "organizations/34739118321",
  "owner": {
    "directoryCustomerId": "C012ba234"
  }
}

A política inicial do IAM para um recurso de organização recém-criado concede os papéis de Criador de projetos e Criador da conta de faturamento a todo o domínio do Google Workspace. Isso significa que os usuários poderão continuar criando recursos de projeto e contas de faturamento como faziam antes do recurso da organização existir. Quando um recurso de organização é criado, nenhum outro recurso é gerado.

O recurso de pasta

Os recursos de pasta fornecem, opcionalmente, um mecanismo de agrupamento adicional e limites de isolamento entre projetos. Eles podem ser considerados como suborganizações dentro do recurso da organização. Os recursos de pastas podem ser usados para modelar diferentes entidades jurídicas, departamentos e equipes em uma empresa. Por exemplo, o primeiro nível de recursos de pastas pode ser usado para representar os departamentos principais no recurso de organização. Como os recursos de pasta podem conter recursos de projeto e outras pastas, cada recurso de pasta pode incluir outras subpastas para representar equipes diferentes. Além disso, cada pasta de equipe pode conter subpastas adicionais para representar diferentes aplicativos. Para mais detalhes sobre o uso de recursos de pastas, consulte Criar e gerenciar recursos de pastas.

Se os recursos de pasta existirem na sua organização e você tiver as permissões de visualização adequadas, poderá visualizá-los no console do Google Cloud. Para ver instruções mais detalhadas, consulte Como visualizar ou listar recursos de pastas e projetos.

Os recursos de pastas permitem que direitos de administração sejam designados. Por exemplo, cada chefe de departamento pode receber a propriedade total de todos os recursos do Google Cloud que pertençam aos próprios departamentos. Da mesma forma, o acesso a recursos pode ser limitado por pasta, de modo que os usuários de um departamento só possam acessar e criar recursos do Google Cloud dentro dessa pasta específica.

O snippet de código a seguir mostra a estrutura de um recurso de pasta:

{
  "createTime": "2030-01-07T21:59:43.314Z",
  "displayName": "Engineering",
  "lifecycleState": "ACTIVE",
  "name": "folders/634792535758",
  "parent": "organizations/34739118321"
}

Assim como os recursos de organização e de projeto, os recursos de pasta atuam como um ponto de herança de políticas para o IAM e as políticas da organização. Os papéis do IAM concedidos em um recurso de pasta são herdados automaticamente por todos os recursos de projeto e pasta incluídos nela.

O recurso do projeto

O recurso Projeto é a entidade organizadora do nível base. Os recursos de organização e pasta podem conter vários projetos. Um recurso de projeto é necessário para usar o Google Cloud e forma a base para criar, ativar e usar todos os serviços do Google Cloud, gerenciar APIs, ativar o faturamento, adicionar e remover colaboradores e gerenciar permissões.

Todos os recursos do projeto consistem no seguinte:

  • Dois identificadores:
    1. ID do recurso do projeto, que é um identificador exclusivo do recurso do projeto.
    2. O número do recurso do projeto, que é atribuído automaticamente na criação do projeto. Ele é somente leitura.
  • um nome de exibição mutável;
  • O estado do ciclo de vida do recurso do projeto, por exemplo, ACTIVE ou DELETE_REQUESTED.
  • uma coleção de rótulos que podem ser usados na filtragem de projetos;
  • A hora em que o recurso do projeto foi criado.

O snippet de código a seguir mostra a estrutura de um recurso de projeto:

{
  "createTime": "2020-01-07T21:59:43.314Z",
  "lifecycleState": "ACTIVE",
  "name": "my-project",
  "parent": {
    "id": "634792535758",
    "type": "folder"
  },
  "projectId": "my-project",
  "labels": {
     "my-label": "prod"
  },
  "projectNumber": "464036093014"
}

Para interagir com a maioria dos recursos do Google Cloud, você precisa fornecer as informações de identificação do recurso do projeto para cada solicitação. É possível identificar um recurso de projeto de duas maneiras: um ID de recurso de projeto ou um número de recurso de projeto (projectId e projectNumber no snippet de código).

O ID do recurso do projeto é o nome personalizado que você escolheu ao criar o recurso do projeto. Se você ativar uma API que requer um recurso do projeto, será direcionado para criar ou selecionar um recurso do projeto usando o ID do recurso do projeto. A string name, que é exibida na UI, não é igual ao ID do recurso do projeto.

Um número de recurso de projeto é gerado automaticamente pelo Google Cloud. O ID e o número do recurso do projeto podem ser encontrados no painel do recurso do projeto no console do Google Cloud. Para informações sobre como conseguir identificadores de projeto e outras tarefas de gerenciamento de recursos de projeto, consulte Criar e gerenciar recursos de projeto.

A política inicial do IAM para o recurso do projeto recém-criado concede o papel de proprietário ao criador do projeto.

Herança de políticas do IAM

O Google Cloud oferece o IAM, que permite atribuir acesso granular a recursos específicos do Google Cloud e impede o acesso indesejado a outros recursos. Por meio da definição de políticas do IAM, é possível controlar quem (usuários) tem que tipo de acesso (papéis) a quais recursos.

É possível definir uma política do IAM no nível da organização, no nível da pasta, no nível do projeto ou, em alguns casos, no nível do recurso. Os recursos herdam as políticas do recurso pai. Se você definir uma política no nível da organização, ela será herdada por todas as pastas e recursos filhos. Se você definir uma política no nível do projeto, ela será herdada por todos os recursos filhos.

A política vigente em um recurso é a união da política definida para o recurso com a herdada dos ancestrais. Essa herança é transitiva. Em outras palavras, os recursos herdam políticas do projeto, que herdam políticas do recurso da organização. Portanto, as políticas no nível da organização também se aplicam no nível do recurso.

Por exemplo, no diagrama de hierarquia de recursos acima, se você definir uma política na pasta "Departamento Y" que concede o papel "Editor de projeto" a bob@example.com, Bob terá o papel de editor nos projetos "Projeto de desenvolvimento", "Projeto de teste" e "Projeto de produção". Por outro lado, se você atribuir a alice@example.com o papel "Administrador da instância" no projeto "Projeto de teste", ela só poderá gerenciar instâncias do Compute Engine nesse projeto.

Os papéis são sempre herdados e não é possível remover explicitamente uma permissão para um recurso de nível inferior que foi concedido em um nível superior na hierarquia de recursos. Considerando o exemplo acima, mesmo que você removesse o papel "Editor do projeto" atribuído a Bob em "Projeto de teste", ele ainda herdaria esse papel da pasta "Departamento Y". Sendo assim, ele ainda teria as permissões desse papel em "Projeto de teste".

A hierarquia de políticas do IAM segue o mesmo caminho que a hierarquia de recursos do Google Cloud. Se você alterar a hierarquia do recurso, a da política também será modificada. Por exemplo, mover um projeto para um recurso de organização atualiza a política de IAM do projeto para que ela herde a política de IAM do recurso. Da mesma forma, se um recurso de projeto for movido de um recurso de pasta para outro, as permissões herdadas serão alteradas. As permissões herdadas do recurso pai original pelo recurso do projeto serão perdidas quando o recurso do projeto for movido para um novo recurso de pasta. As permissões definidas no recurso da pasta de destino serão herdadas pelo recurso do projeto quando ele for movido.

Faça um teste

Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.

Comece a usar gratuitamente