Configurar la autenticación y el acceso de la API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Importancia de la seguridad en APIs

Seguridad HTTP

  • Los endpoints de API suelen ser públicos
  • Los datos tras las APIs deben protegerse
  • Especialmente si son datos sensibles
Azure API Management

Resumen de autenticación

  • Autenticación y autorización no son lo mismo
  • La autenticación prueba la identidad de quien llama
  • Iniciar sesión con usuario y contraseña es un tipo de autenticación

Formulario de acceso

Azure API Management

Resumen de autorización

Peticiones no seguras vs seguras

  • La autorización controla permisos
  • Un usuario autenticado puede no estar autorizado
  • Ejemplo: solo admins acceden al área de administración
Azure API Management

Ejemplo de app del tiempo

Autorización en app del tiempo

Azure API Management

Introducción a OAuth

  • OAuth se usa para autenticación
  • También para autorización
  • Protocolo de seguridad complejo
  • Con una calificación de seguridad muy alta

Emisión de token de acceso

Azure API Management

Ejemplo de OAuth de Google

Ejemplo de OAuth de Google

Azure API Management

Autorización con clave de API en Azure Functions

  • No siempre hace falta autenticación para autorizar
  • Endpoints HTTP pueden asegurarse con claves de API
  • Cadena larga de caracteres
  • En Azure Functions se genera una clave por defecto
  • La clave debe incluirse en la petición
  • El cliente debe conocer la clave
  • El cliente no necesita probar su identidad

Configurar una clave de API en Azure

Azure API Management

Ámbitos de las claves de API

Ámbitos de clave de API en una Azure Function

  • Distintos ámbitos para distintos tipos de claves
  • Clave a nivel de función da acceso a funciones específicas
    • Como una llave física que abre una puerta concreta
  • Clave a nivel de host
    • Da acceso a todas las funciones de una app
    • como una llave maestra que abre cualquier puerta del edificio
Azure API Management

Autenticación en API Management

  • APIM puede conectarse a un proveedor de autenticación
  • Uno es Entra ID
    • Antes conocido como Active Directory
  • Integrarse con OAuth es más seguro que usar claves de API
    • Mucho más complejo

Activar la integración con Entra ID en APIM

Azure API Management

Directivas de autorización en API Management

 

Validar JWT en APIM

La autorización se implementa con directivas en API Management

  • Las directivas definen reglas de acceso

  • Restringen endpoints según roles

  • Garantizan que solo clientes autorizados invoquen APIs

Azure API Management

¡Vamos a practicar!

Azure API Management

Preparing Video For Download...