确保某些 github 操作仅由所有者运行

Jas*_* Yu 6 github-actions

我有一项将上下文上传到其他网站的操作工作。令牌已设置并存储在secret.MY_TOKEN.

但发出拉取请求的其他人也会使用我设置的令牌触发此操作作业。

如何限制执行作业的权限,只有我可以运行此操作作业。

仅供参考,我的ci.yml如下:

name: foobar

on: [push, pull_request]

jobs:

  upload:
    runs-on: ubuntu-latest

    steps:
    ....

    - name: execute upload
      env:
        TOKEN: ${{ secrets.MYTOKEN }}
      run:
        upl --token ${TOKEN}
Run Code Online (Sandbox Code Playgroud)

我认为这里存在两个安全问题。

  1. 该令牌打印在日志文件中。
  2. 其他人可以根据自己的目的通过触发操作来使用此私有令牌。

xan*_*key 0

我不认为只允许某些用户运行操作是本机功能。

但是,您可以简单地检查操作上下文参与者,如果该参与者不是您自己(或存储库的所有者,或您想要的任何条件),则可以提前退出。