我们有天蓝色的管道来建造和部署各种项目。
实际上,我们希望使用"azureblog文件复制“管道将一些文件复制到blob存储中。
这需要对存储帐户进行写入访问。
我们的管理员说,该管道以手动运行管道的人的身份运行。如果这是真的,我们将不得不给予所有的开发者和用户读/写的访问博客存储,这将是疯狂的。
我认为他错了,不管输油管道是如何启动的,管道都是作为特定的指定用户运行的。问题是,如何找出这个用户对于给定的管道是什么?
“编辑管道”在顶部有一个安全选项卡,它列出了一个"Azure Devops组“,这些组大概是有能力运行管道的组。
但是管道用户在哪里定义呢?
发布于 2022-07-11 02:33:19
Azure管道以哪个用户的身份运行?
这取决于你讨论这个问题的背景。
--如果您的意思是在纯DevOps服务中运行,那么我可以告诉您,管道运行的用户不是触发管道的人(默认情况下是本机DevOps服务,除非您安装了一些奇怪的扩展,或者管道特殊设计有问题),但是这个标识:
<Project Name> Build Service帐户
“以某人的身份运行”只是管道运行的一个属性。管道以“”的形式运行(在DevOps端),如果您需要一个管道来下载或上传工件,您可以清楚地感受到这一点。如果上面提到的帐户没有权限,你不能做任何事情。
--如果您指的是基于Azure端的用户操作,那么我可以告诉您,对于原生DevOps服务,管道在Azure端执行操作的“用户”不是触发管道的人。DevOps服务的管道由多个任务组成,任务通常通过服务连接与其他服务交互(您可以在项目设置中找到这一点)。
有许多类型的服务连接。在与Azure中的服务交互时,通常使用这种类型:
Azure Resource Manager -> Service principal
当您在DevOps端创建这种类型的服务连接时,Azure还将创建一个与此服务连接相关的AAD应用程序,此添加应用程序对应于Azure中的服务主体。在Azure中,权限是根据服务主体或用户分配的,而DevOps管道对Azure的操作是基于此服务主体的,与DevOps中的任何其他操作无关。在Azure方面,这个服务主体可以被认为是DevOps管道任务的一个Azure侧的“化身”。
如果您正在通过纯代码/纯脚本与Azure进行交互,那么请遵循脚本/代码的逻辑.
我们的管理员说,该管道以手动运行管道的人的身份运行。如果这是真的,我们将不得不给予所有的开发者和用户读/写的访问博客存储,这将是疯狂的。
对于本地DevOps服务,当然不是。除非这条管道有特殊的设计。
发布于 2022-07-08 15:21:30
我相信输油管道是“代理人”。谁是“代理用户”将取决于,首先,您选择了一个“微软托管”或“自托管”代理来运行您的管道。
发布于 2022-07-08 15:44:05
https://stackoverflow.com/questions/72913324
复制相似问题