Campaign Azure Blob SAS-Anhangsauthentifizierungsfehler

Die Adobe Campaign-Versandvorbereitung kann fehlschlagen, wenn ein Versand eine Azure Blob Storage-Datei verwendet, die von einer SAS-signierten HTTPS-URL referenziert wird. Die URL kann in einem Browser oder mit cURL erfolgreich sein, schlägt jedoch fehl, wenn Campaign während der Versandvorbereitung den Anhang abruft.

Beschreibung description

Während der Versandvorbereitung versucht Campaign, eine Anlage aus dem Azure Blob-Speicher herunterzuladen, und gibt einen HTTP 403-Authentifizierungsfehler zurück:

Die HTTP-Abfrage hat den Fehler „Server konnte die Anfrage nicht authentifizieren.
Vergewissern Sie sich, dass der Wert des Autorisierungs-Headers einschließlich Signatur korrekt formatiert ist
Typfehler.

*Das Problem kann auch auftreten, wenn: Die Azure Blob-URL funktioniert in einem Webbrowser.

Ursache

Das Problem wird verursacht, wenn Campaign die Remote-Anhang-URL vor dem Senden der HTTP-Anfrage neu codiert.Azure SAS-URLs enthalten in der Regel Prozentzeichen in der Signatur, z. B.:%2B
%3d
Campaign kodiert die URL während des Abrufs des Anhangs erneut. Daher können die bereits kodierten Zeichen doppelt kodiert werden %2B
Gesendeter Wert: %252BAzure erhält dann einen anderen Signaturwert als den, der zum Generieren des SAS-Tokens verwendet wird. Da die Signatur nicht mehr übereinstimmt, lehnt Azure die Anfrage mit einem Authentifizierungsfehler ab.Die Darstellung und im Vergleich zu und ist nicht die zugrunde liegende Ursache, wenn Campaign die URL normal verarbeitet. Die XML-Serialisierung kann ein kaufmännisches Und-Zeichen darstellen, und Campaign kann es mit Escape-Zeichen versehen. Die manuelle Eingabe von und in die URL kann jedoch dazu führen, dass die Abfragetrennzeichen falsch interpretiert werden und zu einer 409-Antwort anstelle des erwarteten SAS-Authentifizierungsfehlers führen.Die URL-Zulassungsauflistung behebt das Problem nicht, da die Anfrage Azure erreicht, aber eine geänderte oder ungültige SAS-Signatur enthält.Die Untersuchung ergab außerdem, dass die Verwendung einer Remote-Azure Blob SAS-URL als dynamisch abgerufener Anhang eine nicht dokumentierte Nutzungslücke für dieses Bereitstellungsszenario darstellt.

Lösung

*Es wird empfohlen und unterstützt, die Azure-Blob-Datei vor der Versandvorbereitung auf den Campaign-Server herunterzuladen. Rufen Sie die Datei innerhalb des Workflows mithilfe eines geeigneten Dateiübertragungsmechanismus oder einer JavaScript-Aktivität ab, die die Azure-Blob-API aufruft.

recommendation-more-help
experience-cloud-kcs-help-kbarticles