Esta página descreve como criar Google Cloud pastas para agrupar e organizar projetos em uma hierarquia de recursos. É possível usar pastas para delegar tarefas administrativas, aplicar políticas da organização específicas do ambiente e simplificar o gerenciamento de custos em todos os departamentos.
As pastas são nodes no Cloud Platform Resource Hierarchy. Uma pasta pode conter projetos, outras pastas ou uma combinação de ambos. Os recursos da organização podem usar pastas para agrupar projetos no nó do recurso da organização em uma hierarquia. Por exemplo, o recurso da organização pode ter vários departamentos, cada um com o próprio conjunto de Google Cloud resources. Com as pastas, você pode agrupar esses recursos por departamento ou agrupar recursos que compartilham políticas comuns de permissão ou negação. Cada pasta pode conter várias pastas ou recursos. No entanto, uma determinada pasta ou recurso pode ter somente um pai.
No diagrama a seguir, o recurso da organização "Company" tem pastas que representam dois departamentos, "Dept X" e "Dept Y", e uma pasta "Shared Infrastructure" para itens que podem ser comuns a ambos os departamentos. Em "Dept Y", eles se organizam em duas equipes e, dentro das pastas de equipe, eles organizam por produtos. A pasta para o "Product 1" contém três projetos, cada um com os recursos necessários para o projeto. Isso oferece a eles um alto grau de flexibilidade na atribuição de políticas de permissão, negação ou da organização no nível de granularidade ideal.
É possível usar políticas de permissão e negação no nível da pasta para controlar o acesso aos recursos que a pasta contém. Por exemplo, se um usuário receber o papel Administrador da instância do Compute em uma pasta, ele terá o papel Administrador da instância do Compute em todos os projetos da pasta.
Antes de começar
A funcionalidade de pasta está disponível apenas para clientes do Google Workspace e do Cloud Identity que tenham um recurso de organização. Para mais informações sobre como adquirir um recurso de organização, consulte Como conseguir um recurso de organização.
Se você estiver explorando a melhor maneira de usar as pastas, recomendamos que você:
- Leia o tópico Controle de acesso para pastas usando o IAM. Ele descreve como controlar quem tem acesso às pastas e aos recursos que elas contêm. Ele descreve como controlar quem tem acesso às pastas e aos recursos que elas contêm.
- Saiba como definir permissões de pasta. As pastas são compatíveis com vários papéis do Identity and Access Management (IAM). Se você quiser configurar as permissões amplamente para que os usuários vejam a estrutura dos projetos, conceda os papéis de Leitor da organização e Visualizador de pastas a todo o domínio no nível do recurso da organização. Para restringir a visibilidade a ramificações da sua hierarquia de pastas, conceda o papel Visualizador de pastas na pasta ou pastas que quiser que os usuários vejam.
- Crie pastas. Ao planejar a organização dos recursos no Cloud, recomendamos que você comece com uma única pasta, como um sandbox, onde é possível experimentar qual hierarquia faz mais sentido para o recurso da sua organização. Imagine que as pastas são como limites de isolamento entre os recursos e pontos de conexão para políticas de acesso e configuração. Para delegar esse privilégio, é possível criar pastas para recursos de diferentes departamentos e atribuir papéis de Administrador em pastas. As pastas também podem ser usadas para agrupar recursos que pertencem a aplicativos ou ambientes diferentes, como desenvolvimento, produção e teste. Use pastas aninhadas para modelar esses cenários diferentes.
Uma situação comum é criar pastas que, por sua vez, contêm outros projetos ou pastas, conforme mostrado na hierarquia de recursos anterior. Essa estrutura é conhecida como hierarquia de pastas. Ao criar esse tipo de hierarquia, lembre-se do seguinte:
- Você pode aninhar pastas em até 10 (dez) níveis de profundidade.
- Uma pasta pai não pode conter mais do que 300 pastas. Isso se refere somente a pastas filho diretas. Essas pastas filho podem, por sua vez, conter outros projetos ou pastas.
- Os nomes de exibição das pastas precisam ser exclusivos dentro do mesmo nível da hierarquia.
Configurar permissões para gerenciar pastas
Para acessar e gerenciar pastas, atribua papéis de IAM específicos da pasta a grupos específicos de usuários. Para saber mais sobre esses papéis, consulte Controle de acesso para pastas que usam o IAM. Também recomendamos que você leia nossas práticas recomendadas para ajudar a identificar a melhor configuração para suas permissões de pasta.
Para gerenciar pastas em todo o recurso da organização, é preciso ter o papel Administrador de pastas. Este papel concede ao usuário permissão para criar, editar, excluir, mover e alterar permissões de IAM em pastas, bem como permissão para mover projetos entre pastas.
Inicialmente, somente o Administrador da organização pode atribuir o papel Administrador de pastas para o recurso da organização. As contas subsequentes que tiverem esse papel poderão concedê-lo a outras contas.
Para configurar permissões de pasta, siga estas etapas:
Console
- No Google Cloud console, abra a página Gerenciar recursos.
- Se o painel de informações não estiver aberto, clique em Mostrar painel de informações.
- Na tabela Recursos, expanda a organização que contém a pasta.
- Na lista de recursos da organização, selecione a pasta que você quer gerenciar.
- No painel de informações, clique em Adicionar participante.
- No campo Adicionar principais, insira o endereço de e-mail a que você quer conceder permissões.
- No menu Selecionar um papel , selecione a categoria Resource Manager e, em seguida, o papel que você quer conceder, como Administrador de pastas.
- Clique em Salvar para conceder o novo papel.
gcloud
Para conceder o papel Administrador de pastas a um principal usando a Google Cloud CLI, execute o seguinte comando:
gcloud organizations add-iam-policy-binding ORGANIZATION_ID \
--member=user:USER_ID \
--role=roles/resourcemanager.folderAdmin
REST
A solicitação JSON:
request_json= '{ policy: { version: "1", bindings: [ { role: "roles/folderAdmin",
members: [ "user:admin@myorganization.com", ] }, { role: "roles/folderCreator",
members: [ "user:admin@myorganization.com", ] } , { role: "roles/folderMover",
members: [ "user:admin@myorganization.com", ] } , ] } }'
A solicitação curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/ORGANIZATION_NAME:setIamPolicy
Substitua ORGANIZATION_NAME pelo nome da organização cuja política de permissão está sendo definida. Por exemplo, organizations/123.
Criar pastas
Para criar pastas, você precisa ter o papel Administrador de pasta ou Criador de pastas no nível pai. Por exemplo, para criar pastas no nível da organização, você precisa ter um desses papéis nesse nível.
Como parte da criação de uma pasta, você precisa atribuir um nome a ela. Os nomes de pasta precisam atender aos seguintes requisitos:
- O nome pode conter letras, dígitos, espaços, hifens e sublinhados.
- O nome de exibição da pasta precisa começar e terminar com uma letra ou um dígito.
- O nome precisa ter entre 3 e 30 caracteres.
- O nome precisa ser distinto de todas as outras pastas que compartilhem o mesmo pai.
Para criar uma pasta, siga estas etapas:
Console
As pastas podem ser criadas na UI usando a seção "Gerenciar projetos e pastas".
Acesse a página Gerenciar recursos no Google Cloud console:
Verifique se o nome do recurso da organização está selecionado na lista suspensa da organização na parte de cima da página.
Clique em Criar pasta e selecione uma das seguintes opções:
- Pasta padrão: um recurso de pasta padrão .
- Pasta em conformidade: uma pasta do Assured Workloads, que oferece controles regulatórios, regionais ou soberanos adicionais para Google Cloud recursos. Ao selecionar essa opção, você será direcionado ao Assured Workloads para criar uma pasta.
Na caixa Nome da pasta, insira o nome da nova pasta.
Em Destino, clique em Procurar e selecione o recurso ou a pasta da organização em que você quer criar a nova pasta.
- Clique em Criar.
gcloud
As pastas podem ser criadas de maneira programática usando a Google Cloud CLI.
Para criar uma pasta no recurso da organização usando a ferramenta de linha de comando gcloud, execute o seguinte comando:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID
Para criar uma pasta cujo pai é outra pasta:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--folder=FOLDER_ID
Substitua:
- DISPLAY_NAME: o nome de exibição da pasta. Pastas com o mesmo pai não podem ter o mesmo nome de exibição. O nome de exibição precisa começar e terminar com uma letra ou um dígito, pode conter letras, dígitos, espaços, hifens e sublinhados e não pode ter mais de 30 caracteres;
- ORGANIZATION_ID: o ID do recurso da organização pai, se o pai for um recurso da organização.
- FOLDER_ID: o ID da pasta pai, se o pai for uma pasta.
API
É possível criar pastas com uma solicitação de API.
A solicitação JSON:
request_json= '{
display_name: DISPLAY_NAME,
parent: ORGANIZATION_NAME
}'
A solicitação curl Criar pasta:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/folders
Em que:
- DISPLAY_NAME: o nome de exibição da pasta nova. Por exemplo, "Minha pasta maravilhosa";
- ORGANIZATION_NAME: o nome do recurso da organização em que
você está criando a pasta. Por exemplo,
organizations/123.
A resposta Criar pasta:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
}
}
A solicitação curl Receber operação:
curl -H "Authorization: Bearer ${bearer_token}" \
https://cloudresourcemanager.googleapis.com/v3/operations/fc.123456789
A resposta Receber operação:
{
"name": "operations/fc.123456789",
"metadata": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.FolderOperation",
"displayName": "DISPLAY_NAME",
"operationType": "CREATE"
},
"done": true,
"response": {
"@type": "type.googleapis.com/google.cloud.resourcemanager.v3.Folder",
"name": "folders/12345",
"parent": "organizations/123",
"displayName": "DISPLAY_NAME",
"lifecycleState": "ACTIVE",
"createTime": "2017-07-19T23:29:26.018Z",
"updateTime": "2017-07-19T23:29:26.046Z"
}
}
Adicionar tags durante a criação da pasta
As tags fornecem uma maneira de criar anotações para recursos. É possível adicionar tags ao criar pastas. Para isso, você deve conceder o papel Usuário de Tags. Para mais informações sobre as permissões contidas nesse papel, consulte Criar e gerenciar tags. Só é possível adicionar o namespace para os pares de chave-valor de tag de uma das seguintes maneiras:
gcloud
Para adicionar tags durante a criação da pasta, execute o seguinte comando:
gcloud resource-manager folders create \
--display-name=DISPLAY_NAME \
--organization=ORGANIZATION_ID\
--tags=KEY_VALUE_PAIRS
Substitua:
DISPLAY_NAME: o nome de exibição da pasta.ORGANIZATION_ID: o identificador exclusivo do recurso da organização pai.KEY_VALUE_PAIRS: uma lista separada por vírgulas de pares de chave-valor que podem ser atribuídos ao recurso. Um exemplo de pares de chave-valor separados por vírgulas é123/environment=production, 456/create=testresource.
REST
O snippet a seguir é uma solicitação JSON que cria uma pasta e adiciona tags a ela.
POST https://cloudresourcemanager.googleapis.com/v3/projects/
Authorization: *************
Content-Type: application/json
{
"display_name": "our-folder-456",
"parent": "organizations/123",
"tags": {
"key": "123/environment"
"value": "production"
},
"tags": {
"key": "123/costCenter"
"value": "marketing"
}
}
Configurar o acesso às pastas
Para configurar o acesso às pastas, você precisa ter o papel Administrador de pastas do IAM ou Administrador de pasta no nível pai.
Console
No Google Cloud console, abra a página Gerenciar recursos.
Clique na lista suspensa Organização na parte de cima à esquerda e selecione o recurso da organização.
Marque a caixa de seleção ao lado do projeto em que você quer alterar as permissões.
No Painel de informações à direita, em Permissões, insira os endereços de e-mail dos membros que você quer adicionar.
Na lista suspensa Selecionar papel, escolha o papel que você quer conceder a esses membros.
Clique em Adicionar. Uma notificação será exibida para confirmar a adição ou atualização do novo papel dos membros.
gcloud
É possível configurar o acesso às pastas de maneira programática usando a Google Cloud CLI ou a API REST.
gcloud resource-manager folders \
add-iam-policy-binding FOLDER_ID \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderEditor
gcloud resource-manager folders \
add-iam-policy-binding FOLDER_ID \
--member=user:email1@example.com \
--role=roles/resourcemanager.folderViewer
Como alternativa:
gcloud resource-manager folders \
set-iam-policy FOLDER_ID POLICY_FILE
Substitua:
- FOLDER_ID: o ID da nova pasta
- POLICY_FILE: o caminho para um arquivo de política da pasta
API
O método setIamPolicy define a política de controle de acesso em uma pasta,
substituindo qualquer política atual. O campo resource precisa ser o nome do recurso da pasta
. Por exemplo, folders/1234.
request_json= '{
policy: {
version: "1",
bindings: [
{
role: "roles/resourcemanager.folderEditor",
members: [
"user:email1@example.com",
"user:email2@example.com",
]
}
]
}
}'
A solicitação curl:
curl -X POST -H "Content-Type: application/json" \
-H "Authorization: Bearer ${bearer_token}" \
-d "$request_json" \
https://cloudresourcemanager.googleapis.com/v3/FOLDER_ID:setIamPolicy
Substitua FOLDER_ID pelo nome da pasta com a política do IAM que está sendo definida, por exemplo, folders/123.
Processar operações de longa duração
Algumas operações de pasta, como criação ou migração, são processadas de forma assíncrona
porque Google Cloud exigem propagação global. Para evitar o bloqueio do terminal ou dos scripts de automação, use a flag --async.
Quando essa flag é usada, o comando retorna um objeto operação de longa duração (LRO) imediatamente. Em seguida, é possível usar o operation_id para pesquisar a conclusão quando quiser. A flag --async é compatível apenas com os comandos folders create e folders move.
Para usar a flag, siga estas etapas:
Inicie uma tarefa assíncrona. Consulte o seguinte comando de exemplo:
gcloud resource-manager folders create \ --display-name="Test Async Folder" \ --organization=2518 \ --asyncA saída fornece um nome de operação (por exemplo, fc.8572) e mostra
done: false.Exemplo de resposta:
name: operations/fc.8572 metadata: operation_type: CREATE display_name: Awe-Inspiring Async Folder destination_parent: organizations/2518 done: falseVerifique o status da operação. Para verificar se a tarefa foi concluída, use o comando
operations describecom o ID fornecido na etapa anterior.gcloud beta resource-manager operations describe fc.8572Quando
donefor verdadeiro, o bloco de resposta vai conter todos os detalhes do recurso recém-criado.name: operations/fc.8572 done: true response: name: folders/6428 display_name: Awe-Inspiring Async Folder lifecycle_state: ACTIVE create_time: '2024-03-20T10:00:00Z'
A seguir
- Saiba como visualizar e atualizar pastas.
- Saiba como gerenciar projetos em pastas.
- Saiba mais sobre papéis e permissões para pastas.
- Saiba como listar todas as pastas e projetos na hierarquia de recursos.