AWS API Gateway y Cognito para principiantes

Construye una API de pedidos que acepte solicitudes validadas, admita un cliente de navegador y exija iniciar sesión en la aplicación para acceder a datos privados. Conecta API Gateway, Lambda, DynamoDB y Cognito mediante solicitudes observables y resultados almacenados.

AWS

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

Construye una API de pedidos que acepte solicitudes validadas, admita un cliente de navegador y exija iniciar sesión en la aplicación para acceder a datos privados. Conecta API Gateway, Lambda, DynamoDB y Cognito mediante solicitudes observables y resultados almacenados.

Cinco laboratorios guiados avanzan desde una API HTTP hasta CORS en el navegador, autenticación Cognito y protección de rutas con JWT. El reto independiente repara una API privada que expone un pedido sin alterar su endpoint público de salud.

Qué aprenderás

  • Exponer una función Lambda mediante una API HTTP
  • Validar los datos de entrada de pedidos y calcular resultados respaldados por DynamoDB
  • Configurar el comportamiento CORS de orígenes, métodos y cabeceras del navegador
  • Iniciar sesión con Cognito y renovar las credenciales de la aplicación
  • Proteger rutas privadas con un autorizador JWT
  • Comprobar que las solicitudes rechazadas dejan los datos de negocio sin cambios
  • Reparar el acceso privado sin romper las solicitudes públicas de salud

A quién va dirigido este curso

Este curso está dirigido a estudiantes con fundamentos de Lambda y acceso a datos que quieren construir y proteger una API de aplicación.

Requisitos previos: Empieza con despliegue y configuración de Lambda (FN01/FN02), incluidos roles IAM y CloudWatch Logs. La API de pedidos también requiere acceso Lambda–DynamoDB (FN03). CORS e inicio de sesión pueden seguir a la API de pedidos; la protección JWT requiere inicio de sesión. Completa JWT antes del desafío.

Entorno de aprendizaje: Todas las actividades se realizan en un entorno Linux de LabEx proporcionado y accesible desde el navegador. Usa Terminal para ejecutar comandos de AWS CLI y AWS View, junto a Terminal, para consultar el mismo estado de los recursos y las aplicaciones. Las herramientas y la conexión están preparadas; no necesitas una cuenta personal de AWS ni claves de acceso. Cada laboratorio empieza de forma independiente en una VM nueva. El laboratorio de CORS proporciona una entrada Browser Client en AWS View para solicitudes reales desde el navegador. Las vistas de identidad muestran metadatos seguros sin contraseñas ni tokens de portador.

Preguntas frecuentes

¿CORS es un mecanismo de autenticación?

No. CORS controla el comportamiento de acceso del navegador; no establece la identidad del usuario. El inicio de sesión de la aplicación es independiente de los permisos IAM sobre recursos, y un JWT válido por sí solo no demuestra la propiedad de un pedido.

¿Cómo se prueban las rutas privadas?

Las solicitudes HTTP deben ejecutar la función prevista y leer o escribir elementos almacenados. Un rechazo de autorización debe detenerse antes de Lambda y dejar los datos de negocio sin cambios. Compara las decisiones de la puerta de enlace, los registros de eventos y respuestas de la función y los registros almacenados. Usa solo las identidades ficticias proporcionadas y mantén privados los archivos de autenticación.

¿Qué características de API e inicio de sesión se cubren?

El curso usa API HTTP, la etapa $default AutoDeploy, integración Python con payload 2.0 y un flujo específico de contraseña y renovación Cognito y JWT RS256/JWKS. Los alcances de rutas usan el alcance de autoservicio del usuario de Cognito; los alcances de negocio personalizados, el aislamiento de pedidos por usuario, OAuth/MFA alojado, la rotación de claves de firma en producción y la automatización del despliegue quedan fuera del alcance.

¿Puedo continuar con un proyecto después de este curso?

Sí. Estas capacidades permiten abordar el proyecto de API privada después de sus requisitos de Secrets Manager y Parameter Store. Cada unidad empieza de nuevo; completa las comprobaciones funcionales antes de eliminar recursos que te pertenecen y conserva las referencias ajenas.

Profesor

labby
Labby
Labby is the LabEx teacher.