第 3 章 管理对软件仓库的访问
作为 Red Hat Quay 用户,您可以创建自己的存储库,并使其可以被属于您的实例的其他用户访问。或者,您可以创建特定的机构,以允许根据定义的团队访问存储库。
在用户和组织存储库中,您可以通过创建与 Robot Accounts 关联的凭据来允许访问这些存储库。机器人帐户使得各种容器客户端(如 Docker 或 Podman)可以轻松地访问您的存储库,而无需客户端具有 Red Hat Quay 用户帐户。
3.1. 允许访问用户存储库 复制链接链接已复制到粘贴板!
在用户命名空间中创建存储库时,您可以向用户帐户或 Robot Accounts 添加对该存储库的访问权限。
3.1.1. 允许用户访问用户存储库 复制链接链接已复制到粘贴板!
使用以下步骤允许访问与用户帐户关联的存储库。
流程
- 使用您的用户帐户登录到 Red Hat Quay。
- 选择用户命名空间下将在多个用户之间共享的存储库。
- 在导航窗格中选择 Settings。
键入您要授予存储库访问权限的用户名称。当您输入时,应会显示名称。例如:
在权限框中,选择以下之一:
- 读取.允许用户从存储库查看和拉取。
- 写入。允许用户查看存储库、从存储库拉取镜像或将镜像推送到存储库。
- 管理.为用户提供存储库的所有管理设置,以及所有的 Read 和 Write 权限。
- 选择 Add Permission 按钮。用户现在有分配的权限。
- 可选。您可以选择 Options 图标,然后选择 Delete Permission 来删除或更改用户权限到存储库。
3.1.2. 允许机器访问用户存储库 复制链接链接已复制到粘贴板!
机器人帐户用于自动访问 Red Hat Quay registry 中的存储库。它们与 OpenShift Container Platform 服务帐户类似。
设置 Robot 帐户如下所示:
- 生成与 Robot 帐户关联的凭据。
- Robot 帐户可从中推送和拉取镜像的存储库和镜像将被识别。
- 生成的凭据可以复制和粘贴以与不同的容器客户端一起使用,如 Docker、Podman、Kubernetes、Masos 等,以访问每个定义的存储库。
每个 Robot 帐户都仅限于单个用户命名空间或组织。例如,Robot 帐户可以提供对用户 jsmith
的所有存储库的访问权限。但是,它无法提供对不在用户存储库列表中的存储库的访问权限。
使用以下步骤设置允许访问您的存储库的 Robot 帐户。
流程
- 在 Repositories 登录页面上,单击用户的名称。
- 单击导航窗格上的 Robot Accounts。
- 单击 Create Robot Account。
- 为您的 Robot 帐户提供名称。
- 可选。为您的 Robot 帐户提供描述。
-
单击 Create Robot Account。您的 Robot 帐户的名称是您的用户名与机器人名称的组合,如
jsmith+robot
- 选择您要关联的 Robot 帐户的存储库。
将 Robot 帐户的权限设置为以下之一:
- None。Robot 帐户对存储库没有权限。
- 读取.Robot 帐户可以从存储库查看和拉取。
- 写入。Robot 帐户可以从存储库读取(提取)并写入(推送)到存储库。
- 管理.从存储库拉取(pull)和推送到存储库的完整访问权限以及执行与存储库关联的管理任务的能力。
- 点 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 字段中标识的凭证。