Juan David Cajamarca Acuña
Alexis Dorado Muñoz
DAVID EDUARDO BAEZ SANCHEZ
Juan
Eddy Arellanes
Martín Alexis Samán Arata
Airy Nieves
Daniel Eduardo Rojas Pulido
José Antonio De La Paz Fonseca
Alexis Dorado Muñoz
Irving Juárez
MARIA TERESA PANIAGUA RIVERA
Victor Hugo Vázquez Gómez
¿Cuál es la mejor manera para manejar usuarios, contraseñas y tokens tanto en entornos de Staging como en entornos de Producción? Con respecto a la autenticación de nuestros usuarios, hay muchas formas de llevarlo a cabo, y generalmente lo que se hace es almacenar esta información en un sistema externo para que nuestra aplicación sea stateless, y dicho sistema externo debe ser muy rápido ya que deseamos obtener esa información casi de manera instantánea. Casi siempre se usan servicios como Redis para poder acceder a esos datos rápidamente. En cuanto a los secretos de nuestra aplicación (usuario y contraseña de la conexión a la base de datos, por ejemplo), ya es responsabilidad del equipo de infraestructura brindarle a los desarrolladores un Backend o alguna forma de acceder a dichos secretos de una manera segura. Por lo general se crea un archivo o variables de entorno en donde se almacenan los valores y lo que debe hacer la aplicación es acceder a ese archivos o utilizar esas variables de entorno para funcionar de la manera esperada. El equipo de desarrollo debe ser muy cuidadoso con el uso de los secretos, puesto que no se desea bajo ninguna circunstancia que los valores de estos secretos queden registrados en logs o en archivos que puedan ser accedidos fácilmente.
¡Gracias por tu aporte! 👏 Has planteado un tema fundamental para la seguridad de las aplicaciones. Me gusta especialmente la atención que pones en la responsabilidad del equipo de desarrollo en el manejo de secretos. ¡Es crucial para evitar vulnerabilidades! 💪
Usuarios - Contraseñas - Tokens
Usar los baúles en cada proveedor de nube, nos ayuda a tener centralizados estos certificados y secretos.
Ejemplo de donde guardar tokens, credenciales de apis, etc: https://aws.amazon.com/es/secrets-manager/
No lo hagan como Uber lol
Jerarquía / flujo de uso en la vida real
El manejo de usuarios es algo muy importante
Recuerdo que cuando empecé a darle a los videitos de youtube creando cositas con node y mysql se usaba un archuvo .env para guardar las variables de entorno que contenían las credenciales para la base de datos, ahora sé los fundamentos gracias al curso.
Manejo de secretos en entornos de Staging y Producción:
La gestión de usuarios, contraseñas y tokens es crucial para la seguridad de nuestras aplicaciones. 🔐 Aquí algunas ideas para abordar este desafío:
1. Almacenamiento externo para la autenticación:
2. Gestión de secretos de la aplicación:
3. Precaución con los secretos:
Recomendaciones adicionales:
Los proovedores cloud nos ofrecen herramientas built-in para poder gestionar la governanza de nuestros recursos, ademas de herramientras para guardar secretos o incluso archivos de configuración completos que no esten expuestos
Gracias
GitHub tambien tiene su manera de guardar valores secretos a la hora de correr pruebas en GH Actions. https://github.blog/2011-10-21-github-secrets/