將檔案上傳至Azure Blob儲存體 — CRL-290029禁止
本文解決Campaign v7問題,您只能讀取檔案,但無法在blob儲存空間中寫入檔案。 若要解決此問題,請聯絡Azure以檢查由身分/授權(RBAC或SAS)決定的讀取/寫入許可權。
說明 description
環境
Adobe Campaign
問題/症狀
- 您正在整合Adobe Campaign v7與Adobe Experience Platform,且已依照Campaign Classic v7檔案之在Campaign Classic中建立匯出工作流程中的說明建立工作流程。 這是為了將資料從ACC匯出至Azure Blob儲存位置。
- 您嘗試將檔案傳輸活動(動作檔案上傳)新增到Azure Blob。 在稽核軌跡記錄中,您看到類似下列的錯誤:
將'https://xxxx002.blob.core.windows.net/campaign/xxxAEP/Feedback/envioCDP.csv''上傳到Azure Blob Storage時發生CRL-290182錯誤(程式碼CRL-290029 Forbidden — 伺服器理解要求,但拒絕履行)
結果,您可以從blob儲存體讀取檔案(下載),但無法在該處寫入檔案(上傳)。
解決方法 resolution
若要解決這類問題,請聯絡Azure以檢查由身分/授權(RBAC或SAS)決定的讀取/寫入許可權。
Azure Blob儲存中的讀取與寫入存取權並未由哪個呼叫者IP列入白名單來定義。
IP允許清單是網路閘道(完全可以與儲存體帳戶通訊),而讀取/寫入許可權是由身分/授權(RBAC或SAS)所決定。
實際決定存取權的方式
-
授權:角色與SAS許可權
Azure Blob儲存支援多種授權機制:-
Azure AD + RBAC (建議)
-
您可授與角色,例如:
Storage Blob Data Reader→唯讀Storage Blob Data Contributor→讀取/寫入/刪除
-
這些角色定義了Blob和容器上的 讀取與寫入 許可權。
-
請參閱Azure角色型存取控制檔案中儲存體的操作和RBAC對應
共用存取權簽章(SAS)
-
SAS權杖會編碼:
- 透過
sp的許可權(例如:sp=r代表讀取,sp=rw代表讀取+寫入,sp=rwdl代表完整CRUD +清單)。 - 透過
sip的可選IP限制(允許使用該權杖的IP或IP範圍)。
- 透過
-
Microsoft Azure Essentials: Azure基礎顯示SAS範例:
code language-none &sp=r # read permission &sip=168.1.5.60-168.1.5.70 # allowed IP rangesp引數控制讀取/寫入;sip只會限制請求來源的位置。
-
-
帳戶金鑰(共用金鑰)
- 若直接使用,則為完整的帳戶層級讀取/寫入;不建議用於微調存取,通常不建議在Adobe環境中使用。
-
-
網路/IP控制項:防火牆和SAS
sip這些控制項 是否 要求可以連線至帳戶,而非它可以做什麼:
-
儲存體帳戶防火牆/虛擬網路規則
- 您可以允許特定公用IP範圍或VNet存取儲存體帳戶。
- 無論呼叫者是否正在執行讀取或寫入,這都適用;許可權仍來自RBAC或SAS。
- Microsoft檔案: 儲存體帳戶網路安全性
-
SAS
sip(IP範圍)- SAS權杖上的選用引數,用於限制可使用權杖的IP。
- 不過,允許的操作由
sp(許可權)定義;IP只會縮小可能行使這些許可權的使用者。
-
相關的Azure Blob儲存檔案
重要Microsoft學習參考資料:
-
整體Blob儲存服務與安全性概念
-
儲存裝置的RBAC作業(資料平面動作,如讀取/寫入/刪除)
-
儲存帳戶和IP允許清單的網路/防火牆規則
-
SAS和使用者委派SAS (權杖中編碼的許可權)
這些檔案共同說明授權(RBAC/SAS)會定義讀取/寫入,而IP設定(防火牆或SAS sip)只會限制這些授權呼叫可能來自的位置。