6.11. 使用 Red Hat Quay API 管理存储库权限


可以使用 Red Hat Quay API 管理存储库权限。例如,您可以创建、查看和删除用户和团队权限。

以下流程演示了如何使用 Red Hat Quay API 管理存储库权限。

6.11.1. 使用 Red Hat Quay API 管理用户权限

使用以下步骤使用 Red Hat Quay API 管理用户权限。

流程

  1. 使用 GET /api/v1/repository/{repository}/permissions/user/{username} 端点为用户获取存储库权限。例如:

    $ curl -X GET \
      -H "Authorization: Bearer <access_token>" \
      "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"
    Copy to Clipboard Toggle word wrap

    输出示例

    $ {"role": "read", "name": "testuser", "is_robot": false, "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "is_org_member": false}
    Copy to Clipboard Toggle word wrap

  2. 所有用户权限都可以使用 GET /api/v1/repository/{repository}/permissions/user/ 端点返回:

    $ curl -X GET \
      -H "Authorization: Bearer <access_token>" \
      "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/user/"
    Copy to Clipboard Toggle word wrap

    输出示例

    {"permissions": {"quayadmin": {"role": "admin", "name": "quayadmin", "is_robot": false, "avatar": {"name": "quayadmin", "hash": "6d640d802fe23b93779b987c187a4b7a4d8fbcbd4febe7009bdff58d84498fba", "color": "#f7b6d2", "kind": "user"}, "is_org_member": true}, "test+example": {"role": "admin", "name": "test+example", "is_robot": true, "avatar": {"name": "test+example", "hash": "3b03050c26e900500437beee4f7f2a5855ca7e7c5eab4623a023ee613565a60e", "color": "#a1d99b", "kind": "robot"}, "is_org_member": true}}}
    Copy to Clipboard Toggle word wrap

  3. 另外,您可以使用 GET /api/v1/repository/{repository}/permissions/user/{username}/transitive 端点来仅返回用户的存储库权限:

    $ curl -X GET \
      -H "Authorization: Bearer <access_token>" \
      "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>/transitive"
    Copy to Clipboard Toggle word wrap

    输出示例

    {"permissions": [{"role": "admin"}]}
    Copy to Clipboard Toggle word wrap

  4. 您可以更改用户的权限,如使用 PUT /api/v1/repository/{repository}/permissions/user/{username} 端点使用户成为 admin。例如:

    $ curl -X PUT \
      -H "Authorization: Bearer <access_token>" \
      -H "Content-Type: application/json" \
      -d '{"role": "<role>"}' \
      "https://quay-server.example.com/api/v1/repository/<repository_path>/permissions/user/<username>"
    Copy to Clipboard Toggle word wrap

    输出示例

    {"role": "admin", "name": "testuser", "is_robot": false, "avatar": {"name": "testuser", "hash": "f660ab912ec121d1b1e928a0bb4bc61b15f5ad44d5efdc4e1c92a25e99b8e44a", "color": "#6b6ecf", "kind": "user"}, "is_org_member": false}
    Copy to Clipboard Toggle word wrap

  5. 可以使用 DELETE /api/v1/repository/{repository}/permissions/user/{username} 端点删除用户权限。例如:

    $ curl -X DELETE \
      -H "Authorization: Bearer <access_token>" \
      "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/user/<username>"
    Copy to Clipboard Toggle word wrap

    此命令不返回输出。

6.11.2. 使用 Red Hat Quay API 管理团队权限

使用以下步骤使用 Red Hat Quay API 管理团队权限。

  1. 可以使用 GET /api/v1/repository/{repository}/permissions/team/{teamname} 端点返回指定团队的权限:

    $ curl -X GET \
      -H "Authorization: Bearer <access_token>" \
      "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
    Copy to Clipboard Toggle word wrap

    输出示例

    {"role": "write"}
    Copy to Clipboard Toggle word wrap

  2. 所有团队的权限都可以使用 GET /api/v1/repository/{repository}/permissions/team/ 端点返回。例如:

    $ curl -X GET \
      -H "Authorization: Bearer <access_token>" \
      "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/"
    Copy to Clipboard Toggle word wrap

    输出示例

    {"permissions": {"ironmanteam": {"role": "read", "name": "ironmanteam", "avatar": {"name": "ironmanteam", "hash": "8045b2361613622183e87f33a7bfc54e100a41bca41094abb64320df29ef458d", "color": "#969696", "kind": "team"}}, "sillyteam": {"role": "read", "name": "sillyteam", "avatar": {"name": "sillyteam", "hash": "f275d39bdee2766d2404e2c6dbff28fe290969242e9fcf1ffb2cde36b83448ff", "color": "#17becf", "kind": "team"}}}}
    Copy to Clipboard Toggle word wrap

  3. 可以使用 PUT /api/v1/repository/{repository}/permissions/team/{teamname} 命令更改指定团队的权限。例如:

    $ curl -X PUT \
      -H "Authorization: Bearer <access_token>" \
      -H "Content-Type: application/json" \
      -d '{"role": "<role>"}' \
      "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
    Copy to Clipboard Toggle word wrap

    输出示例

    {"role": "admin", "name": "superteam", "avatar": {"name": "superteam", "hash": "48cb6d114200039fed5c601480653ae7371d5a8849521d4c3bf2418ea013fc0f", "color": "#9467bd", "kind": "team"}}
    Copy to Clipboard Toggle word wrap

  4. 可以使用 DELETE /api/v1/repository/{repository}/permissions/team/{teamname} 命令删除团队权限。例如:

    $ curl -X DELETE \
      -H "Authorization: Bearer <access_token>" \
      "https://quay-server.example.com/api/v1/repository/<namespace>/<repository>/permissions/team/<teamname>"
    Copy to Clipboard Toggle word wrap

    此命令不会在 CLI 中返回输出。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat