In diesem Artikel wird beschrieben, wie AS2-Datenübertragungen (Senden und Empfangen) per Logic App realisiert werden können. Dabei kommen auch weitere Azure-Komponenten (Integration Account und KeyVault) sowie die zugehörigen Zertifikate zum Einsatz.
Sinnvoll ist die Nutzung von Logic Apps im AS2-Kontext insbesondere, wenn es keine bestehende Lösung (wie z. B. BizTalk) gibt und ein schneller Aufbau der Infrastruktur in Verbindung mit minimalem Verwaltungsaufwand gewünscht wird. Im Fall von Hochlastszenarien, bei denen z. B. Hunderte von Nachrichten pro Sekunde übertragen werden müssen, können spezialisierte Technologien geeigneter sein.
Sie haben Fragen oder möchten mehr über unsere Produkte und Dienstleistungen erfahren?
Kontaktieren Sie uns jetzt über unser Kontaktformular!
AS2 (Applicability Statement 2)
Bei AS2 handelt es sich um einen Internet-Übertragungsstandard für B2B-Nachrichten, der vornehmlich im Handel / eCommerce Verwendung findet. Per AS2 können beliebige Nachrichtenformate ausgetauscht werden – in der Praxis häufig XML, EDIFACT o. ä.
Durch Signaturen und Verschlüsselung wird die Datenintegrität und -sicherheit garantiert, über die zum Protokoll gehörenden MDNs kann der Absender die Zustellung beweisen.
Zertifikate
Um eine AS2-Nachricht zu versenden, benötigt der Absender zur Verschlüsselung das öffentliche Zertifikat des Empfängers (.CRT / .CER-Datei).
Für den Empfang der Nachricht braucht der Empfänger mindestens den eigenen privaten Schlüssel (.PEM-Datei) und das eigene öffentliche Zertifikat. Falls eine Überprüfung der Absender-Signierung erforderlich ist, wird ergänzend das öffentliche Zertifikat des Absender benötigt.
Azure Key Vault
Für die Speicherung des privaten Schlüssels muss der Empfänger einen Key Vault in Azure anlegen. Darin wird unter Objects / Keys ein neuer Key per Import erstellt, wobei die .PEM-Datei hochgeladen wird. Im Anschluss ist sicherzustellen, dass die erforderlichen Operationen erlaubt sind.
Azure Integration Accounts
Im Integration Account werden die AS2-spezifischen Grundeinstellungen des Nachrichtenaustauschs definiert. Es wird pro Übertragungsrichtung zwischen zwei Partnern jeweils ein Account benötigt: Wenn eine Logic App entwickelt wird, die z.B. Bestellungen von Kunde-A an Lieferant-A sendet, so kann der zugehörige Integration Account nicht gleichzeitig an die Logic App angebunden werden, die auf Seiten von Lieferant-A die Bestellungen empfängt.
Dies liegt daran, dass in einem Integration Account nur ein Agreement pro Partner-Kombination erstellt werden kann.
Es ist aber kein Problem, in diesem Account zusätzlich Artefakte für die Kommunikation z. B. zwischen Kunde-B und Lieferant-B zu verwalten.
Die folgenden Ausführungen beschreiben das Senden und Empfangen von Nachrichten zwischen zwei Partnern, deshalb werden auch zwei Integration Accounts erstellt.
Integration Account 1 (Absender schickt Nachricht an Empfänger)
Partner
Für Sender und Empfänger wird jeweils ein Eintrag erstellt. Als Qualifier fungiertAS2 Identity, der Wert ist meistens eine Integer-Nummer
(wird von den beteiligten Partnern zur Verfügung gestellt).
Certificate
Als Zertifikat wird das öffentliche Zertifikat des Empfängers hinzugefügt. Das Zertifikat ist eine .CER- oder .CRT-Datei.
Agreement
Ein Agreement definiert die Beziehung zwischen den AS2-Nachrichten austauschenden Partnern. In diesem Fall fungiert der Absender als Host Partner und der Empfänger als Giest Partner. Es werden nur die Send Settings gesetzt. Dabei ist Enable message encryptionzu aktivieren und das im vorigen Schritt erstellte Zertitikat auszuwählen. In vielen Fällen muss außerdem Request MDN aktiviert werden, damit dem Empfänger mitgeteilt wird, dass eine Eingangsbestätigung benötigt wird.
Integration Account 2 (Empfänger erhält Nachricht vom Absender)
Partner
Für Sender und Empfänger wird jeweils ein Eintrag erstellt. Als Qualifier fungiert AS2 Identity, der Wert ist meistens eine Integer-Nummer
(wird von den beteiligten Partnern zur Verfügung gestellt).
Certificate
Als Zertifikat wird das öffentliche Zertifikat des Empfängers hinzugefügt. Das Zertifikat ist eine .CER- oder .CRT-Datei. Beim Hinzufügen des Zertifikats wird aber der Certificate Type Privateausgewählt und eine Verbindung zu dem im Key Vault hinterlegten privaten Schlüssel hergestellt.
Optional kann noch das öffentliche Zertifikat des Absenders hinzugefügt werden. Dies ist notwendig, wenn im Empfangs-Agreement das Signieren durch den Absender vorausgesetzt wird.
Agreement
Ein Agreement definiert die Beziehung zwischen den AS2-Nachrichten austauschenden Partnern. In diesem Fall fungiert der Empfänger als Hoste Partnerund der Absender als Guest Partner. Es werden nur die Receive Settingsgesetzt. Dabei ist Message should be encrypted zu aktivieren und das im vorigen Schritt erstellte Empfänger-Zertitikat auszuwählen. In vielen Fällen muss außerdem Send MDNaktiviert werden, damit dem Absender eine Eingangsbestätigung zugestellt wird.
Logic Apps
Logic App 1 (Absender schickt Nachricht an Empfänger)
Die sendende Logic App erstellt eine AS2-Nachricht und schickt diese an die Empfänger-Logic App. Bei AS2-From und AS2-Tosind die (Integer-)Werte der AS2Identity der jeweiligen Partner einzutragen. Durch die zu setzende Verbindung zum Absender-Integration Account kann das richtige Agreement für die Nachrichtenerstellung automatisch herausgesucht werden.
Bei dieser Logic App wird der ältere AS2-Connector verwendet, der neuere (AS2 (v2)) funktioniert aber sehr ähnlich. Bei diesem wird dich Verbindung zum Integration Account allerdings nicht im AS2-Shape, sondern in den Workflow settings der Logic App hergestellt.





