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

如何部署Streamlit应用并向终端用户隐藏私有API密钥?

部署Streamlit应用时隐藏API密钥的可行方案

本地部署场景

  • 使用环境变量:在本地终端临时设置环境变量,Windows执行set API_KEY=你的私有密钥,Linux/macOS执行export API_KEY=你的私有密钥,代码中通过os.getenv("API_KEY")读取密钥。同时创建.env文件存储密钥(格式为API_KEY=你的私有密钥),并将.env加入.gitignore,防止提交到代码仓库。
  • Streamlit本地Secrets文件:在项目根目录创建.streamlit/secrets.toml文件,写入API_KEY = "你的私有密钥",同样将.streamlit/目录加入.gitignore,代码中用st.secrets["API_KEY"]读取密钥。

云平台部署场景(Heroku、AWS、GCP等)

  • 平台内置Secrets管理工具:
    • Heroku:在控制台的应用设置中添加Config Vars,键为API_KEY,值为你的私有密钥,代码中通过os.getenv("API_KEY")读取。
    • AWS/GCP:使用各自的Secrets Manager服务存储密钥,部署时配置应用从服务中拉取密钥,或通过平台的环境变量注入功能传递密钥。
  • Streamlit Community Cloud:直接在应用的设置页面添加Secrets,代码中用st.secrets["API_KEY"]读取,密钥不会暴露在代码或仓库中。

通用安全原则

  • 绝对不要将API密钥硬编码到代码中,也不要提交到Git等版本控制系统。
  • 避免在应用日志、输出内容中打印密钥,防止意外泄露。
  • 给API密钥配置最小权限,仅赋予应用所需的访问权限,降低泄露后的风险。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:10:27