5.2. 使用红帽单点登录配置服务 Registry 身份验证和授权
本节介绍如何使用 Red Hat Single Sign-On 手动配置 Service Registry 的身份验证和授权选项。
或者,有关如何自动配置这些设置的详情,请参考 第 5.1 节 “使用 Red Hat Single Sign-On Operator 保护 Service Registry”。
您可以使用基于使用 OpenID Connect(OIDC)的 Red Hat Single Sign-On 启用 Service Registry web 控制台和核心 REST API 的身份验证。相同的 Red Hat Single Sign-On 域和用户在使用 OpenID Connect 的 Service Registry Web 控制台和核心 REST API 中联合,因此您只需要一组凭证。
Service Registry 为默认 admin、write 和 read-only 用户角色提供基于角色的授权。Service Registry 在 schema 或 API 级别上提供基于内容的授权,其中只有 registry 工件的创建者可以更新或删除它。服务 Registry 身份验证和授权设置默认为禁用。
先决条件
- Red Hat Single Sign-On 已安装并运行。如需了解更多详细信息,请参阅 Red Hat Single Sign-On 用户文档。
- Service Registry 已安装并运行。
流程
-
在 Red Hat Single Sign-On Admin Console 中,为 Service Registry 创建红帽单点登录域。默认情况下,Service Registry 需要一个
registry的域名。有关创建域的详情,请查看 Red Hat Single Sign-On 用户文档。 为 Service Registry API 创建红帽单点登录客户端。默认情况下,Service Registry 需要以下设置:
-
客户端 ID:
registry-api -
客户端协议 :
openid-connect access Type:
bearer-only您可以将默认设置用于其他客户端设置。
注意如果您使用 Red Hat Single Sign-On 服务帐户,客户端访问类型 必须是
confidential,而不是仅限 bearer。
-
客户端 ID:
为 Service Registry Web 控制台创建 Red Hat Single Sign-On 客户端。默认情况下,Service Registry 需要以下设置:
-
客户端 ID:
apicurio-registry -
客户端协议 :
openid-connect -
访问类型 :
公共 -
有效的重定向 URL:
http://my-registry-url:8080/* Web Origins:
+您可以将默认设置用于其他客户端设置。
-
客户端 ID:
在 OpenShift 上的 Service Registry 部署中,设置以下 Service Registry 环境变量来使用 Red Hat Single Sign-On 配置身份验证:
Expand 表 5.2. 配置 Service Registry 身份验证 环境变量 描述 类型 默认 AUTH_ENABLED如果设为
true,则需要遵循的环境变量。字符串
falseKEYCLOAK_URL要使用的红帽单点登录身份验证服务器的 URL。必须以
/auth结尾。字符串
无
KEYCLOAK_REALM用于身份验证的红帽单点登录域。
字符串
registryKEYCLOAK_API_CLIENT_IDService Registry REST API 的客户端 ID。
字符串
registry-apiKEYCLOAK_UI_CLIENT_IDService Registry Web 控制台的客户端 ID。
字符串
apicurio-registry提示有关在 OpenShift 中设置环境变量的示例,请参考 第 6.1 节 “在 OpenShift 中配置 Service Registry 健康检查”。
将以下选项设置为
true以在 Red Hat Single Sign-On 中启用 Service Registry 用户角色:Expand 表 5.3. 配置基于 Service Registry 角色的授权 环境变量 Java 系统属性 类型 默认值 ROLE_BASED_AUTHZ_ENABLEDregistry.auth.role-based-authorization布尔值
false启用 Service Registry 用户角色时,必须将 Service Registry 用户分配给 Red Hat Single Sign-On 域中至少以下默认用户角色之一:
Expand 表 5.4. 用于 registry 身份验证和授权的默认用户角色 角色 读取工件 写入工件 全局规则 概述 SR-admin是
是
是
对所有 create、read、update 和 delete 操作的完整访问权限。
SR-developer是
是
否
除配置全局规则外,访问创建、读取、更新和删除操作。此角色可以配置工件规则。
SR-readonly是
否
否
仅访问读和搜索操作。此角色无法配置任何规则。
将以下内容设置为
true,为 Service Registry 中的 schema 和 API 工件启用只有所有者的授权:Expand 表 5.5. 所有者授权配置 环境变量 Java 系统属性 类型 默认值 REGISTRY_AUTH_OBAC_ENABLEDregistry.auth.owner-only-authorization布尔值
false