将文件上传到Azure blob存储 — CRL-290029禁止

本文解决了Campaign v7的问题,在该问题中,您只能读取文件,但不能在blob存储中写入文件。 要解决此问题,请与Azure联系以检查由身份/授权(RBAC或SAS)确定的读/写权限。

描述 description

环境

Adobe Campaign

问题/症状

  1. 您正在将Adobe Campaign v7与Adobe Experience Platform集成,并且已创建工作流,如Campaign Classic v7文档中的在Campaign Classic中创建导出工作流中所述。 这是为了将数据从ACC导出到Azure Blob存储位置。
  2. 您尝试将文件传输活动(操作文件上传)添加到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 Storage中的读取和写入访问权限未由将调用方IP列入白名单来定义。

IP列入允许列表是网络入口(完全可以与存储帐户通信),而读/写权限由身份/授权(RBAC或SAS)决定。

实际确定访问权限的方式

  1. 授权:角色和SAS权限
    Azure Blob Storage支持多种授权机制:

    • 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 range
        
        • sp参数控制读/写;sip仅限制请求可以来自的位置。
    • 帐户密钥(共享密钥)

      • 如果直接使用,则使用完整的帐户级别读/写;不建议用于细粒度访问,并且通常不建议在Adobe环境中使用。
  2. 网络/IP控制:防火墙和SAS sip

    这些控制 是否 请求可以到达帐户,而不是它可以做什么

    • 存储帐户防火墙/虚拟网络规则

      • 您可以允许特定的公共IP范围或VNet访问存储帐户。
      • 无论调用方是执行读取还是写入,均适用;权限仍来自RBAC或SAS。
      • Microsoft文档: 存储帐户网络安全
    • SAS sip(IP范围)

      • SAS令牌上的可选参数,用于限制可使用令牌的IP。
      • 但是,允许的操作由sp (权限)定义;IP只是限制可能行使这些权限的人员。

相关的Azure Blob Storage文档

重要Microsoft学习参考资料:

这些文档共同说明了授权(RBAC/SAS)定义了读/写,而IP设置(防火墙或SAS sip)仅限制这些授权呼叫可能来自的位置。

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f