11.3. 团队同步 Red Hat Quay OIDC 部署


管理员可以利用支持组或团队同步的 OpenID Connect (OIDC)身份提供程序,为 Red Hat Quay 中的一组用户应用存储库权限。这样,管理员可以避免在 Red Hat Quay 和 OIDC 组之间手动创建和同步组定义。

11.3.1. 为 Red Hat Quay OIDC 部署启用同步

当 Red Hat Quay 部署使用 OIDC 身份验证程序时,使用以下流程启用团队同步。

重要

以下流程不使用特定的 OIDC 供应商。相反,它提供了一个在 OIDC 供应商和 Red Hat Quay 之间接近团队同步的一般概述。任何 OIDC 供应商都可用于启用团队同步,但设置可能会因您的供应商而异。

流程

  1. 使用以下信息更新 config.yaml 文件:

    AUTHENTICATION_TYPE: OIDC
    # ...
    OIDC_LOGIN_CONFIG:
      CLIENT_ID: 1
      CLIENT_SECRET: 2
      OIDC_SERVER: 3
      SERVICE_NAME: 4
      PREFERRED_GROUP_CLAIM_NAME: 5
      LOGIN_SCOPES: [ 'openid', '<example_scope>' ] 6
      OIDC_DISABLE_USER_ENDPOINT: false 7
    # ...
    FEATURE_TEAM_SYNCING: true 8
    FEATURE_NONSUPERUSER_TEAM_SYNCING_SETUP: true 9
    FEATURE_UI_V2: true
    # ...
    1
    必需。此 Red Hat Quay 实例注册的 OIDC 客户端 ID。
    2
    必需。此 Red Hat Quay 实例注册的 OIDC 客户端 secret。
    3
    必需。用于身份验证的 OIDC 服务器的地址。此 URL 应该使对 < OIDC_SERVER>/.well-known/openid-configurationGET 请求返回供应商的配置信息。此配置信息对于依赖方(RP)来安全地与 OpenID Connect 供应商交互非常重要,并获取身份验证和授权流程的必要详情。
    4
    必需。被身份验证的服务的名称。
    5
    必需。OIDC 令牌有效负载中的密钥名称,其中包含用户组成员资格的信息。此字段允许身份验证系统从 OIDC 令牌中提取组成员资格信息,以便它可以与 Red Hat Quay 一起使用。
    6
    必需。添加 Red Hat Quay 用来与 OIDC 供应商通信的其他范围。必须包含 'openid'。其他范围是可选的。
    7
    是否允许或拒绝 /userinfo 端点。如果使用 Azure Entra ID,请将此字段设置为 true。默认值为 false
    8
    必需。是否允许团队成员资格与身份验证引擎中的后备组同步。
    9
    可选。如果启用,非超级用户就可以设置团队同步。
  2. 重启 Red Hat Quay registry。

11.3.2. 为团队同步设置 Red Hat Quay 部署

  1. 使用您的 OIDC 供应商登录到 Red Hat Quay registry。
  2. 在 Red Hat Quay v2 UI 仪表板上,单击 Create Organization
  3. 输入 和 Organization 名称,如 test-org
  4. 点机构的名称。
  5. 在导航窗格中,单击 Teams 和 membership
  6. Create new team 并输入名称,如 testteam
  7. Create team 弹出窗口中:

    1. 可选。将此团队添加到存储库中。
    2. 通过在用户帐户名称中键入,添加团队成员(如 user1 )。
    3. 向这个团队添加一个机器人帐户。此页面提供创建机器人帐户的选项。
  8. 点击 Next
  9. Review and Finish 页面中,查看您提供的信息,然后点 Review 和 Finish
  10. 要为 Red Hat Quay OIDC 部署启用团队同步,请点击 团队和成员资格 页面上的 Enable Directory Sync
  11. 如果您的 OIDC 验证器是 Azure Entra ID,或者使用其他供应商,则会提示您输入组对象 ID。请注意弹出窗口中的信息:

    警告

    请注意,当启用团队同步后,已经成为该团队一部分的用户成员资格将被撤销。OIDC 组将是单一数据源。这是一个不可逆的操作。Quay 中的团队用户成员资格将是只读的。

  12. 单击 Enable Sync
  13. 返回 团队和成员资格 页面。请注意,这个团队的用户已被删除,并在重新登录后重新添加。在这个阶段,只有机器人帐户仍然是团队的一部分。

    页面顶部的横幅确认同步了团队:

    This team is synchronized with a group in OIDC and its user membership is therefore read-only.

    Directory Synchronization Config Provider,显示您的部署与同步的 OIDC 组。

  14. 从 Red Hat Quay registry 注销,并继续验证步骤。

验证

使用以下验证过程,确保 user1 显示为团队成员。

  1. 重新登录您的 Red Hat Quay registry。
  2. Organizations test-org test-team Teams 和 membershipsuser1 现在显示为这个团队的团队成员。

验证

使用以下步骤通过 OIDC 供应商从组中删除 user1,然后将其从 Red Hat Quay 上的团队中删除。

  1. 进入您的 OIDC 供应商管理控制台。
  2. 进入 OIDC 供应商的 Users 页面。此页面的名称因您的供应商而异。
  3. 单击与 Red Hat Quay 关联的用户的名称,如 user1
  4. 在配置的身份提供程序中,从组中删除该用户。
  5. 从用户中删除或取消分配的访问权限。
  6. 登录到您的 Red Hat Quay registry。
  7. Organizations test-org test-team Teams 和 membershipsuser1 已从此团队中删除。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.