我应该在 GitHub 操作工作流程结束时删除机密文件吗?
Should I remove confidential files at the end of a GitHub Action workflow?
我有一些操作需要将机密存储到文件中。这个秘密稍后被另一个工作使用,比如:
env:
FIREBASE_DISTRIBUTION_KEY: ${{ secrets.GCP_SA_FIREBASE_DISTRIBUTION_PROD_KEY }}
run: |
echo $FIREBASE_DISTRIBUTION_KEY > key.json
export GOOGLE_APPLICATION_CREDENTIALS=key.json
从安全角度来看,我是否应该在工作流程结束时删除 key.json
?喜欢:
- name: Remove credentials
if: always()
run: |
rm key.json
我正在考虑 GitHub Actions 容器遭到破坏并且有人可以访问这些文件的场景。或者不相信 GitHub 他们正在完全删除 GitHub 操作容器。
这不是必需的。
首先,GitHub 动作运行器不是容器,它们是虚拟机。没有容器逃逸的机会,也没有“清理”容器的概念。
虚拟机处理完毕。 运行 您的工作所在的虚拟机及其任何磁盘映像都不会 re-used。
我有一些操作需要将机密存储到文件中。这个秘密稍后被另一个工作使用,比如:
env:
FIREBASE_DISTRIBUTION_KEY: ${{ secrets.GCP_SA_FIREBASE_DISTRIBUTION_PROD_KEY }}
run: |
echo $FIREBASE_DISTRIBUTION_KEY > key.json
export GOOGLE_APPLICATION_CREDENTIALS=key.json
从安全角度来看,我是否应该在工作流程结束时删除 key.json
?喜欢:
- name: Remove credentials
if: always()
run: |
rm key.json
我正在考虑 GitHub Actions 容器遭到破坏并且有人可以访问这些文件的场景。或者不相信 GitHub 他们正在完全删除 GitHub 操作容器。
这不是必需的。
首先,GitHub 动作运行器不是容器,它们是虚拟机。没有容器逃逸的机会,也没有“清理”容器的概念。
虚拟机处理完毕。 运行 您的工作所在的虚拟机及其任何磁盘映像都不会 re-used。