AWSCodeBuildAdminAccess + AWSCodeDeployFullAccess
Construir o artefato e implantá-lo — sem ninguém entre o build e a produção.
Por que isso é um conflito
AWSCodeBuildAdminAccess permite criar e alterar projetos de build — inclusive o buildspec, que é o script executado com a service role do projeto. AWSCodeDeployFullAccess permite criar deployments e alterar grupos de implantação. Quem controla o que é construído e onde é implantado fecha o ciclo de entrega numa única pessoa, e o buildspec é um vetor de execução arbitrária com o privilégio da service role.
Risco
Artefato alterado no build e implantado em produção sem que a mudança apareça no repositório de código — a revisão de código não vê o buildspec, e a revisão de implantação não vê o conteúdo do artefato.
Como mitigar
- Versionar o buildspec no repositório e negar sua definição inline no projeto de build.
- Restringir a service role do CodeBuild ao mínimo, sem permissão de implantação.
- Segregar a administração de build da administração de implantação.
- Exigir aprovação para deployment em grupo de produção e registrar quem aprovou.
Frameworks aplicáveis