5.2. 使用 Red Hat Single Sign-On 配置 Apicurio Registry 身份验证和授权


本节介绍如何使用 Red Hat Single Sign-On 手动配置 Apicurio Registry 的身份验证和授权选项。

注意

或者,了解如何自动配置这些设置的详情,请参考 第 5.1 节 “使用 Red Hat Single Sign-On Operator 保护 Apicurio Registry”

您可以使用基于 OpenID Connect (OIDC)的 OAuth 使用 Red Hat Single Sign-On 为 Apicurio Registry Web 控制台和核心 REST API 启用身份验证。同一 Red Hat Single Sign-On 域和用户使用相同的 Red Hat Single Sign-On 域,用户在使用 OpenID Connect 的 Apicurio Web 控制台和核心 REST API 中联合,以便您仅需要一组凭证。

Apicurio Registry 为默认的 admin、write 和 read-only 用户角色提供基于角色的访问控制的授权。Apicurio Registry 还在 schema 或 API 级别上提供基于内容的授权,其中只有 registry 工件的创建者才能更新或删除它。默认会禁用 Apicurio Registry 身份验证和授权设置。

前提条件

流程

  1. 在 Red Hat Single Sign-On Admin Console 中,为 Apicurio Registry 创建 Red Hat Single Sign-On 域。默认情况下,Apicurio Registry 需要 registry 的域名。有关创建域的详情,请查看 Red Hat Single Sign-On 用户文档
  2. 为 Apicurio Registry API 创建 Red Hat Single Sign-On 客户端。默认情况下,Apicurio Registry 需要以下设置:

    • 客户端 IDregistry-api
    • 客户端协议openid-connect
    • 访问类型 :仅bearer-only

      您可以将默认值用于其他客户端设置。

      注意

      如果您使用 Red Hat Single Sign-On 服务帐户,客户端的 Access Type 必须是 confidential 而不是 bearer-only

  3. 为 Apicurio Registry Web 控制台创建 Red Hat Single Sign-On 客户端。默认情况下,Apicurio Registry 需要以下设置:

    • Client ID:apicurio-registry
    • 客户端协议openid-connect
    • 访问类型public
    • 有效的 Redirect URL:http://my-registry-url:8080/*
    • Web Origins:+

      您可以将默认值用于其他客户端设置。

  4. 在 OpenShift 上的 Apicurio Registry 部署中,使用 Red Hat Single Sign-On 设置以下 Apicurio Registry 环境变量来配置身份验证:

    Expand
    表 5.2. 配置 Apicurio Registry 身份验证
    环境变量描述类型默认

    AUTH_ENABLED

    如果设置为 true,则需要遵循的环境变量。

    字符串

    false

    KEYCLOAK_URL

    要使用的红帽单点登录身份验证服务器的 URL。必须以 /auth 结尾。

    字符串

    KEYCLOAK_REALM

    用于身份验证的红帽单点登录域。

    字符串

    registry

    KEYCLOAK_API_CLIENT_ID

    Apicurio Registry REST API 的客户端 ID。

    字符串

    registry-api

    KEYCLOAK_UI_CLIENT_ID

    Apicurio Registry Web 控制台的客户端 ID。

    字符串

    apicurio-registry

    提示

    有关在 OpenShift 中设置环境变量的示例,请参阅 第 6.1 节 “在 OpenShift 上配置 Apicurio Registry 健康检查”

  5. 将以下选项设置为 true,在 Red Hat Single Sign-On 中启用 Apicurio Registry 用户角色:

    Expand
    表 5.3. 配置 Apicurio Registry 基于角色的访问控制
    环境变量Java 系统属性类型默认值

    ROLE_BASED_AUTHZ_ENABLED

    registry.auth.role-based-authorization

    布尔值

    false

  6. 启用 Apicurio Registry 用户角色时,您必须将 Apicurio Registry 用户分配给 Red Hat Single Sign-On 域中的以下默认用户角色之一:

    Expand
    表 5.4. 用于 registry 身份验证和授权的默认用户角色
    角色读取工件编写工件全局规则概述

    sr-admin

    对所有创建、读取、更新和删除操作的完整访问权限。

    sr-developer

    除配置全局规则外,创建、读取、更新和删除操作的访问权限。此角色可以配置工件规则。

    sr-readonly

    仅读和搜索操作的访问权限。此角色无法配置任何规则。

  7. 将以下内容设置为 true,为 Apicurio Registry 中的 schema 和 API 工件启用仅限所有者的授权:

    Expand
    表 5.5. 配置仅限所有者的授权
    环境变量Java 系统属性类型默认值

    REGISTRY_AUTH_OBAC_ENABLED

    registry.auth.owner-only-authorization

    布尔值

    false

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat