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. Essa organização hierárquica de recursos permite definir políticas de controle de acesso e configurações em um recurso pai, e as configurações de políticas e do Identity and Access Management (IAM) são herdadas pelos 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 de 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, 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 de teste gratuito, usuários de nível gratuito e clientes do Google Workspace e do Cloud Identity, podem criar recursos do projeto. Os usuários do Programa gratuito do Google Cloud só podem criar recursos de projeto e de serviço dentro dos projetos. Os recursos do projeto podem estar no topo da hierarquia, mas somente se criados por um usuário de avaliação gratuita ou um usuário de nível gratuito. Os clientes do Google Workspace e do Cloud Identity têm acesso a recursos extras da hierarquia de recursos do Google Cloud, como recursos de organização e pasta. Saiba mais na visão geral do Cloud Identity. Os projetos no topo da hierarquia não têm recursos pais, mas podem ser migrados para um recurso da organização depois que ele tiver sido criado para o domínio. Para mais detalhes sobre como migrar recursos do projeto, consulte Como migrar recursos do projeto.

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

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

A hierarquia de recursos do Google Cloud, especialmente na versão mais completa que inclui um recurso de organização e recursos de pasta, permite que as empresas mapeie o recurso da organização no Google Cloud e fornece pontos de anexo 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 efetiva para cada recurso na hierarquia é o resultado das políticas aplicadas diretamente no recurso e das políticas herdadas de seus ancestrais.

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

O recurso da organização

O recurso de organização representa uma organização (por exemplo, uma empresa) e é o nó raiz na hierarquia de recursos do Google Cloud, quando presente. Ele é o ancestral hierárquico dos recursos de pasta e projeto. As políticas de controle de acesso do IAM aplicadas ao recurso da organização são aplicadas em 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 exatamente um recurso da organização provisionado com ela. Depois que um recurso de organização é criado para um domínio, todos os novos recursos de projetos do Google Cloud criados por membros do domínio da conta pertencerão, por padrão, ao recurso da organização. Quando um usuário gerenciado cria um recurso de projeto, o requisito é que ele esteja em algum recurso da organização. Se um usuário especificar um recurso da organização e tiver as permissões corretas, o projeto será atribuído a essa organização. Caso contrário, o padrão será o recurso da organização a que o usuário está associado. É impossível que contas associadas a um recurso da organização criem recursos de projeto que não estejam associados a um recurso da 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 em relação ao Google Cloud é atribuir o papel do IAM 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 de organização

Com um recurso da 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 sai da empresa. Em vez disso, eles seguirão 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 visualizar e gerenciar todos os recursos de projetos da sua empresa. Essa aplicação significa que não pode mais haver projetos sombra 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 do projeto e da 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 eles gerenciem todas as redes em todos os recursos do projeto na empresa, em vez de conceder o papel para todos os recursos do projeto individuais.

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

  • Um ID de recurso da organização, que é um identificador exclusivo de uma organização.
  • Um nome de exibição, gerado a partir do nome do domínio principal no Google Workspace ou no Cloud Identity.
  • O horário de criação do recurso da organização.
  • O horário da última modificação do recurso da organização.
  • O proprietário do recurso da organização. O proprietário é especificado ao criar o 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 da 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 da 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 projetos e contas de faturamento como faziam antes de o recurso da organização existir. Quando um recurso da organização é criado, nenhum outro recurso é criado.

O recurso de pasta

Os recursos de pasta também fornecem um mecanismo de agrupamento extra e limites de isolamento entre projetos. Elas podem ser consideradas suborganizações dentro do recurso de organização. Os recursos de pasta podem ser usados para modelar diferentes pessoas jurídicas, departamentos e equipes em uma empresa. Por exemplo, o primeiro nível de recursos de pasta pode ser usado para representar os principais departamentos no recurso da 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 pasta, consulte Como criar e gerenciar recursos de pasta.

Se houver recursos de pasta no recurso da organização e você tiver as permissões de visualização apropriadas, será possível visualizá-los no console do Google Cloud. Para instruções mais detalhadas, consulte Como ver ou listar recursos de pastas e projetos.

Os recursos de pasta permitem a delegação de direitos de administração. Por exemplo, cada chefe de departamento pode receber a propriedade total de todos os recursos do Google Cloud que pertencem aos respectivos departamentos. Da mesma forma, o acesso a recursos pode ser limitado por recurso de pasta, de modo que os usuários de um departamento só possam acessar e criar recursos do Google Cloud dentro desse recurso de pasta.

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 da organização e do projeto, os recursos de pasta atuam como um ponto de herança das políticas da organização e do IAM. Os papéis do IAM concedidos em um recurso de pasta são herdados automaticamente por todos os recursos do projeto e da pasta incluídos nessa pasta.

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 é 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. Número do recurso do projeto, que é atribuído automaticamente quando você cria o 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. Um recurso de projeto pode ser identificado de duas maneiras: pelo ID do recurso do projeto ou pelo número do recurso do projeto (projectId e projectNumber no snippet de código).

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

Um número de recurso do 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 para recursos de projeto, consulte Como 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 pai. Se você definir uma política no nível da organização, ela será herdada por todas as pastas filhas e todos os recursos do projeto. Se for definida 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 herda do recurso da organização. Portanto, as políticas no nível do recurso 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, quando um projeto é movido para um recurso da organização, a política de IAM do projeto é atualizada para herdar da política de IAM do recurso da organização. Da mesma forma, mover um recurso de projeto de um recurso de pasta para outro mudará as permissões herdadas. As permissões herdadas pelo recurso do projeto do recurso pai original 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 conforme 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