1

目前,我审核 Azure Devops 服务连接的安全性:存储在服务连接中的凭据有多安全?

示例是 TwineAuthenticate 任务。它将从服务连接中提取凭据pythonUploadServiceConnection并将它们写入 PyPI 资源文件。

或者是吗?

检查此文件(编辑

- script: |
    cat $(PYPIRC_PATH)

显示用户和密码的值为***,这不是服务连接提供的凭据。

那么twine读取 PyPI 资源文件时发生了什么神奇的事情呢?这是安全的还是只是被混淆了?

4

1 回答 1

2

只要 Azure DevOps 知道变量的性质,它就会掩盖你的秘密。本文是关于github 操作的,但您可以对 Azure DevOps 应用相同的规则。

请在此处查看文档

我们努力掩盖秘密出现在 Azure Pipelines 输出中,但您仍然需要采取预防措施。永远不要将秘密作为输出回显。一些操作系统记录命令行参数。永远不要在命令行上传递秘密。相反,我们建议您将您的秘密映射到环境变量中。

我们从不掩盖秘密的子串。例如,如果将“abc123”设置为机密,则不会从日志中屏蔽“abc”。这是为了避免在太细的级别上掩盖秘密,使日志不可读。因此,机密不应包含结构化数据。例如,如果 "{ "foo": "bar" }" 设置为机密,则不会从日志中屏蔽 "bar"。

于 2020-09-29T20:11:17.340 回答