dockerhub自动构建-需要广泛的github权限吗?

时间:2019-11-09 15:56:33

标签: docker dockerhub

我正在寻找在Dockerhub上测试自动化容器构建的方法,我发现我需要将我的github帐户链接到我的hub.docker.account。
但是,当我单击“连接”按钮时,我被带到一个github授权页面,上面显示:

Docker Hub Builder by docker wants to access your larryms account

Repositories
Public and private
This application will be able to read and write all public and private repository data. 
This includes the following:

- Code
- Issues
- Pull requests
- Wikis
- Settings
- Webhooks and services
- Deploy keys
- Collaboration invites

这似乎太宽松了,太宽泛了;如果我对它的理解正确,则需要授予Docker Hub Builder读取和写入的权限,以访问全部我的github存储库,包括公共和私有

有没有办法使用最小特权原则来做到这一点,例如,仅授予Docker Hub Builder必要的权限(希望仅只读)给特定于 的github存储库?

1 个答案:

答案 0 :(得分:0)

GitHub上的

OAuth范围确实很广(请参阅https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes,在这里您也不能不授予写访问权限就授予读访问权限)。但是,范围与用户对相关存储库的实际许可权一起应用。也就是说,如果用户仅具有对存储库X的读取权限,并且用户向dockerhub授予了具有读写作用域的oauth令牌,则dockerhub将只能代表该用户从存储库X进行读取。如果用户稍后获得对仓库X的管理员访问权限,则已授予的访问令牌将不允许管理员访问,因为令牌的范围仅允许读写访问。

考虑到这一点,您可以在github组织中为dockerhub创建一个专用用户,并授予该用户对相关存储库的读取权限。然后使用此用户将dockerhub连接到您的github帐户,授予对所选存储库的只读访问权限。