quiNews

Was Sie Gutes mit uns verbinden können

Amazon Web Services über BizTalk abfragen

Bei einem Kunden hatten wir die Anforderung, dass eine AWS SQS Queue aus dem BizTalk heraus angesteuert werden sollte. So haben wir das gelöst.

Voraussetzungen

Um grundsätzlich die AWS Technologie nutzen zu können, ist die Installation des AWS SDKs für .NET nötig. Weiterhin müssen über den NuGet Manager die gewünschten Komponenten, in unserem Fall SQS, installiert werden. Dies sieht dann bspw. so aus.

Verwendung im BizTalk

Das Problem bei der Verbindung zwischen AWS und BizTalk besteht nun darin, dass die Zugriffsdaten bei der Anmeldung über den AWS Explorer nutzerbezogen sind. Das hat zur Folge, dass die Anmeldung durch den Entwickler auf dem Server nicht für die BizTalk Host-Instanzen greifen, welche unter einem anderen Nutzer (z.B. BTS_ESB_InpSvcUser) ausgeführt werden. Um dennoch die Anmeldedaten dem Nutzer bekannt zu machen, werden verschiedene Möglichkeiten angeboten. Leider funktionieren davon nur einige.

1. Angabe im Quellcode

Die einfachste, aber gleichzeitig auch sicherheitskritische Möglichkeit, besteht darin, die AWS Keys im Quellcode zu hinterlegen. Dies sollte aber nur eine kurzfristige Lösung sein. Da hierbei die Keys im Klartext gespeichert werden, besteht die Gefahr, dass diese einem Personenkreis bekannt gemacht werden, welcher diese nicht wissen soll. Nachdem der Quellcode in die Quellcodeverwaltung gepusht wurde, sind die Keys darüber hinaus über die Historie immer wieder einsehbar und können im Nachhinein nicht mehr entfernt werden. Das Auslesen der Keys aus einer verschlüsselten Konfigurationsdatei kann die Sicherheit dabei etwas erhöhen. Der Einsatz dieser Option sollte daher vorher genau überlegt sein. Wenn man sich dafür entscheidet, dann werden die beiden Keys beim Erstellen des Client-Objekts übergeben.


2. Umgebungsvariablen

Eine weitere Möglichkeit ist die Hinterlegung als Umgebungsvariablen.

In der Form

funktioniert dies nicht, da dies nur innerhalb des Kontexts des ausführenden Nutzers verfügbar ist. Um dies dem BizTalk Nutzer zu ermöglichen, ist eine Anmeldung in der Registry notwendig. Hierfür werden die beiden Keys in den Pfad Computer\HKEY_USERS\<SID>\Environment jeweils als String Value abgelegt.

Die SID des BizTalk Nutzers erhält man über das folgende PowerShell Skript.

3. Credentials File

Zusätzlich soll es möglich sein, eine Datei „credentials“ ins Verzeichnis %UserProfile%\.aws (Ordnernamen muss als „.aws.“ geschrieben werden) abzulegen. Diese Datei enthält die beiden Keys. Leider hat diese Option bei uns nicht funktioniert.

Fazit

Mit dem BizTalk lassen sich auch die Amazon Web Services ansprechen. Um dem BizTalk Nutzer den Zugriff zu ermöglichen, gibt es verschiedene Wege. Es empfiehlt sich, dies über die Umgebungsvariablen und der Registry anzugehen. Im Quellcode kann man den Zugriff direkt ermöglichen. Dabei muss die Sicherheit im Blick behalten werden. Das Credentials File war bei uns leider nicht funktionsfähig.

 

© QUIBIQ GmbH · Impressum · Datenschutz