我正在探索使用 GitHub 容器注册表 (ghcr) 来存储构建在我的持续集成 (CI) 管道中的 Docker 映像,这些管道构建在 GitHub Actions 中。
我正在阅读Migrating to GitHub Container Registry for Docker 映像,其中指出:
将您的新容器注册表身份验证个人访问令牌 (PAT) 添加为 GitHub Actions 密码。GitHub Container Registry 不支持将 GITHUB_TOKEN 用于您的 PAT,因此您必须使用不同的自定义变量,例如
CR_PAT
.
在那篇文章的前面虽然有一个指向GitHub Actions 的安全强化 的链接,其中指出:
您永远不应使用您自己帐户中的个人访问令牌。这些令牌授予对您有权访问的组织内的所有存储库以及您用户帐户中的所有个人存储库的访问权限。这间接地授予工作流所在存储库的所有写访问用户的广泛访问权限。此外,如果您以后离开组织,使用此令牌的工作流将立即中断,并且调试此问题可能具有挑战性。
如果使用个人访问令牌,它应该是为新帐户生成的令牌,该帐户仅被授予访问工作流所需的特定存储库的权限。请注意,此方法不可扩展,应避免使用替代方法,例如部署密钥。
这些引述似乎自相矛盾。第一个是告诉我在 CI 管道中使用 PAT 对 ghcr 进行身份验证,另一个似乎告诉我不应该这样做。
我是正确的,他们是矛盾的还是我误解了?
从 GitHub Action 工作流程对 ghcr 进行身份验证的正确操作流程是什么?