Campaign Azure Blob SAS Attachment Authentication Failures

配信で、SAS署名されたHTTPS URLによって参照されるAzure Blob Storage ファイルを使用すると、Adobe Campaign配信の準備に失敗する可能性があります。 URLは、ブラウザーまたはcurlで正常に機能する場合がありますが、配信準備中にCampaignが添付ファイルを取得すると失敗します。

説明 description

配信の準備中に、CampaignはAzure Blob Storageから添付ファイルをダウンロードしようとすると、HTTP 403認証エラーが返されます。

HTTP クエリが「サーバーがリクエストの認証に失敗しました」を返しました。
認証ヘッダーの値が正しく形成されていることを確認してください署名を含みます。’
タイプのエラー。

*この問題は、次の場合でも発生する可能性があります。 Azure Blob URLは、web ブラウザーで動作します。

根本原因

この問題は、CampaignがHTTP リクエストを送信する前にリモート添付ファイル URLを再エンコードしたことが原因で発生します。AzureのSAS URLには、通常、次のようなパーセント エンコードされた文字が署名に含まれています。%2B
%3D
Campaignは、添付ファイルの取得操作中にURLを再びエンコードします。 その結果、既にエンコードされた文字は二重エンコードされる可能性があります。元の値:%2B
送信済み値:%252Bその後、Azureは、SAS トークンの生成に使用される署名値とは異なる署名値を受け取ります。 署名が一致しなくなったため、Azureは認証エラーでリクエストを拒否します。&と対&の表現は、Campaignが通常URLを処理する際の根本的な原因ではありません。 XMLのシリアル化は、&などのアンパサンドを表すことができ、Campaignはそれをエスケープ解除できます。 ただし、URLにを手動でおよび入力すると、クエリ区切り記号が正しく解釈されず、予想されるSAS認証エラーではなく409応答が発生する可能性があります。リクエストがAzureに達したが、変更されたSAS許可リストに加えるまたは無効なSAS署名が含まれているため、URL署名で問題が解決しない。また、調査では、リモートのAzure Blob SAS URLを動的に取得された添付ファイルとして使用することが、この配信シナリオの文書化されていない使用ギャップであると判断されました。

解決策

*推奨およびサポートされるアプローチは、配信の準備が整う前に、Azure Blob ファイルをCampaign サーバーにダウンロードすることです。 適切なファイル転送メカニズムまたはAzure Blob APIを呼び出すJavaScript アクティビティを使用して、ワークフロー内のファイルを取得します。

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