Configuration d'Azure Active Directory pour les scripts côté serveur

Aperçu

Dans certains cas, vous voudrez effectuer une tâche spécifique qui peut être automatisée mais qui doit pouvoir accéder à l'API GraphQL de WorkflowGen; ce cas d'usage est souvent sous forme de script côté serveur. Pour ceci, OAuth2 fournit un type d'autorisation appelé Client Credentials qui échange tout simplement un ID client et une clé secrète client pour un jeton d'accès. Il n'y a aucun jeton ID car ceci ne fait pas partie du standard OpenID Connect, et aucun utilisateur n'est impliqué.

Cette section contient les instructions sur comment configurer Azure AD avec un script côté serveur qui a accès à l'API GraphQL. D'abord, vous devez configurer une nouvelle application Web dans le portail Azure; ensuite, vous devez configurer une nouvelle application dans WorkflowGen.

Prérequis

  • Assurez-vous d'avoir une copie de WorkflowGen sous licence installée et en fonctionnement sur un serveur.

  • Assurez-vous d'avoir l'accès d'administrateur WorkflowGen.

  • Assurez-vous d'avoir l'accès d'administrateur Azure AD pour pouvoir configurer Azure AD.

  • Assurez-vous d'avoir bien configuré l'authentification déléguée à Azure AD sur votre instance de WorkflowGen en suivant les instructions dans la section Authentification Azure Active Directory.

Configuration d'Azure Active Directory

Étape 1 : Inscrivez une nouvelle application Web

  1. Dans le portail Azure, cliquez sur App registrations dans la section Azure Active Directory.

  2. Cliquez sur New registration, puis saisissez les propriétés :

    • Name : Le nom de votre script

    • Supported account types : Accounts in this organizational directory only

    • Redirect URI : Laissez ce champ vide

  3. Cliquez sur Create en bas de la page.

Vous avez maintenant inscrit votre script dans Azure Active Directory.

Étape 2 : Donnez accès à l'API GraphQL

  1. Cliquez sur API permissions.

  2. Dans la section API permissions, cliquez sur Add a permission.

  3. Cliquez sur My APIs, puis sélectionnez l'application WorkflowGen Server.

  4. Cliquez sur Delegated permissions, puis sélectionnez user_impersonation.

  5. Cliquez sur Add permissions.

Étape 3 : Générez une clé

  1. Dans le menu de l'application, cliquez sur Certificates & secrets.

  2. Dans la section Client secrets, cliquez sur New client secret et saisissez les propriétés suivantes :

    • Description : secret_client (ou n'importe quel nom qui indique clairement qu'il s'agit d'un secret)

    • Expires : Never

  3. Cliquez sur Add.

  4. Copiez et sauvegarder la valeur générée par Azure. Ceci est votre clé secrète client, et vous ne pourrez plus la rechercher par la suite.

Vérifiez l'inscription

Voici un résumé ds informations dont vous aurez besoin :

  • Un ID client, qui se trouve sur l'onglet de configuration de l'application inscrite.

  • Une clé secrète client.

  • L'ID de locataire de votre Azure AD, qui se trouve dans la sous-section des propriétés dans la section Active Directory du portail.

  • L'ID d'application de l'API GraphQL de WorkflowGen, qui se trouve dans sa page d'aperçu.

Vous êtes maintenant prêt à inscrire votre script dans WorkflowGen.

Configuration de WorkflowGen

Comme pour l'approvisionnement des utilisateurs, WorkflowGen doit savoir quelle application accède à l'API GraphQL. Vous devez donc inscrire l'application, qui est constituée de votre script.

Inscrivez une nouvelle application

  1. Dans la page Applications du module d'administration de WorkflowGen, cliquez sur Nouvelle application.

  2. Renseignez le formulaire :

    • Name : Mon application serveur

    • Description : Une description qui identifie clairement le script

    • Type : Non-interactive Client

    • Impersonate username : Un nom d'utilisateur qui a les permissions requises pour accéder à l'API GraphQL

    • Client ID : L'ID client que vous avez retrouvée plus tôt

    • Active : Cochez cette case à cocher

  3. Cliquez sur Save.

Votre application devrait maintenant paraître dans la liste d'applications.

Vous devriez maintenant mis en place les composants nécessaires à faire des requêtes à l'API GraphQL depuis votre script en passant le jeton d'accès reçu d'Azure AD via le flux Client Credentials Grant.