Utiliser des API avec Azure AD

Effectué

L’authentification Microsoft Entra ID est un schéma d’authentification recommandé. Contrairement à d’autres approches, il possède les attributs uniques suivants :

  • Il permet l’authentification au nom de l’utilisateur qui consomme la connexion. Autrement dit, les utilisateurs ne peuvent pas accéder aux ressources auxquelles ils n’ont pas déjà accès. Le service cible conserve la responsabilité d’appliquer ce qui est autorisé pour l’utilisateur authentifié.

  • Le service cible connaît l’identité de l’utilisateur qui effectue la connexion, permettant ainsi plus de vérifications en utilisant les informations Azure AD sans demander explicitement à un utilisateur de plus amples détails.

  • Il prend en charge les identités gérées où l’accès contrôlé à la ressource sous-jacente élimine la nécessité pour les développeurs et les utilisateurs de gérer les identifiants.

Les éléments internes du connecteur personnalisé sécurisé Azure AD sont similaires à un connecteur sécurisé générique.

La principale différence est que le connecteur personnalisé et le service d’application cible sont inscrits en tant qu’applications dans Azure AD. Ce facteur permet aux créateurs d’appliquer les autorisations appropriées, puis de transmettre l’identité de l’utilisateur appelant à partir d’une application dans Power Apps, Power Automate ou un flux de travail Logic Apps jusqu’au service sous-jacent.

Le service peut être un service existant inscrit dans Azure AD, comme l’API Microsoft Graph, ou il peut s’agir d’un service personnalisé implémenté à l’aide d’Azure Functions ou Microsoft Azure App Service, par exemple. La caractéristique importante du service est qu’il permet de protéger et d’autoriser l’accès aux ressources sécurisées en utilisant l’identité Azure AD.

Activer Azure AD Authentication

Si une organisation dispose déjà d’une implémentation de service à l’aide d’Azure Functions ou d’Azure App Service, l’ajout d’Azure AD Authentication est un exercice de configuration simple.

  1. Sélectionnez le panneau Authentification/autorisation.

  2. Activez l’authentification App Service.

  3. Définissez l’action par défaut en cas d’accès non autorisé.

  4. Configurez et inscrivez l’application dans Microsoft Entra ID.

L’activation d’Azure AD Authentication met les informations d’identité de l’appelant à la disposition du service sous-jacent qui peut désormais utiliser ces informations.

Configurer le connecteur

Les appelants peuvent accéder au service sous-jacent uniquement via un connecteur personnalisé. Pour permettre au connecteur de passer par l’identité de l’appelant, il doit être inscrit en tant qu’application distincte dans Azure AD. De plus, il faut lui accorder des permissions déléguées au service d’API afin qu’il puisse effectuer des actions au nom de l’appelant.

Comme le connecteur personnalisé accède à l’API au nom de l’utilisateur, le consentement est requis. En règle générale, les utilisateurs sont invités à donner leur consentement lorsqu’une connexion est créée par le connecteur personnalisé. Certaines autorisations peuvent nécessiter un consentement administratif, qui peut être accordé par un administrateur pour tous les utilisateurs de l’organisation.

Une fois le connecteur personnalisé inscrit dans Azure AD, vous pouvez le configurer à l’aide de l’Assistant de connexion personnalisé.

Sélectionnez OAuth 2.0 comme type d’authentification, puis définissez le fournisseur d’identité sur Microsoft Entra ID. Les paramètres suivants sont requis :

  • ID client : ID de l’application Azure AD qui identifie le connecteur.

  • Secret : secret créé lors de l’inscription de l’application Azure AD.

  • URL de la ressource : identifiant de ressource de votre service.

Après avoir enregistré la configuration, l’URL de redirection devient disponible pour être ajoutée en tant que rappel valide à l’inscription de l’application.

La configuration est stockée dans le fichier apiProperties.json et les développeurs peuvent également utiliser l’outil de ligne de commande paconn pour mettre à jour la configuration selon les besoins. Par exemple, la clé secrète, au lieu d’être définie par le créateur, peut être gérée et pivotée automatiquement dans le cadre du déploiement d’entreprise.

Procédure de configuration des connecteurs avec Microsoft Entra ID

Pour installer et configurer des connecteurs avec Azure AD, procédez comme suit :

  1. Inscrivez deux applications Azure AD :

    • Une pour identifier et protéger le service API

    • Une pour identifier et protéger votre connecteur

  2. Déléguez les permissions. Autorisez l’application inscrite de votre connecteur à effectuer des appels « au nom » vers l’identité de votre service.

  3. Définissez votre connecteur en fournissant l’ID client, le secret et l’URL de la ressource.

  4. Ajoutez des URL de redirection à l’inscription de l’application de connecteur.

  5. Si votre service est configuré avec le schéma CORS (Cross-Origin Resource Sharing), autorisez la liste des domaines de gestion des API Azure (généralement azure-apim.net) pour CORS sur votre service.

La configuration d’Azure AD Authentication implique plus d’étapes pour inscrire les applications et les identités dans Azure AD, mais elle présente plus d’avantages qui en font un schéma privilégié pour la sécurisation des connecteurs personnalisés.