You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline运行GitHub托管Python脚本时如何安全存储账号密码凭证?

Azure Pipeline运行Python脚本的敏感凭证存储最佳实践

1. 在Azure DevOps中定义加密敏感变量

进入对应流水线的编辑页面,找到「变量」选项卡,新增两个变量:APP_USERNAME和APP_PASSWORD,必须勾选「保持此值为机密」选项。勾选后变量值会被加密存储,流水线运行日志会自动对该值打码,不会泄露明文。

注意:Azure DevOps的机密变量默认不会自动暴露给任务进程,需要后续手动映射才能被脚本读取,这是平台原生的安全机制。

2. 修改Python脚本读取环境变量

移除原脚本中的硬编码凭证,改为通过os模块读取环境变量获取凭证,修改后的代码示例:

import os

# 从环境变量读取凭证
USERNAME = os.getenv("APP_USERNAME")
PASSWORD = os.getenv("APP_PASSWORD")

# 原业务逻辑直接使用变量即可
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div[class$='visible-lg'] input#signInFormUsername"))).send_keys(USERNAME)
wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "div[class$='visible-lg'] input#signInFormPassword"))).send_keys(PASSWORD)

3. 配置流水线传递变量到脚本运行环境

如果你使用YAML格式定义流水线,在执行Python脚本的任务中添加env字段,将之前定义的机密变量映射为进程环境变量,示例配置:

- task: PythonScript@0
  inputs:
    scriptSource: 'filePath'
    scriptPath: '你的脚本存储路径/xxx.py'
  env:
    # 左侧是环境变量名,和Python脚本中读取的名称对应;右侧是之前定义的流水线变量引用
    APP_USERNAME: $(APP_USERNAME)
    APP_PASSWORD: $(APP_PASSWORD)

如果你使用经典视图编辑流水线,直接在Python脚本任务的「环境变量」配置栏添加上述两组键值对即可,值部分用$(变量名)格式引用之前定义的流水线变量。

额外安全建议

  • 不要在脚本中打印、输出任何凭证相关内容,避免意外泄露
  • 遵循最小权限原则:该凭证对应账号的权限仅控制到自动化操作必需的最小范围,降低泄露后的影响面
  • 定期轮换凭证:只需更新Azure DevOps中存储的变量值即可,不需要修改脚本或流水线配置

内容的提问来源于stack exchange,提问作者Nayden Van

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 03:03:01