Todos dicen que almacenar credenciales en el control de versiones (git) es algo malo. Por lo tanto, debe haber otras formas de almacenar credenciales que son mucho mejores.
Una aplicación debe recibir credenciales de algún lugar para usar los servicios de los que depende. Estas credenciales generalmente se almacenan en archivos de configuración. Ingresar manualmente cada servidor para crear ese archivo está fuera de discusión, ya que los servidores van y vienen sin intervención humana.
¿Cómo administrar las credenciales de una aplicación?
deployment
security
Evgeny
fuente
fuente
Respuestas:
La gestión adecuada de los secretos de una aplicación siempre ha sido un desafío. Nuevos desafíos llegaron con la adopción de la nube. Hay una gran presentación de OWASP sobre la realidad y los desafíos de almacenar secretos en la nube.
Es posible que se sorprenda al saber que almacenar secretos en el código fuente es una de las soluciones (o "arquitectura") presentadas. Eso es porque, en este momento, no hay una arquitectura perfecta o una forma de hacerlo. Al final, sus secretos podrían estar encriptados ... pero ¿qué es lo que guarda la clave de encriptación? "Tortugas hasta el fondo", dijeron.
Cada tipo de gestión secreta tiene sus fortalezas y debilidades y la presentación ya cubre eso. En cambio, trataré de repasar algunas de las características que podría estar buscando en una solución de administración secreta (credencial):
Al observar estos elementos, cómo son importantes para usted y cómo son implementados por la solución, podrá elegir uno de los servicios de administración secreta que existen .
fuente
Para un entorno puramente basado en EC2, la solución más fácil es usar roles de AWS IAM y políticas de bucket de S3. Algunas formulaciones de este patrón también incluyen KMS para cifrado y DynamoDB en lugar de S3 para almacenamiento, pero tampoco he encontrado una razón muy convincente para usar. Visite https://github.com/poise/citadel , está dirigido específicamente a los usuarios de Chef, pero el patrón subyacente funciona para cualquier cosa, es posible que deba crear su propio ayudante para realizar la descarga real desde S3.
fuente