当前,我审核Azure Devops服务连接的安全性:存储在服务连接中的凭据的安全性如何?
例如TwineAuthenticate任务。它将从服务连接pythonUploadServiceConnection
中提取凭据,并将它们写入PyPI资源文件。
还是这样?
检查此文件(编辑(
- script: |
cat $(PYPIRC_PATH)
显示用户和密码的值为***
,而不是服务连接提供的凭据。
那么,当twine
读取PyPI资源文件时,发生了什么神奇的事情呢?这是安全的还是混淆了?
Azure DevOps在了解变量性质的情况下为您保密。这篇文章是关于github操作的,但您可以对Azure DevOps应用相同的规则。
请看一下文档中的内容
我们努力掩盖Azure管道输出中出现的机密,但您仍然需要采取预防措施。永远不要将机密作为输出进行回显。某些操作系统记录命令行参数。永远不要在命令行传递机密。相反,我们建议您将您的秘密映射到环境变量中。
我们从不掩饰秘密的底层。例如,如果";abc123";被设置为秘密;abc";没有从日志中屏蔽。这是为了避免在太细粒度的级别上屏蔽机密,从而使日志无法读取。因此,机密不应包含结构化数据。例如,如果";{"foo":"bar"};被设置为秘密;条";没有从日志中屏蔽。