← CI/CD: construir, validar e entregar
05 / 12 · 40 MIN

Identidade e confiança

Delimita código executado, permissões e credenciais em cada etapa.

Conceito e mecanismo

Uma pipeline executa código e pode ter acesso a sistemas sensíveis. Trata contribuições externas, títulos de pull requests e artefactos recebidos como entradas não confiáveis até avaliação adequada. Não coloques código de uma contribuição desconhecida num job privilegiado apenas para tornar os testes mais convenientes. Em GitHub, pull_request_target e workflow_run exigem atenção especial quando combinados com checkout de código não confiável. Mantém permissões mínimas por job e revê ações de terceiros. Fixar uma ação a um commit completo estabiliza a revisão usada, mas não demonstra que essa revisão é segura. Uma cache também pode transportar conteúdo não confiável e nunca deve conter secrets.

Aplicação guiada

Num exercício fictício, um teste de pull request não precisa da credencial que permite implementar em produção. Separa execução e promoção e disponibiliza acesso apenas ao contexto autorizado. Masking reduz exposição acidental nos logs, mas não impede um job malicioso de usar uma credencial. Runners próprios precisam de isolamento, limpeza e limites de rede adequados; uma aprovação de environment não transforma a máquina num ambiente isolado. OIDC permite obter credenciais cloud temporárias depois de validar a identidade do workflow e as condições de confiança. Se falhar, compara issuer, audience, subject e contexto autorizado, sem ampliar a confiança para qualquer repositório. Os formatos e capacidades variam: confirma a documentação e configuração atuais em vez de copiar um subject antigo como regra universal.

NA PRÁTICA

Credenciais mascaradas continuam utilizáveis pelo código que as recebe.

Armadilhas comuns

Masking como autorização; SHA como código seguro; runner privado como isolamento; wildcard para corrigir OIDC.

Tópicos relacionados: Integração e entrega · Jobs e dependências · Artefactos e evidência

Leva esta ideia contigo

Concede acesso pelo contexto de confiança e verifica identidade antes de promover.

Criar conta

Referência: Untrusted workflow inputs least privilege and runner isolation · CI/CD practices 2026-09; scoped GitHub Actions GitLab Jenkins and Azure DevOps Services documentation