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

标签 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 存储库,公共(public)和 私有(private) .

有没有办法使用最小权限原则来做到这一点,例如只授予 Docker Hub Builder 必要的权限(希望是只读的)只给 具体 github repo ?

最佳答案

GitHub 上的 OAuth 范围确实很广(参见 https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/#available-scopes ,如果不授予写入权限,您就无法授予读取权限)。但是,范围与用户对相关存储库的实际权限一起应用。也就是说,如果用户只有对 repo X 的读取权限,并且用户向 dockerhub 授予了具有读写范围的 oauth token ,则 dockerhub 将只能代表该用户从 repo X 中读取。如果用户稍后获得对 repo X 的管理员访问权限,则已授予的访问 token 将不允许管理员访问,因为 token 的范围仅允许读取和写入访问权限。

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

关于dockerhub 自动构建 - 需要广泛的 github 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58780965/

相关文章:

docker - 复制或添加命令未在 docker hub 上执行

Dockerfile 在本地计算机中编译,但在 docker hub 中自动构建失败

docker - 无法从 Gitlab CI 访问私有(private) MySQL Docker 镜像

rest - 通过远程访问 API 访问 Docker for Mac

windows - Windows Docker 托管Kafka 删除主题异常

mysql - DBUnit 如何设置属性来测试在 Docker 容器中运行的数据库

macos - 来自守护进程 : login attempt to https://hub. docker.com/v2/的错误响应失败,状态为:404 Not Found

Docker Swarm - 跨主机部署具有共享代码库的堆栈

java - 使用docker和java spring时keycloak认证问题

json - OpenShift V3 : understanding the process with Docker