API-authenticatie en -toegang configureren

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Belang van API-beveiliging

HTTP-beveiliging

  • API-eindpunten zijn vaak openbaar
  • Data achter de APIs moet worden beschermd
  • Zeker bij gevoelige data
Azure API Management

Overzicht van authenticatie

  • Authenticatie en autorisatie zijn niet hetzelfde
  • Authenticatie bewijst de identiteit van de aanroeper
  • Inloggen met gebruikersnaam en wachtwoord is een vorm van authenticatie

Aanmeldformulier

Azure API Management

Overzicht van autorisatie

Onveilige vs. veilige requests

  • Autorisatie beheert rechten
  • Een geauthenticeerde gebruiker kan toch ongeautoriseerd zijn
  • Voorbeeld: alleen admins mogen het admin-gedeelte in
Azure API Management

Voorbeeld: weerapp

Autorisatie weerapp

Azure API Management

Introductie tot OAuth

  • OAuth wordt gebruikt voor authenticatie
  • Ook voor autorisatie
  • Complex beveiligingsprotocol
  • Zeer hoge beveiligingsscore

Uitgifte van toegangstoken

Azure API Management

Google OAuth-voorbeeld

Google OAuth-voorbeeld

Azure API Management

Autorisatie met API-sleutel in Azure Functions

  • Authenticatie is niet altijd nodig voor autorisatie
  • HTTP-eindpunten kun je beveiligen met API-sleutels
  • Lange tekenreeks
  • In Azure Functions wordt standaard een sleutel gegenereerd
  • Sleutel moet mee in het request
  • De client moet de sleutel kennen
  • De client hoeft zich niet te identificeren

API-sleutel instellen in Azure

Azure API Management

Verschillende scopes van API-sleutels

API-scope voor sleutels in een Azure Function

  • Verschillende scopes voor verschillende sleuteltypes
  • Functieniveau-sleutel geeft toegang tot specifieke functies
    • Als een fysieke sleutel voor één deur
  • Hostniveau-sleutel
    • Geeft toegang tot alle functies in een app
    • als een loper voor alle deuren in het gebouw
Azure API Management

API Management-authenticatie

  • APIM kan koppelen met een authenticatieprovider
  • Een daarvan is Entra ID
    • Voorheen bekend als Active Directory
  • Integratie met OAuth is veiliger dan API-sleutels
    • Wel een stuk complexer

Entra ID inschakelen in APIM

Azure API Management

Autorisatiepolicies in API Management

 

JWT valideren in APIM

Autorisatie wordt in API Management geregeld via policies

  • Policies definiëren toegangsregels

  • Beperk eindpunten op basis van rollen

  • Zorg dat alleen geautoriseerde clients APIs aanroepen

Azure API Management

Laten we oefenen!

Azure API Management

Preparing Video For Download...