AWSCodePipeline_FullAccess + AWSLambda_FullAccess
Definir a esteira de entrega e também publicar código direto em produção, contornando-a.
Por que isso é um conflito
A esteira existe para que código só chegue a produção depois de teste, aprovação e registro. AWSCodePipeline_FullAccess permite criar e alterar pipelines, inclusive remover estágios de aprovação manual. AWSLambda_FullAccess permite publicar o código da função diretamente, sem pipeline nenhum. Com as duas, a esteira deixa de ser um controle e vira uma convenção: quem não quiser passar por ela, não passa.
Risco
Código não revisado em produção, ou alteração do pipeline para remover a aprovação — nos dois casos o artefato em execução deixa de corresponder ao que foi aprovado.
Como mitigar
- Negar lambda:UpdateFunctionCode em produção para qualquer principal que não seja a role da esteira.
- Segregar quem administra o pipeline de quem desenvolve a função.
- Exigir aprovação manual no pipeline de produção e alertar sobre alteração da definição do pipeline.
- Comparar periodicamente o hash do código publicado com o artefato do último build aprovado.
Frameworks aplicáveis
Referências