如何保护存储在源代码管理中的凭据以供Visual Studio Online构建控制器使用

时间:2014-04-10 12:11:00

标签: powershell tfs azure-devops

我有一个PowerShell脚本,在编译代码后执行。此脚本连接到远程计算机并传输文件,然后将它们部署到该远程计算机上。我的脚本需要该远程计算机的凭据。由于所有这些都存储在TFS中,这意味着任何有权访问visualstudio.com中的TFS实例的人都可以使用凭据

我已经完成了一些阅读,大多数解决方案都涉及将解密密钥存储在构建服务器上(在文件中,作为环境变量等)。如果我拥有/控制构建服务器,这很好,但我使用的是托管构建服务器。如果我把密钥放在我的源代码控制中,那么首先会破坏加密值的全部目的。

我有什么东西在这里失踪吗?我是从错误的角度处理这个问题吗?

1 个答案:

答案 0 :(得分:0)

只要您使用TFS的Build-System,您就会遇到安全问题。每个能够以任何方式触发构建的人都能够访问整个集合的源代码控制,即使他不允许通过权限执行。

即使在构建服务器上存储解密密钥的方法也不安全,因为在单元测试中,开发人员可以使用构建帐户凭据访问构建服务器的本地磁盘。

因此,如果你使用tfs构建系统,你最需要信任你的开发人员。