Configurare autenticazione e accesso alle API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Importanza della sicurezza API

Sicurezza HTTP

  • Gli endpoint API sono spesso pubblici
  • I dati dietro le API vanno protetti
  • Soprattutto se sensibili
Azure API Management

Panoramica sull'autenticazione

  • Autenticazione e autorizzazione non sono la stessa cosa
  • L'autenticazione prova l'identità del chiamante
  • Accedere con username e password è un tipo di autenticazione

Modulo di accesso

Azure API Management

Panoramica sull'autorizzazione

Richieste non sicure vs sicure

  • L'autorizzazione controlla i permessi
  • Un utente autenticato può comunque non essere autorizzato
  • Esempio: solo gli admin accedono all'area admin
Azure API Management

Esempio di app meteo

Autorizzazione app meteo

Azure API Management

Introduzione a OAuth

  • OAuth si usa per l'autenticazione
  • Anche per l'autorizzazione
  • Protocollo di sicurezza complesso
  • Con livello di sicurezza molto alto

Emissione del token di accesso

Azure API Management

Esempio Google OAuth

Esempio di Google OAuth

Azure API Management

Autorizzazione con API key in Azure Functions

  • L'autenticazione non è sempre richiesta per l'autorizzazione
  • Gli endpoint HTTP possono essere protetti con API key
  • Lunga stringa di caratteri
  • In Azure Functions viene generata una chiave predefinita
  • La chiave va inclusa nella richiesta
  • Il client deve conoscere la chiave
  • Il client non deve provare la propria identità

Configurare una API key in Azure

Azure API Management

Scope delle API key

Scope delle API key in un'Azure Function

  • Scope diversi per tipi di chiavi diversi
  • Chiave a livello funzione: accesso a funzioni specifiche
    • Come una chiave che apre una porta specifica
  • Chiave a livello host
    • Accesso a tutte le funzioni dell'app
    • come una chiave maestra per tutto l'edificio
Azure API Management

Autenticazione in API Management

  • APIM può collegarsi a un provider di autenticazione
  • Uno è Entra ID
    • In precedenza noto come Active Directory
  • L'integrazione con OAuth è più sicura delle API key
    • Ma molto più complessa

Abilitare l'integrazione Entra ID in APIM

Azure API Management

Policy di autorizzazione in API Management

 

Convalida JWT in APIM

L'autorizzazione è implementata tramite policy in API Management

  • Le policy definiscono le regole di accesso

  • Limitano gli endpoint in base ai ruoli

  • Assicurano che solo client autorizzati chiamino le API

Azure API Management

Passons à la pratique !

Azure API Management

Preparing Video For Download...