Partager via


Authentification Azure dans le générateur d’API de données

Le générateur d’API de données permet aux développeurs de définir le mécanisme d’authentification (fournisseur d’identité) qu’ils veulent que le générateur d’API de données utilise pour authentifier les personnes qui effectuent des demandes.

L’authentification est déléguée à un fournisseur d’identité pris en charge où le jeton d’accès peut être émis. Un jeton d’accès acquis doit être inclus avec les requêtes entrantes adressées au générateur d’API de données. Le générateur d’API de données valide ensuite tous les jetons d’accès présentés, ce qui garantit que le générateur d’API de données était l’audience prévue du jeton.

Les options de configuration du fournisseur d’identité prises en charge sont les suivantes :

  • StaticWebApps
  • Jetons web JSON (JWT)

Authentification Azure Static Web Apps (EasyAuth)

Le générateur d’API de données s’attend à ce que l’authentification Azure Static Web Apps (EasyAuth) authentifie la demande et fournisse des métadonnées sur l’utilisateur authentifié dans l’en-tête HTTP X-MS-CLIENT-PRINCIPAL lors de l’utilisation de l’option StaticWebApps. Les métadonnées utilisateur authentifiées fournies par Static Web Apps peuvent être référencées dans la documentation suivante : Accès aux informations utilisateur.

Pour utiliser le fournisseur StaticWebApps, vous devez spécifier la configuration suivante dans la section runtime.host du fichier de configuration :

"authentication": {
    "provider": "StaticWebApps"
}

L’utilisation du fournisseur StaticWebApps est utile lorsque vous envisagez d’exécuter le générateur d’API de données dans Azure, de l’héberger à l’aide d’App Service et de l’exécuter dans un conteneur : Exécuter un conteneur personnalisé dans Azure App Service.

JWT

Pour utiliser le fournisseur JWT, vous devez configurer la section runtime.host.authentication en fournissant les informations nécessaires pour vérifier le jeton JWT reçu :

"authentication": {
    "provider": "AzureAD",
    "jwt": {
        "audience": "<APP_ID>",
        "issuer": "https://login.microsoftonline.com/<AZURE_AD_TENANT_ID>/v2.0"
    }
}

Sélection des rôles

Une fois qu’une demande est authentifiée via l’une des options disponibles, les rôles définis dans le jeton sont utilisés pour déterminer comment les règles d’autorisation sont évaluées pour autoriser la demande. Toute demande authentifiée est automatiquement affectée au rôle système authenticated, sauf si un rôle d’utilisateur est demandé pour une utilisation. Pour plus d’informations, consultez d’autorisation.

Demandes anonymes

Les demandes peuvent également être effectuées sans être authentifiées. Dans ce cas, la requête est automatiquement affectée au rôle système anonymous afin qu’elle puisse être correctement autorisée.

En-tête de requête X-MS-API-ROLE

Le générateur d’API de données nécessite l’en-tête X-MS-API-ROLE pour autoriser les demandes à l’aide de rôles personnalisés. La valeur de X-MS-API-ROLE doit correspondre à un rôle spécifié dans le jeton. Par exemple, si le jeton a le rôle Sample.Role, x-MS-API-ROLE doit également être Sample.Role. Pour plus d’informations, consultez rôles d’utilisateur d’autorisation.

  • d’authentification locale
  • d’autorisation