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 .
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 :
- logic app designer qui es la vue no code
- Logic app code view qui permet de voir le code de l'application
Voyons désormais comment créer notre logic app dans la vue no code :
- En premier lieu on ajoute un trigger qui est ici la réception d'une requête HTTP sur une URL :
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 - On va ensuite récupérer notre secret avec le bon bloc :
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. - Enfin on va renvoyer le nom du secret et son contenu :
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.
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