![](/img/trans.png)
[英]How to pass secrets from GitHub Actions to python environ variables?
[英]Is it safe to pass GitHub Secrets as an argument to a python code?
我將 Telegram API 密鑰存儲在 GitHub secrets 中,並將它們傳遞給我的工作流程中的代碼,例如
python3 main.py ${{ secrets.API_KEY }
並在我的代碼中使用它
import sys
KEY = sys.argv[1]
在運行時,它確實過濾掉了 (***) 秘密,但這真的安全還是我應該尋找另一種方式來傳遞我的密鑰,如果作為 arg 傳遞,是否有人可以看到 API?
GitHub 使用libsodium 密封盒來幫助確保機密在到達 GitHub 之前已加密,並在您在工作流程中使用它們之前保持加密狀態。
這就是他們在工作流運行中返回* * *
的原因。 它是安全的。 但是,正如您在上面chepner 共享的鏈接中看到的那樣,有以下建議:
盡可能避免從命令行在進程之間傳遞機密。 命令行進程可能對其他用戶可見(使用 ps 命令)或被安全審計事件捕獲。 為了幫助保護機密,請考慮使用環境變量、STDIN 或目標進程支持的其他機制。
因此,在您的情況下,您應該將其作為環境env variable
添加到步驟中,而不是直接在命令行上發送這樣的變量:
steps:
- run: python3 main.py
env:
API_KEY: ${{ secrets.API_KEY }
然后在 python 腳本中使用KEY = os.environ.get("API_KEY")
提取變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.