O nó raiz para gerenciar recursos no Google Cloud é a organização. A organização do Google Cloud fornece uma hierarquia de recursos que fornece uma estrutura de propriedade para recursos e pontos de anexo para políticas da organização e controles de acesso de dois minutos. A hierarquia de recursos consiste em pastas, projetos e recursos, além de definir a forma e o uso dos serviços do Google Cloud em uma organização.
Os recursos que estão mais abaixo na hierarquia herdam as políticas, como as de permissão do IAM e da organização. Todas as permissões de acesso são negadas porpadrão até que você aplique políticas de permissão diretamente a um recurso ou ele herde as políticas de um nível superior na hierarquia de recursos.
O diagrama a seguir mostra as pastas e os projetos implantados pelo blueprint.
As seções a seguir descrevem as pastas e os projetos no diagrama.
Pastas
O blueprint usa pastas para agrupar projetos com base no ambiente. Esse agrupamento lógico é usado para aplicar configurações como políticas de permissão e políticas da organização no nível da pasta e, em seguida, todos os recursos dentro dela herdam as políticas. A tabela a seguir descreve as pastas que fazem parte do blueprint.
Pasta | Descrição |
---|---|
bootstrap |
Contém os projetos usados para implantar componentes básicos. |
common |
Contém projetos com recursos compartilhados por todos os ambientes. |
production |
Contém projetos com recursos de produção. |
nonproduction |
Contém uma cópia do ambiente de produção para permitir que você teste cargas de trabalho antes de promovê-las para produção. |
development |
Contém os recursos da nuvem usados para desenvolvimento. |
networking |
Contém os recursos de rede compartilhados por todos os ambientes. |
Projetos
O blueprint usa projetos para agrupar recursos individuais com base na funcionalidade e nos limites pretendidos de controle de acesso. Na tabela a seguir, descrevemos os projetos incluídos no blueprint.
Pasta | Projeto | Descrição |
---|---|---|
bootstrap |
prj-b-cicd |
Armazena o pipeline de implantação usado para criar os componentes básicos da organização. Para mais informações, consulte a metodologia de implantação. |
prj-b-seed |
Contém o estado do Terraform da sua infraestrutura e a conta de serviço do Terraform necessária para executar o pipeline. Para mais informações, consulte a metodologia de implantação. | |
common |
prj-c-secrets |
Contém secrets no nível da organização. Para mais informações, consulte Armazenar credenciais de aplicativos com o Secret Manager. |
prj-c-logging |
Contém as origens de registros agregadas para registros de auditoria. Para mais informações, consulte geração de registros centralizada para segurança e auditoria. | |
prj-c-scc |
Contém recursos para ajudar a configurar alertas do Security Command Center e outros monitoramentos de segurança personalizados. Para mais informações, consulte Monitoramento de ameaças com o Security Command Center. | |
prj-c-billing-logs |
Contém um conjunto de dados do BigQuery com as exportações de faturamento da organização. Para mais informações, consulte alocar custos entre centros de custo internos. | |
prj-c-infra-pipeline |
Contém um pipeline de infraestrutura para implantar recursos como VMs e bancos de dados a serem usados por cargas de trabalho. Para mais informações, consulte camadas de pipeline. | |
prj-c-kms |
Contém chaves de criptografia no nível da organização. Para mais informações, consulte Gerenciar chaves de criptografia. | |
networking |
prj-net-{env}-shared-base |
Contém o projeto host de uma rede VPC compartilhada para cargas de trabalho que não exigem VPC Service Controls. Para mais informações, consulte a topologia de rede. |
prj-net-{env}-shared-restricted |
Contém o projeto host de uma rede VPC compartilhada para cargas de trabalho que exigem o VPC Service Controls. Para saber mais consulte topologia de rede. | |
prj-net-interconnect |
Contém as conexões do Cloud Interconnect que fornecem conectividade entre o ambiente local e o Google Cloud. Para mais informações, consulte conectividade híbrida. | |
prj-net-dns-hub |
Contém recursos para um ponto central de comunicação entre o sistema DNS local e o Cloud DNS. Para mais informações, consulte configuração de DNS centralizada. | |
pastas do ambiente (production,
non-production e development ) |
prj-{env}-monitoring |
Contém um projeto de escopo para agregar métricas de projetos nesse ambiente. Para mais informações, consulte Como alertar sobre métricas com base em registros e métricas de desempenho |
prj-{env}-secrets |
Contém secrets no nível da pasta. Para mais informações, acesse Armazenar e auditar credenciais de aplicativos com o Secret Manager. | |
prj-{env}-kms |
Contém chaves de criptografia no nível da pasta. Para mais informações, consulte Gerenciar chaves de criptografia. | |
projetos de aplicativos | Contém vários projetos em que você cria recursos para aplicativos. Para mais informações, consulte padrões de implantação de projetos e camadas de pipeline. |
Governança para propriedade de recursos
Recomendamos que você aplique rótulos de maneira consistente aos projetos para ajudar na governança e na alocação de custos. A tabela a seguir descreve os rótulos que são adicionados a cada projeto para governança no blueprint.
Rótulo | Descrição |
---|---|
application |
O nome legível do aplicativo ou da carga de trabalho associado ao projeto. |
businesscode |
Um código curto que descreve qual unidadede negócios é proprietária do projeto. O
código shared é usado para projetos que não estão explicitamente vinculados a
uma unidade de negócios. |
billingcode |
É um código usado para fornecer informações de estorno. |
primarycontact |
O nome de usuário do contato principal responsável pelo projeto. Como os rótulos do projeto não podem incluir caracteres especiais, como o "e" comercial (@), ele é definido como o nome de usuário sem o sufixo @example.com. |
secondarycontact |
O nome de usuário do contato secundário responsável pelo projeto. Como os rótulos do projeto não podem incluir caracteres especiais como @, defina apenas o nome de usuário sem o sufixo @example.com. |
environment |
Um valor que identifica o tipo de ambiente, como
bootstrap , common , production ,
non-production,development , ou network. |
envcode |
Um valor que identifica o tipo de ambiente, abreviado para
b , c , p , n ,
d ou net . |
vpc |
O ID da rede VPC que este projeto vai usar. |
Ocasionalmente, o Google pode enviar notificações importantes, como suspensões de conta ou atualizações nos termos dos produtos. O blueprint usa contatos essenciais para enviar essas notificações aos grupos configurados durante a implantação. Os Contatos essenciais são configurados no nó da organização e herdados por todos os projetos na organização. Recomendamos que você analise esses grupos e verifique se os e-mails são monitorados de maneira confiável.
Os contatos essenciais são usados para uma finalidade diferente
dos campos primarycontact
e secondarycontact
, que estão configurados nos rótulos
do projeto. Os contatos nos rótulos do projeto são destinados à governança interna. Por
exemplo, se você identificar recursos que não estão em conformidade em um projeto de carga de trabalho e precisar
entrar em contato com os proprietários, use o campo primarycontact
para encontrar a
pessoa ou a equipe responsável por essa carga de trabalho.
A seguir
- Leia sobre networking (próximo documento desta série).