Logic App

Def et Utilité :


Les logic apps sont hébergés sur la plateforme Azure, qui permettent de créer des workflow qui sont simple à designer avec la présence d'un module no-code compréhensif. Il est aussi très facile d'intégrer les données d'autres connecteurs, pour par exemple le déclencher lors de la création d'un compte office 365, la réception d'une requête HTTP, etc...

Création :


Dans cette exemple nous allons créer une logic app qui est capable de récupérer une clé à partir d'un key vault .
Pasted image 20240603110605.png
Pour une logic app basique il est recommandé de mettre en place une logic app consumption based.
Comment programmer la logic app ?
Deux options s'offrent à nous :

  1. En premier lieu on ajoute un trigger qui est ici la réception d'une requête HTTP sur une URL : Pasted image 20240603112213.png
    Il est important dans notre cas de mettre un advanced parameter avec un relative path qui permet de préciser dans notre URL un nom de key à récupérer dans le vault
  2. On va ensuite récupérer notre secret avec le bon bloc :
    Pasted image 20240603112516.png
    il est nécessaire de se connecter au key vault, la méthode de connexion dépend du type de droits donnés à vote logic app (ici une user-assigned identity).
    Aussi on précise que le nom du secret sera dans path parameters.
  3. Enfin on va renvoyer le nom du secret et son contenu :
    Pasted image 20240603112731.png

Managed Identity :


Pour les autorisations de cette logic app nous allons utiliser une managed identity (plus d'informations : Service Principal VS Managed Identity#Managed Identity) .
On doit suivre les étapes suivantes pour mettre en place la managed identity sur notre logic app.

3. Logic App :

Enfin on créé notre logic App :
Pasted image 20240528105704.png
il faut maintenant qu'on change son type de permission en User-assigned :
Pasted image 20240528111114.png
puis :
Pasted image 20240528111243.png
On a donc bien ajouté notre managed identity à notre ressource :
Pasted image 20240528111336.png
Notre logic app peut donc récupérer des secrets depuis le key vault grâce à la managed identity.

Fonctionnement :


Les logic apps fonctionnent très différement en fonction de ce qui a été codé (trigger par HTTP, mail, ou intégration avec d'autres outils). De ce fait le fonctionnement de chaque app est spécifique.

Sécurisation :


La sécurisation de ces logic app passe d'abord par une logique sécurisée, qui comprend des conditions dans son code pour éviter qu'un attaquant tire partie d'une mauvaise logique.

Pour protéger en partie ce système des attaques externes, il aussi est possible de choisir une range d'adresses IP utilisées ou bien limiter le traffic outbound. Il faut se rendre donc dans : Settings -> Workflow Settings -> Trigger acces option
Pasted image 20240528154138.png