Contenido del curso
Escalabilidad
Herramientas
Seguridad
Protocolos
Negocios y casos de uso
Conclusiones
Manejar usuarios en entornos de staging y production
Contenido del curso
Manejar usuarios en entornos de staging y production
Juan David Cajamarca Acuña
studentAlexis Dorado Muñoz
studentDAVID EDUARDO BAEZ SANCHEZ
studentJuan
studentEddy Arellanes
studentMartín Alexis Samán Arata
studentjefred bedoya
studentAiry Nieves
studentDaniel Eduardo Rojas Pulido
studentJosé Antonio De La Paz Fonseca
studentAlexis Dorado Muñoz
studentIrving Juárez
studentMARIA TERESA PANIAGUA RIVERA
studentVictor Hugo Vázquez Gómez
student¿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
La gestión de usuarios entre entornos exige aislamiento total. Nunca permitas que las credenciales de staging tengan acceso a la infraestructura de production.
Pilares de Seguridad
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/