如何使用 GitHub Actions 和秘密令牌安全地对后端进行 API 调用?

How to securely make an API call to a backend using GitHub Actions and a secret token?

提问人:Lukas Petersson 提问时间:3/7/2023 更新时间:3/7/2023 访问量:242

问:

我正在创建一个 GitHub 操作,我想分发给其他人使用。但是,我不希望其他人看到代码的逻辑,我也不希望他们能够读取代码正在使用的秘密令牌。我将存储库设为私有,但我读到用户仍然可以通过日志从中获取信息。因此,我想知道如何最好地设置它。

关于第一个问题,如果存储库是私有的,人们可以看到实际代码还是只打印到日志中?API 调用怎么样,他们会看到该流量吗(假设我没有打印它)?

关于第二个问题,我将令牌放在 repo 的文件中,但我知道这并不安全。我也试图将其设置为 repo-secret,但我无法找到如何使用它。

我以为我可能需要使用所有代码设置另一台服务器,并且只通过操作触发它。之所以可以做到这一点,是因为操作的用户通过机密将身份验证令牌传递给操作,因此我可以使用该令牌向外部服务器进行身份验证。我还看到了 GitHub 应用程序的存在,但我无法确定它们是否是我正在寻找的解决方案。

谁能就如何设置它提供建议?我将不胜感激!

REST 安全 github-actions github-api

评论


答:

0赞 Fcmam5 3/7/2023 #1

您的 GitHub 操作的用户可以读取代码,除非您将其作为 Docker 操作与代码的一些编译二进制文件一起分发,但是,这仍然可以进行逆向工程,因为您的用户将拥有您的操作

因此,将你的秘密融入你的行动通常是一个坏主意。

您可以将“隐藏的逻辑和机密”放在托管应用程序中,然后使用 GitHub 操作来运行它。