Errores de autenticación de datos adjuntos SAS de Azure Blob de Campaign

La preparación de la entrega de Adobe Campaign puede fallar cuando una entrega utiliza un archivo de almacenamiento de Azure Blob al que hace referencia una URL HTTPS firmada con SAS. La URL puede funcionar correctamente en un explorador o con curl, pero fallar cuando Campaign recupera el archivo adjunto durante la preparación de la entrega.

Descripción description

Durante la preparación de la entrega, Campaign intenta descargar un archivo adjunto del almacenamiento del blob de Azure y devuelve un error de autenticación HTTP 403:

La consulta HTTP devolvió un mensaje ‘El servidor no pudo autenticar la solicitud.
Asegúrese de que el valor del encabezado Autorización esté correctamente formadoincluida la firma.’
error de tipo.

*El problema puede producirse incluso cuando: La URL del blob de Azure funciona en un explorador web.

Causa raíz

El problema se debe a que Campaign vuelve a codificar la URL del archivo adjunto remoto antes de enviar la solicitud HTTP.Las direcciones URL de SAS de Azure suelen contener caracteres con codificación porcentual en la firma, como:%2B
%3D
Campaign vuelve a codificar la dirección URL durante la operación de recuperación de archivos adjuntos. Como resultado, los caracteres ya codificados pueden convertirse en codificados dobles:Valor original: %2B
Valor enviado: %252BA continuación, Azure recibe un valor de firma diferente del que se utilizó para generar el token SAS. Como la firma ya no coincide, Azure rechaza la solicitud con un error de autenticación.La representación “y contra” no es la causa subyacente cuando Campaign procesa la dirección URL normalmente. La serialización XML puede representar un signo & y Campaign no puede omitirlo. Sin embargo, si se introduce & manualmente en la dirección URL, los separadores de consultas pueden interpretarse incorrectamente y dar lugar a una respuesta 409 en lugar del error de autenticación SAS esperado.La inclusión en la lista de permitidos de URL no resuelve el problema porque la solicitud llega a Azure pero contiene una firma SAS modificada o no válida.La investigación también determinó que el uso de una URL de Azure Blob SAS remota como un archivo adjunto recuperado dinámicamente es una brecha de uso no documentada para este escenario de entrega.

Resolución

*El método recomendado y admitido es descargar el archivo Azure Blob en el servidor de Campaign antes de preparar la entrega. Recupere el archivo dentro del flujo de trabajo mediante un mecanismo de transferencia de archivos adecuado o una actividad de JavaScript que llame a la API de Azure Blob.

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