Dans cet article, nous verrons comment sécuriser votre connexion à l'API Graph dans Logic App en utilisant Azure Key Vault et une application Azure.

Bienvenue dans la troisième partie de ma série de blogs sur Logic Apps.

Dans la première partie, nous avons vu comment créer notre première Logic App.

Ensuite, nous avons vu comment interroger MS Graph au travers d'une application Azure.

Nous avons configuré directement les informations d'authentification dans la Logic App :

- tenant id

- Client id

- Secret


Création de l'application Azure

Nous allons au préalable créer ou utiliser une application Azure.

Celle-ci servira pour l'authentification et l'exécution des requêtes Graph.

Dans cette application, nous ajouterons un secret. Ce secret sera utilisé comme une sorte de mot de passe et le client id comme un nom d'utilisateur.

Nous allons ensuite ajouter ces informations dans un Key-Vault afin qu'elles ne soient pas accessibles au travers de notre Logic App.

Pour créer l'application, nous procèderons comme ci-dessous:

1. Allez dans le portail Entra

2. Allez dans App registration

3. Cliquez sur New registration

4. Saisissez un nom

5. Laissez par défaut 

6. Cliquez sur Register

7. Allez dans Overview

8. Copiez la valeur du champ Client id

9. Allez dans Certificates & secrets

10. Allez dans Client secrets

11. Cliquez sur New client secret

12. Saisissez un nom

13. Choisissez un délai

14. Cliquez sur Add

15. Copiez la valeur du secret


Azure Key Vault

Nous devons maintenant créer un Key vault pour y stocker les valeurs ci-dessous:

- Tenant id

- Client id

- Secret


La première étape est de créer le key vault:

1. Allez dans Azure Key Vault

2. Cliquez sur Create


3. Choisissez la souscription et le groupe de ressource 

4. Saisissez un nom de Key Vault

5. Choisissez la région et le prix


6. Cliquez sur Review+Create

7. Cliquez sur Create


Nous procèderons comme ci-dessous pour stocker les valeurs:

1. Allez dans Azure Key Vault

2. Allez dans Secrets


3. Cliquez sur Generate/Import


4. Dans Name, saisissez TenantID

5. Dans Secret value saisissez votre id de tenant


6. Cliquez sur Create

7. Cliquez sur Generate/Import

8. Dans Name, saisissez ClientID

9. Dans Secret value saisissez l'id du client

10. Cliquez sur Create

11. Cliquez sur Generate/Import

12. Dans Name, saisissez Secret

13. Dans Secret value, saisissez le secret

14. Cliquez sur Create


Si vous utilisez un autre compte pour vous connecter à l'étape Key Vault dans l'application Logic, procédez comme ci-dessous :

1. Allez dans votre Key vault

2. Allez dans Access policies


3. Cliquez sur Create

4. Allez dans Secret permissions 

5. Cochez tout ou choisissez 

6. Cliquez sur Next

7. Saisissez the account

8. Cliquez sur Next


Logic App step by step

La première étape consiste à créer l’application logique. Pour cela, voir mon article ici.


Step 1 - Recurrence

1. Allez dans Logic App Designer

2. Cliquez sur recurrence

3. Choisissez ce que vous souhaitez


Step 2 - Récupérez le tenant id

1. Cliquez sur New step

2. Sélectionnez Get secret

C'est un composant de Azure Key Vault


3. Renommez en Get TenantID

4. Dans Connection name, saisissez un nom

5. Dans Authentication saisissez, choisissez Default Azure AD

6. Dans Tenant ID, saisissez votre id de tenant

7. Dans Key vault name, saisissez le nom de votre key vault 


8. Cliquez sur Sign in

9. Authentifiez-vous avec un compte

10. Dans Name, choisissez TenantID



Step 3 - Récupérez le client id

1. Cliquez sur New step

2. Sélectionnez Get secret

C'est un composant de Azure Key Vault


3. Renommez en Get Client ID

4. Dans Name, choisissez ClientID



Step 4 - Récupérez le secret

1. Cliquez sur New step

2. Sélectionnez Get secret

C'est un composant de Azure Key Vault

3. Dans Name, choisissez AppSecret



Step 5 - Query Graph using Key Vault

Dans cet example nous allons effectuer une requête Graph AP pour lister les appareils Intune. 

La ressource appropriée est: deviceManagement/managedDevices

Ici, nous interrogerons MS Graph via notre application Azure et notre Key Vault.

Pour cela, nous devons ajouter une nouvelle étape pour faire une requête HTTP. Cette étape est appelée HTTP.

Nous procèderons comme ci-dessous:

1. Cliquez sur New step

2. Sélectionnez HTTP


3. Dans Method, choisissez GET

4. Dans URI, saisissez la ressource Graph

5. Dans notre cas il s'agit de: https://graph.microsoft.com/beta/deviceManagement/managedDevices


6. Cliquez sur Add new parameter


7. Cochez Authentication


8. Sélectionnez Active Directory OAuth


9. Allez dans Tenant > Dynamic content


10. Choisissez value de Get TenantID


11. Dans Audience, saisissez https://graph.microsoft.com

12. Allez dans Client ID puis Dynamic content

13. Choisissez value de Get ClientID

14. Dans Credential, choisissez Secret

15. Allez dans Secret puis Dynamic content

16. Choisissez value de Get secret 


17. Sauvegardez l'app

18. Cliquez sur Run trigger > Run