Configurer l'authentification et l'accès aux API

Azure API Management

Fiodar Sazanavets

Senior Software Engineer at Microsoft

Importance de la sécurité des API

Sécurité HTTP

  • Les points de terminaison d'API sont souvent publics
  • Les données derrière les API doivent être protégées
  • D'autant plus pour les données sensibles
Azure API Management

Vue d'ensemble de l'authentification

  • L'authentification et l'autorisation ne sont pas identiques
  • L'authentification prouve l'identité de l'appelant
  • Se connecter avec un identifiant et un mot de passe est un type d'authentification

Formulaire de connexion

Azure API Management

Vue d'ensemble de l'autorisation

Requêtes non sécurisées vs sécurisées

  • L'autorisation contrôle les permissions
  • Un utilisateur authentifié peut rester non autorisé
  • Exemple : seul l'administrateur accède à la zone admin
Azure API Management

Exemple d'appli météo

Autorisation d'une appli météo

Azure API Management

Introduction à OAuth

  • OAuth sert à l'authentification
  • Sert aussi à l'autorisation
  • Protocole de sécurité complexe
  • Avec un niveau de sécurité très élevé

Émission d'un jeton d'accès

Azure API Management

Exemple OAuth Google

Exemple OAuth Google

Azure API Management

Autorisation par clé API dans Azure Functions

  • L'authentification n'est pas toujours requise pour l'autorisation
  • Des points de terminaison HTTP peuvent être sécurisés par des clés API
  • Longue chaîne de caractères
  • Dans Azure Functions, une clé par défaut est générée
  • La clé doit être incluse dans la requête
  • Le client doit connaître la clé
  • Le client n'a pas à prouver son identité

Configuration d'une clé API dans Azure

Azure API Management

Périmètres des clés API

Périmètres de clés API dans une Azure Function

  • Différents périmètres selon le type de clé
  • Clé au niveau fonction : donne accès à des fonctions spécifiques
    • Comme une clé physique ouvrant une porte précise
  • Clé au niveau hôte
    • Donne accès à toutes les fonctions d'une application
    • comme une clé passe-partout ouvrant toutes les portes du bâtiment
Azure API Management

Authentification dans API Management

  • APIM peut être relié à un fournisseur d'authentification
  • Entra ID en est un exemple
    • Anciennement appelé Active Directory
  • Intégrer OAuth est plus sûr que les clés API
    • Mais bien plus complexe

Activer l'intégration Entra ID dans APIM

Azure API Management

Stratégies d'autorisation dans API Management

 

Validation d'un JWT dans APIM

L'autorisation est mise en œuvre via des stratégies dans API Management

  • Les stratégies définissent les règles d'accès

  • Restreindre les points de terminaison selon les rôles

  • Garantir que seuls les clients autorisés appellent les API

Azure API Management

Passons à la pratique !

Azure API Management

Preparing Video For Download...