HCP Controle
Projetos
Os projetos permitem que você organize os workspaces e escopo de acesso aos workspaces. Cada projeto tem um conjunto de permissões separado que você pode usar para conceder às equipes acesso a todos os workspaces no projeto, definindo limites. As permissões em nível de projeto são mais granulares do que as permissões em nível de organização.
Ao decidir como estruturar seus projetos, considere quais grupos de recursos precisam de regras de acesso distintas. Você pode desejar definir projetos por unidades de negócios, departamentos, subsidiárias ou equipes técnicas.
Cada workspace obrigatóriamente pertence a um projeto sendo o projeto Default
já definido por padrão.
Para criar um projeto é necessário sua conta seja membro de uma equipe com permissão de Manage All Projects
.
Boas práticas:
- Evite ter tudo dentro de um único projeto
Default
. Criar novos projetos garantem um escopo fechado para uma determinada equipe melhorando a segurança com permissões específicas para esta equipe. - Um projeto permite que você tenha um conjunto de variáveis que serão herdadas em todos os workspaces do projeto, por exemplo as variáveis de credenciais.
- Além de criar os projetos via interface gráfica, podemos utilizar o próprio Terraform para isso com o provedor TFE. Geralmente os nomes que damos a esse projeto de gerenciamento do HCP Terraform são
landing zone
,groundwork
, etc. - Restring o número de administradores por projeto para manter princípio de segurança do menor privilégio.
- Utilizar credênciais dinâmicas evitando codificação de credenciais estáticas de longa duração.
- Definir tags que serão utilizados em todos os recursos do mesmo projeto.
Workspaces
Como vimos anteriomente, um workspace é um grupo de recursos de infraestrutura gerenciados pelo Terraform. Quando executamos localmente, o Terraform gerencias os recursos de infra estrutura em um diretório local, que contém uma configuração, dados de estados e variáveis.
O HCP Terraform gerencia coleções de infraestrutura com workspaces em vez de diretórios. Um workspace contém tudo o que o Terraform precisa para gerenciar uma determinada coleção de infraestrutura, e workspaces separados funcionam como diretórios de trabalho completamente separados.