第 3 章 管理对软件仓库的访问
作为 Red Hat Quay 用户,您可以创建自己的存储库,并使其可以被属于您的实例的其他用户访问。或者,您可以创建特定的组织,以允许根据定义的团队访问存储库。
在 User 和 Organization 存储库中,您可以通过创建与 Robot 帐户关联的凭证来允许访问这些存储库。机器人帐户使得各种容器客户端(如 Docker 或 Podman)很容易访问您的存储库,而无需客户端具有 Red Hat Quay 用户帐户。
3.1. 允许访问用户软件仓库 复制链接链接已复制到粘贴板!
在用户命名空间中创建存储库时,您可以将对该存储库的访问权限添加到用户帐户或通过 Robot Accounts 添加。
3.1.1. 允许用户访问用户存储库 复制链接链接已复制到粘贴板!
使用以下步骤允许访问与用户帐户关联的存储库。
步骤
- 使用您的用户帐户登录到 Red Hat Quay。
- 在用户命名空间下选择一个将在多个用户间共享的存储库。
- 在导航窗格中选择 Settings。
键入您要授予存储库访问权限的用户名。当您键入时,名称应当为。例如:
在权限框中,选择以下之一:
- 阅读。允许用户从存储库查看和拉取。
- 写入。允许用户查看存储库、从存储库拉取镜像或将镜像推送到存储库。
- 管理员.为用户提供存储库的所有管理设置,以及所有 读和写 权限。
- 选择 Add Permission 按钮。用户现在具有分配的权限。
- 可选。您可以选择 Options 图标,然后选择 Delete Permission 来删除或更改存储库的权限。
3.1.2. 允许机器人访问用户存储库 复制链接链接已复制到粘贴板!
机器人帐户用于设置对 Red Hat Quay registry 中存储库的自动访问。它们与 OpenShift Container Platform 服务帐户类似。
设置 Robot 帐户结果如下:
- 生成与 Robot 帐户关联的凭据。
- 可识别 Robot 帐户可以从中推送和拉取镜像的存储库和镜像。
- 可以复制和粘贴生成的凭据,以用于不同的容器客户端,如 Docker、Podman、Kubernetes、Msos 等,以访问每个定义的存储库。
每个 Robot 帐户都仅限于单个用户命名空间或机构。例如,Robot 帐户可以为用户提供 jsmith
的所有存储库的访问权限。但是,它无法提供对不在用户存储库列表中的存储库的访问。
使用以下步骤设置允许访问您的存储库的 Robot 帐户。
步骤
- 在 Repositories 登录页面上,单击用户的名称。
- 在导航窗格上,单击 Robot Accounts。
- 单击 Create Robot Account。
- 为您的 Robot 帐户提供名称。
- 可选。为您的 Robot 帐户提供描述。
-
单击 Create Robot Account。Robot 帐户的名称成为您的用户名以及机器人的名称的组合,如
jsmith+robot
- 选择您要与 Robot 帐户关联的存储库。
将 Robot 帐户的权限设置为以下之一:
- None。Robot 帐户没有存储库的权限。
- 阅读。Robot 帐户可以从存储库查看和拉取。
- 写入。Robot 帐户可以从存储库读取(拉取)并写入(push)到存储库。
- 管理员.从存储库拉取和推送到存储库的完整访问权限,以及执行与存储库关联的管理任务。
- 点 Add permissions 按钮应用设置。
- 在 Robot Accounts 页面上,选择 Robot Account 以查看该人的凭据信息。
在 Robot Account 选项下,单击 Copy to Clipboard,为机器人复制生成的令牌。要生成新的令牌,您可以点 Regenerate Token。
注意重新生成令牌会使此机器人的任何以前的令牌无效。
使用以下方法获取生成的凭证:
- Kubernetes Secret: 选择此项以 Kubernetes pull secret yaml 文件的形式下载凭证。
-
rkt Configuration :选择此项以
.json
文件的形式下载 rkt 容器运行时的凭证。 -
docker Login :选择此项以复制包含凭据的完整
docker login
命令行。 -
docker Configuration :选择此项以下载用作 Docker
config.json
文件的文件,以将凭证永久存储在客户端系统上。 - Mesos Credentials: 选择此项下载一个 tarball,它提供可在 Mesos 配置文件的 URI 字段中标识的凭证。