Sicherheit ist ein großes Thema bei Cloud Lösungen – auch beim Bereitstellen von Logic Apps. Verwendet man API Connections innerhalb der Logic App, wie z.B. bei der Verbindung zu einem Azure Storage Account, werden beim Export des ARM Templates über das Azure Portal die für eine funktionierende API Connection notwendigen Parameter (Passwörter, Connection-strings, …) nicht mit in das Template übernommen – der Sicherheit zuliebe.
Möchte man nun aber in einem automatisierten Prozess Logic Apps erstellen, deren API Connections sich dynamisch unterscheiden – z.B. wenn man über eine grafische Benutzeroberfläche individuell angeben will, welcher Azure Storage Account verwendet werden soll – müssen auch die API Connections vollständig mit in das ARM Template übernommen werden. Das Problem: beim Export des ARM Templates über das Azure Portal ist die Resource für die API Connection unvollständig. Es fehlen die sicherheitsrelevanten Parameter (Passwörter, Connection-strings, …).
Man kann mit Hilfe des Azure REST Services (https://management.azure.com) Parameter abrufen, die zum Erstellen einer bestimmten API Connection verwendet werden. Diese müssten dann manuell im Template ergänzt werden – eine fehleranfällige Vorgehensweise.
Einfacher geht es mit dem Azure Logic Apps Tool für Visual Studio 2019/2017/2015. Erstellt man über den Logic App Designer innerhalb von Visual Studio eine neue API Connection, wird diese als vollständige Resource mit in das Template übernommen.
Verdeutlichung anhand einer Bilderstrecke
Erstellen einer Logic App mit Hilfe des Azure Portals. Die Logic App verwendet eine API Connection zu einem Azure Storage Account:
Das dazugehöriges ARM Template, welches über das Azure Portal erstellt wurde. Für die API Connection des Azure Storage Accounts fehlen notwendige Parameter (z.B. der Access Key, welcher für die Authentifizierung nötig ist):
Wird das Template so bereitgestellt, muss die API Connection nochmals authentifizieren werden. Für einen automatisierten Prozess ist das Arbeit, die man sich eigentlich sparen möchte:
Mit Hilfe des Azure Logic Apps Tool kann innerhalb von Visual Studio eine Logic App erstellt werden. Es ist ausreichend, beispielhaft eine Logic App mit der verwendeten Art der API Connection zu erstellen, um die vollständige API Connection Resource im ARM Template zu erhalten.
Im ARM Template, welches Visual Studio erzeugt, sind nun auch die fehlenden Parameter zu finden. Wird dieses ARM Template bereitgestellt, ist die API Connectino durch das Beinhalten des Access Keys bereits authentifiziert.
Diese Vorgehensweise lässt sich auch auf andere API Typen übertragen.
Dier Teq-Tipp kommt von Martin, QUIBIQ Stuttgart.