Esse princípio no pilar de segurança do Google Cloud Well-Architected Framework ajuda a identificar controles práticos que podem ser implementados no início do ciclo de vida de desenvolvimento de software para melhorar sua postura de segurança. Ele fornece recomendações que ajudam a implementar proteções de segurança preventivas e controles de segurança pós-implantação.
Visão geral do princípio
Segurança shift-left significa adotar práticas de segurança no início do ciclo de vida de desenvolvimento de software. Esse princípio tem os seguintes objetivos:
- Evite falhas de segurança antes que as mudanças no sistema sejam feitas. Implemente proteções de segurança preventivas e adote práticas como infraestrutura como código (IaC), política como código e verificações de segurança no pipeline de CI/CD. Também é possível usar outros recursos específicos da plataforma, como o Serviço de Política da Organização e clusters do GKE reforçados no Google Cloud.
- Detecte e corrija bugs de segurança de forma rápida e confiável após qualquer alteração no sistema. Adote práticas como revisões de código, verificação de vulnerabilidades pós-implantação e testes de segurança.
Os princípios de implementação de segurança incorporada ao design e de segurança de deslocamento à esquerda estão relacionados, mas diferem no escopo. O princípio de segurança por design ajuda a evitar falhas fundamentais de design que exigiriam a reestruturação de todo o sistema. Por exemplo, um exercício de modelagem de ameaças revela que o design atual não inclui uma política de autorização e que todos os usuários teriam o mesmo nível de acesso sem ela. A segurança shift-left ajuda a evitar defeitos de implementação (bugs e configurações incorretas) antes que as alterações sejam aplicadas e permite correções rápidas e confiáveis após a implantação.
Recomendações
Para implementar o princípio de segurança shift-left nas cargas de trabalho em nuvem, considere as recomendações nas seções a seguir:
- Adotar controles de segurança preventivos
- Automatizar o provisionamento e o gerenciamento de recursos de nuvem
- Automatizar versões seguras de aplicativos
- Verifique se as implantações do aplicativo seguem os processos aprovados
- Verificar vulnerabilidades conhecidas antes da implantação do aplicativo
- Monitore o código do aplicativo para buscar vulnerabilidades conhecidas
Adotar controles de segurança preventivos
Esta recomendação é relevante para as seguintes áreas de foco:
- Gerenciamento de identidade e acesso
- Governança, risco e compliance na nuvem
Os controles de segurança preventivos são cruciais para manter uma postura de segurança forte na nuvem. Esses controles ajudam a mitigar riscos de forma proativa. É possível evitar configurações incorretas e acesso não autorizado a recursos, permitir que os desenvolvedores trabalhem com eficiência e ajudar a garantir a conformidade com os padrões do setor e as políticas internas.
Os controles de segurança preventivos são mais eficazes quando implementados usando a infraestrutura como código (IaC). Com a IaC, os controles de segurança preventivos podem incluir verificações mais personalizadas no código da infraestrutura antes que as mudanças sejam implantadas. Quando combinados com a automação, os controles de segurança preventivos podem ser executados como parte das verificações automáticas do pipeline de CI/CD.
Os produtos e recursos do Google Cloud a seguir podem ajudar você a implementar controles preventivos no seu ambiente:
- Restrições da política da organização: configure restrições predefinidas e personalizadas com controle centralizado.
- VPC Service Controls: crie perímetros em torno dos serviços do Google Cloud .
- Identity and Access Management (IAM), Privileged Access Manager e políticas de limite de acesso principal: restringem o acesso aos recursos.
- Controlador de Políticas e Open Policy Agent (OPA): aplicam restrições de IaC no pipeline de CI/CD e evitam configurações incorretas na nuvem.
O IAM permite autorizar quem pode agir em recursos específicos com base nas permissões. Para mais informações, consulte Controle de acesso para recursos da organização com o IAM.
A política da organização permite definir restrições nos recursos para especificar como eles podem ser configurados. Por exemplo, é possível usar uma política da organização para fazer o seguinte:
- Limite o compartilhamento de recursos com base no domínio;
- Limitar o uso de contas de serviço.
- Restrinja a localização física dos recursos recém-criados.
Além de usar as políticas da organização, é possível restringir o acesso a recursos usando os seguintes métodos:
- Tags com o IAM: atribua uma tag a um conjunto de recursos e defina a definição de acesso para a tag em si, em vez de definir as permissões de acesso em cada recurso.
- Condições do IAM: definem o controle de acesso condicional baseado em atributos para recursos.
- Defesa em profundidade: use o VPC Service Controls para restringir ainda mais o acesso aos recursos.
Para mais informações sobre o gerenciamento de recursos, consulte Decidir uma hierarquia de recursos para sua zona de destino do Google Cloud .
Automatizar o provisionamento e o gerenciamento de recursos de nuvem
Esta recomendação é relevante para as seguintes áreas de foco:
- Segurança para aplicativos
- Governança, risco e compliance na nuvem
A automação do provisionamento e do gerenciamento de recursos e cargas de trabalho na nuvem é mais eficaz quando você também adota a IaC declarativa, em vez de scripts imperativos. A IaC não é uma ferramenta ou prática de segurança por si só, mas ajuda a melhorar a segurança da sua plataforma. A adoção da IaC permite criar uma infraestrutura repetível e fornece à equipe de operações um estado bom conhecido. A IaC também melhora a eficiência de reversões, alterações de auditoria e solução de problemas.
Quando combinada com pipelines de CI/CD e automação, a IaC também permite adotar práticas como política como código com ferramentas como o OPA. É possível auditar as mudanças na infraestrutura ao longo do tempo e executar verificações automáticas no código da infraestrutura antes que as mudanças sejam implantadas.
Para automatizar a implantação da infraestrutura, use ferramentas como Config Controller, Terraform, Jenkins e Cloud Build. Para ajudar você a criar um ambiente de aplicativo seguro usando IaC e automação, oGoogle Cloud fornece o blueprint de bases empresariais. Este blueprint é o design opinativo do Google que segue todas as nossas práticas e configurações recomendadas. O blueprint fornece instruções detalhadas para configurar e implantar sua topologia do Google Cloud usando o Terraform e o Cloud Build.
É possível modificar os scripts do blueprint de bases empresariais para configurar um ambiente que siga as recomendações do Google e atenda aos seus próprios requisitos de segurança. Você pode criar nesse blueprint com outros modelos ou projetar sua própria automação. O Google Cloud Centro de arquitetura oferece outros blueprints que podem ser implementados com base no blueprint de bases empresariais. Veja a seguir alguns exemplos desses blueprints:
- Implantar uma plataforma empresarial para desenvolvedores no Google Cloud
- Implantar uma arquitetura sem servidor segura usando o Cloud Run
- Criar e implantar modelos de IA generativa e de machine learning em uma empresa
- Importar dados do Google Cloud para um data warehouse seguro do BigQuery
Automatizar versões seguras de aplicativos
Esta recomendação é relevante para a seguinte área de foco: Segurança para aplicativos.
Sem ferramentas automatizadas, pode ser difícil implantar, atualizar e corrigir ambientes de aplicativos complexos para atender a requisitos de segurança consistentes. Recomendamos que você crie pipelines de CI/CD automatizados para o ciclo de vida de desenvolvimento de software (SDLC, na sigla em inglês). Os pipelines de CI/CD automatizados ajudam a remover erros manuais, fornecem loops de feedback de desenvolvimento padronizados e permitem iterações de produtos eficientes. A entrega contínua é uma das práticas recomendadas pelo framework do DORA.
Automatizar as versões de aplicativos usando pipelines de CI/CD ajuda a melhorar sua capacidade de detectar e corrigir bugs de segurança de maneira rápida, confiável e antecipada. Por exemplo, é possível verificar automaticamente se há vulnerabilidades de segurança quando os artefatos são criados, restringir o escopo das análises de segurança e reverter para uma versão conhecida e segura. Também é possível definir políticas para diferentes ambientes (como ambientes de desenvolvimento, teste ou produção) para que apenas artefatos verificados sejam implantados.
Para ajudar você a automatizar as versões de aplicativos e incorporar verificações de segurança no seu pipeline de CI/CD, o Google Cloud fornece várias ferramentas, incluindo Cloud Build, Cloud Deploy, Web Security Scanner e Autorização binária.
Para estabelecer um processo que verifique vários requisitos de segurança no SDLC, use o framework Níveis da cadeia de suprimentos para artefatos de software (SLSA, na sigla em inglês), definido pelo Google. O SLSA exige verificações de segurança para o código-fonte, o processo de build e a procedência do código. Muitos desses requisitos podem ser incluídos em um pipeline de CI/CD automatizado. Para entender como o Google aplica essas práticas internamente, consulte Abordagem doGoogle Cloudem relação à mudança.
Verifique se as implantações do aplicativo seguem os processos aprovados
Esta recomendação é relevante para a seguinte área de foco: Segurança para aplicativos.
Se um invasor comprometer seu pipeline de CI/CD, toda a pilha de aplicativos poderá ser afetada. Para proteger o pipeline, aplique um processo de aprovação estabelecido antes de implantar o código na produção.
Se você usa o Google Kubernetes Engine (GKE) ou o Cloud Run, é possível estabelecer um processo de aprovação usando a autorização binária. A autorização binária anexa assinaturas configuráveis a imagens de contêiner. Essas assinaturas (também chamadas de atestados) ajudam a validar a imagem. No momento da implantação, a autorização binária usa esses atestados para determinar se um processo foi concluído. Por exemplo, é possível usar a autorização binária para fazer o seguinte:
- Verificar se um sistema de build específico ou um pipeline de CI criou uma imagem de contêiner.
- Confira se uma imagem de contêiner está em conformidade com uma política de assinatura de vulnerabilidades.
- Verificar se uma imagem de contêiner atende aos critérios de promoção para o próximo ambiente de implantação, como de desenvolvimento para controle de qualidade.
Ao usar a autorização binária, é possível garantir que apenas códigos confiáveis sejam executados nas plataformas de destino.
Verificar se há vulnerabilidades conhecidas antes da implantação do aplicativo
Esta recomendação é relevante para a seguinte área de foco: Segurança para aplicativos.
Recomendamos o uso de ferramentas automatizadas que possam realizar continuamente verificações de vulnerabilidade em artefatos de aplicativos antes que eles sejam implantados na produção.
Para aplicativos conteinerizados, use o Artifact Analysis para executar automaticamente verificações de vulnerabilidades em imagens de contêiner. O Artifact Analysis verifica as novas imagens quando elas são enviadas para o Artifact Registry. A verificação extrai informações sobre os pacotes do sistema no contêiner. Após a verificação inicial, o Artifact Analysis monitora continuamente os metadados de imagens verificadas no Artifact Registry em busca de novas vulnerabilidades. Quando o Artifact Analysis recebe informações de vulnerabilidade novas e atualizadas de origens de vulnerabilidade, ele faz o seguinte:
- Atualiza os metadados das imagens digitalizadas para mantê-las atualizadas.
- Cria novas ocorrências de vulnerabilidade para novas notas.
- Exclui ocorrências de vulnerabilidade que não são mais válidas.
Monitore o código do aplicativo para buscar vulnerabilidades conhecidas
Esta recomendação é relevante para a seguinte área de foco: Segurança para aplicativos.
Use ferramentas automatizadas para monitorar constantemente o código do aplicativo em busca de vulnerabilidades conhecidas, como as 10 principais do OWASP. Para mais informações sobre os produtos e recursos do Google Cloud que oferecem suporte às técnicas de mitigação do OWASP Top 10, consulte Mitigar o OWASP Top 10:2025 no Google Cloud.
Use o Web Security Scanner para identificar vulnerabilidades de segurança nos aplicativos da Web do App Engine, do Compute Engine e do GKE. O scanner rastreia o aplicativo, segue todos os links no escopo dos URLs iniciais e tenta acessar o máximo possível de entradas do usuário e manipuladores de eventos. Ele verifica e detecta automaticamente vulnerabilidades comuns, incluindo scripting em vários sites, injeção de código, conteúdo misto e bibliotecas desatualizadas ou não seguras. O Web Security Scanner identifica essas vulnerabilidades com antecedência, sem distrair você com falsos positivos.
Além disso, se você usa o GKE para gerenciar frotas de clusters do Kubernetes, o painel de postura de segurança mostra recomendações opinativas e acionáveis para ajudar a melhorar a postura de segurança da sua frota.