Melhores práticas de segurança
Tópicos
O CodePipeline oferece uma série de atributos de segurança a serem considerados no desenvolvimento e na implementação das suas próprias políticas de segurança. As melhores práticas a seguir são diretrizes gerais e não representam uma solução completa de segurança. Como essas melhores práticas podem não ser adequadas ou suficientes para o seu ambiente, trate-as como considerações úteis em vez de prescrições.
Você usa criptografia e autenticação para os repositórios de origem que se conectam a seus pipelines. Estas são as práticas recomendadas do CodePipeline para segurança:
-
Se você criar uma configuração de pipeline ou ação que precise incluir segredos, como tokens ou senhas, não insira segredos diretamente na configuração da ação ou nos valores padrão das variáveis definidas no nível do pipeline ou na configuração do AWS CloudFormation, pois as informações serão exibidas nos logs. Use o Secrets Manager para configurar e armazenar segredos e, em seguida, use o segredo referenciado na configuração do pipeline e da ação, conforme descrito em Usar o AWS Secrets Manager para monitorar senhas de banco de dados ou chaves de API de terceiros.
-
Se você criar um pipeline que use um bucket de origem do S3, configure a criptografia no lado do servidor para artefatos armazenados no Amazon S3 para CodePipeline gerenciando as AWS KMS keys, conforme descrito em Configurar a criptografia do lado do servidor para artefatos armazenados no Amazon S3 para CodePipeline.
-
Se estiver usando um provedor de ação do Jenkins, ao usar um provedor de compilação do Jenkins para a ação de teste ou compilação do pipeline, instale o Jenkins em uma instância do EC2 e configure um perfil de instância do EC2 separado. Certifique-se de que o perfil de instância concede ao Jenkins somente as permissões AWS necessárias à execução das tarefas do seu projeto, como recuperar arquivos do Amazon S3. Para saber como criar a função para o seu perfil de instância do Jenkins, consulte as etapas em Criar um perfil do IAM a ser usado na integração do Jenkins.