如何向nos提供敏感数据

2024-04-19 07:49:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用nose测试一个需要用户名和密码的Python类。向测试模块提供用户名和密码对的最佳实践是什么?我希望测试过程是直观的另一个工程师拿起,我不能存储任何敏感的信息在明文。有什么想法吗?你知道吗


Tags: 模块信息密码过程直观用户名nose工程师
1条回答
网友
1楼 · 发布于 2024-04-19 07:49:01

最常见的选择是在env变量中提供数据。你知道吗

import os

password = os.environ['PASSWORD']
username = os.environ['USERNAME']

$ USERNAME=user PASSWORD=qwerty nose

注意:根和进程所有者可以读取环境变量。通过命令行提供的变量随命令一起出现在shell历史记录中。你知道吗

手动测试

  • 鼓励(强制)开发者获得他们自己的证书
  • 加密凭证;除其他外,我将查看git-secret。Tox可以用来自动化一点。你知道吗

自动化测试

大多数CI系统提供选项(内部或通过插件)来存储和传递测试/构建计划的凭据,并在日志中屏蔽它们。例如Jenkins有许多插件Mask PasswordCredentials Binding。默认情况下,如果name有password单词,Atlassian的Bamboo会屏蔽所有计划变量。就我个人而言,我发现最有用的是Travis的encrypted variables,凭证与repo/commit有关,而不是与计划有关。你知道吗

相关问题 更多 >