Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Autorizadores y autenticación de API

5 tareas · 40 min · Principiante

La puerta de enlace de API es lo primero que ve el mundo de un servicio sin servidor: si ahí no se comprueba quién llama, la función se defiende sola. En Reparto Mirlo la API api-mirlo mezcla rutas privadas, una pública y una interna. Lees cómo está configurado el autorizador, qué rutas lo usan y qué decidió a lo largo de un día.

0 de 5 · 0%

Objetivo de la sala

La puerta de enlace de API es lo primero que ve el mundo de un servicio sin servidor: si ahí no se comprueba quién llama, la función se defiende sola. En Reparto Mirlo la API api-mirlo mezcla rutas privadas, una pública y una interna. Lees cómo está configurado el autorizador, qué rutas lo usan y qué decidió a lo largo de un día.

Una puerta de enlace de API como la de AWS ofrece varias formas de controlar el acceso: roles de IAM para llamadas de otros servicios o de cuentas propias, autorizadores de Lambda que ejecutan tu lógica sobre la petición y autorizadores respaldados por un servicio de identidad como Amazon Cognito. En Azure API Management la política validate-jwt cumple un papel parecido. Cuando los usuarios traen tokens de un proveedor de identidad externo, lo que se necesita es validar esos tokens contra el emisor y la audiencia esperados.

Responde para continuar

Una API recibe tokens emitidos por un proveedor de identidad externo. ¿Qué mecanismo de la puerta de enlace permite validarlos?

Ver pista de ayuda

Necesitas algo que mire el token, no algo que cuente peticiones.

Un token de otra aplicación puede traer una firma perfectamente válida y aun así no estar dirigido a esta API. La comprobación que lo separa es la audiencia (aud). Mira token-ejemplo-decodificado.json para ver qué reclamaciones trae un token de api-mirlo y autorizador-aut-clientes.json para ver qué espera el autorizador.

Responde para continuar

Llega un token con firma válida pero emitido para otra API. ¿Qué comprobación debe rechazarlo?

Ver pista de ayuda

La firma dice quién lo emitió; ¿qué campo dice para quién?

Abre rutas-api-mirlo.txt. Una ruta sin autorizador no es un fallo por sí misma: una consulta pública por código de seguimiento puede serlo a propósito, y la documentación lo dice. El hallazgo es la ruta que no está documentada como pública y aun así no exige autenticación, sobre todo si mueve dinero o datos.

Responde para continuar

¿Qué ruta, que la documentación no declara pública, no tiene autorizador? Escribe la ruta tal cual.

Ver pista de ayuda

Compara la columna de autorización con la nota de la documentación.

Un autorizador de Lambda puede guardar su decisión en caché durante un tiempo (resultTtlInSeconds) para no ejecutarse en cada petición. Es una ganancia de rendimiento con un costo: mientras la decisión siga en caché, un token que ya se revocó o un usuario ya deshabilitado puede seguir pasando.

Responde para continuar

¿Cuántos minutos, como máximo, puede seguir aceptándose una decisión de aut-clientes por su caché? Escribe solo el número.

Ver pista de ayuda

Lee el tiempo de vida del resultado en segundos y pásalo a minutos.

Los registros del autorizador cuentan la historia de un día: quién pidió qué y por qué se negó. Un rechazo por alcance (scope) indica que el token era válido pero no tenía el permiso que la ruta exige. Abre decisiones-aut-clientes.log.

Responde para continuar

¿Qué alcance exigía POST /pedidos y le faltaba a la primera petición denegada? Escríbelo tal cual.

Ver pista de ayuda

El motivo del rechazo trae entre paréntesis el alcance requerido por la ruta.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad