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
0 Commentaires