繁体   English   中英

Azure DevOps 管道无法复制到 Azure 存储

[英]Azure DevOps pipeline cannot copy to Azure storage

I've got a pipeline that builds web artefacts and attempts to copy them to my Azure Storage using the Azure File Copy task provided in the Azure Pipelines. 过去 2 天我一直在尝试修复此 403 响应,指出存在权限错误。

  • 我有这个管道的服务连接。
  • 服务连接应用注册有user_impersonation for Azure存储在API权限
  • 服务连接应用程序注册具有目标存储帐户、资源组和订阅的“存储 Blob 数据参与者”和“存储 Blob 数据所有者”。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

由于存储帐户使用防火墙并根据您的评论启用了 IP 范围白名单,因此您应该将代理的 IP 地址添加到白名单中。

  • 如果您正在运行自己的构建代理,这非常简单。
  • 如果您使用 Microsoft 托管的代理来运行您的作业,并且您需要有关使用哪些 IP 地址的信息,请参阅Microsoft 托管的代理代理 IP 范围

在某些设置中,您可能需要知道部署代理的 IP 地址范围。 例如,如果您需要通过防火墙授予托管代理访问权限,您可能希望通过 IP 地址限制该访问。 由于 Azure DevOps 使用 Azure 全球网络,IP 范围随时间变化。 我们每周发布一份 JSON 文件,列出 Azure 数据中心的 IP 范围,按地区划分。 该文件每周三发布,包含新的计划 IP 范围。 新的 IP 范围将于下周一生效。 我们建议您经常检查以确保您保持最新列表。

由于 Azure 管理库中没有 API 用于 .NET 列出地理区域,因此您必须手动列出它们。

编辑:
这里有一个关闭的(:-但仍然有效)GitHub 问题: AzureDevops 不考虑为“Microsoft 服务”

编辑2:

您的托管代理在与您的组织相同的 Azure 地理位置中运行。 每个地理包含一个或多个区域。 虽然您的代理可能与您的组织在同一区域运行,但不能保证这样做。 要为您的代理获取可能的 IP 范围的完整列表,您必须使用 geography 中包含的所有区域的 IP 范围 例如,如果您的组织位于美国地理位置,则必须对该地理位置中的所有区域使用 IP 范围。

要确定您的地理位置,请导航至https://dev.azure.com/<your_organization>/_settings/organizationOverview ,获取您所在的地区,然后从 Z3A580F142203677F53F 表中找到相关的地理位置。 一旦您确定了您的地理位置,请使用该地理位置中所有区域的每周文件中的 IP 范围。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM