Todo mundo está dizendo que armazenar credenciais no controle de versão (git) é uma coisa ruim. Portanto, deve haver outras maneiras de armazenar credenciais muito melhores.
Um aplicativo deve receber credenciais de algum lugar para usar os serviços dos quais depende. Essas credenciais são geralmente armazenadas em arquivos de configuração. A entrada manual de cada servidor para criar esse arquivo está fora de questão, pois os servidores entram e saem sem intervenção humana.
Como gerenciar as credenciais de um aplicativo?
deployment
security
Evgeny
fonte
fonte
Respostas:
O gerenciamento adequado dos segredos de um aplicativo sempre foi um desafio. Novos desafios surgiram com a adoção da nuvem. Há uma ótima apresentação da OWASP sobre a realidade e os desafios de armazenar segredos na nuvem.
Você pode se surpreender ao saber que armazenar segredos no código-fonte é uma das soluções (ou "arquitetura") apresentada. Isso porque, no momento, não há arquitetura perfeita ou maneira de fazer isso. No final, seus segredos podem ser criptografados ... mas o que está protegendo a chave de criptografia? "Tartarugas até o fim", disseram.
Todo tipo de gerenciamento secreto tem seus pontos fortes e fracos, e a apresentação já cobre isso. Em vez disso, tentarei analisar alguns dos recursos que você pode estar procurando em uma solução de gerenciamento secreto (credencial):
Observando esses itens, como eles são importantes para você e como são implementados pela solução, você poderá escolher um dos serviços de gerenciamento secreto disponíveis .
fonte
Para um ambiente puramente baseado em EC2, a solução mais fácil é usar as funções do AWS IAM e as políticas de bucket do S3. Algumas formulações desse padrão também incluem o KMS para criptografia e o DynamoDB em vez do S3 para armazenamento, mas também não achei uma razão extremamente atraente para usá-lo. Confira https://github.com/poise/citadel , especificamente voltado para usuários do Chef, mas o padrão subjacente funciona para qualquer coisa, você pode precisar criar seu próprio auxiliar para fazer o download real do S3.
fonte