第 11 章 为 Red Hat Quay 配置 OIDC


为 Red Hat Quay 配置 OpenID Connect (OIDC)可以为部署提供几个优点。例如,OIDC 允许用户使用来自 OIDC 供应商的现有凭证(如 Red Hat Single Sign-On、Google、Github、Microsoft 等)向 Red Hat Quay 进行身份验证。OIDC 的其他优点包括集中式用户管理、增强安全性和单点登录(SSO)。总体而言,OIDC 配置可以简化用户身份验证和管理,增强安全性,并为 Red Hat Quay 用户提供无缝的用户体验。

以下流程演示了如何在 Red Hat Quay 的独立部署中配置 Microsoft Entra ID,以及如何在基于 Operator 的 Red Hat Quay 部署上配置 Red Hat Single Sign-On。这些流程可根据您的部署类型进行交换。

注意

按照以下步骤,无论您选择使用什么身份提供程序,您都可以在 Red Hat Quay 中添加任何 OIDC 供应商。

11.1. 在 Red Hat Quay 的独立部署中配置 Microsoft Entra ID OIDC

通过将 Microsoft Entra ID 身份验证与 Red Hat Quay 集成,您的组织可以利用 Microsoft Entra ID 提供的集中式用户管理和安全功能。某些功能包括根据 Microsoft Entra ID 角色和权限管理用户对 Red Hat Quay 存储库的访问权限,以及启用由 Microsoft Entra ID 提供的多因素身份验证和其他安全功能的功能。

Red Hat Quay 的 Azure Active Directory (Microsoft Entra ID)身份验证允许用户使用 Microsoft Entra ID 凭证验证和访问 Red Hat Quay。

使用以下步骤通过直接更新 Red Hat Quay config.yaml 文件来配置 Microsoft Entra ID。

流程
  • 使用以下步骤,您可以在 Red Hat Quay 中添加任何 ODIC 供应商,而不考虑正在添加哪些身份提供程序。
  • 如果您的系统启用了防火墙,或者启用了代理,则必须将创建的每个 Oauth 应用程序的所有 Azure API 端点列入白名单。否则,会返回以下错误: x509: certificate signed by unknown authority
  1. 使用以下引用并更新 config.yaml 文件,使用您需要的 OIDC 供应商凭证更新您的 config.yaml 文件:

    AUTHENTICATION_TYPE: OIDC
    # ...
    AZURE_LOGIN_CONFIG: 1
        CLIENT_ID: <client_id> 2
        CLIENT_SECRET: <client_secret> 3
        OIDC_SERVER: <oidc_server_address_> 4
        SERVICE_NAME: Microsoft Entra ID 5
        VERIFIED_EMAIL_CLAIM_NAME: <verified_email> 6
    # ...
    1
    包含 OIDC 配置设置的父键。在本例中,所用的父密钥是 AZURE_LOGIN_CONFIG,但字符串 AZURE 可以根据您的特定需求替换任意任意字符串,如 ABC123。但是,以下字符串不被接受: GOOGLE,GITHUB。这些字符串为其对应的身份平台保留,且需要在您使用的平台时进行特定的 config.yaml 条目。
    2
    与身份提供程序一起注册的应用程序的客户端 ID。
    3
    与身份提供程序一起注册的应用的客户端机密。
    4
    用于身份验证的 OIDC 服务器地址。在本例中,您必须使用 sts.windows.net 作为签发者标识符。使用 https://login.microsoftonline.com 会导致以下错误: Could not create provider for AzureAD。error: oidc: issuer 与供应商返回的签发者不匹配,预期的 "https://login.microsoftonline.com/73f2e714-xxxx-xxxx-xxxx-dffe1df8a5d5" got "https://sts.windows.net/73f2e714-xxxx-xxxx-xxxx-dffe1df8a5d5/"
    5
    正在验证的服务的名称。
    6
    用于验证用户电子邮件地址的声明名称。
  2. 正确配置 Microsoft Entra ID 结果使用以下格式进行三个重定向:

    • https://QUAY_HOSTNAME/oauth2/<name_of_service>/callback
    • https://QUAY_HOSTNAME/oauth2/<name_of_service>/callback/attach
    • https://QUAY_HOSTNAME/oauth2/<name_of_service>/callback/cli
  3. 重启 Red Hat Quay 部署。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.