云消息队列 Confluent 版支持SSO登录Control Center,本文为您介绍使用SSO登录Control Center前的配置操作。
背景
SSO(Single Sign On,单点登录),是一种统一的身份验证机制,允许用户通过一次登录访问多个相互信任的应用系统。云消息队列 Confluent 版支持第三方SSO登录Control Center,简化了登录流程,加强了密码安全管理,实现权限的集中管理,降低运维的复杂度。
注意事项
云消息队列 Confluent 版目前仅支持Oauth协议的SSO登录。
本文以微软的身份和访问管理服务Azure AD(Azure Active Directory)为例进行说明。
流程概览
操作步骤
步骤一:配置第三方认证服务器
在左侧导航栏,选择
。在应用注册页面,单击新注册,在注册应用程序页面,完成相关配置后,单击注册。
说明重定向URI的地址格式为:
https://<Control Center base URL>/api/metadata/security/1.0/oidc/authorization-code/callback
,其中Control Center base URL为云消息队列 Confluent 版实例CONTROL_CENTER服务的公网链接地址(不包含端口号)。CONTROL_CENTER服务的公网链接地址可以在云消息队列 Confluent 版控制台的访问链接与接口页面中查看。完成注册后,如下所示:
在左侧导航栏,单击证书和密码,在客户端密码页签,单击新客户端密码。
在添加客户端密码面板,完成配置,然后单击添加。
步骤二:获取第三方认证服务器的相关信息
通过GET请求访问
https://login.microsoftonline.com/${租户ID}/v2.0/.well-known/openid-configuration
获取认证信息。其中租户ID可以在应用的概述页面的概要区域中获取。将获取到的认证信息,按照如下的JSON模板进行组装。
{ "ssoConfig": { "ClientId": "", "TokenBaseEndpointUri": "", "Issuer": "", "ClientSecret": "", "AuthorizeBaseEndpointUri": "", "JwksEndpointUri": "" } }
模板中的参数和获取的信息对应关系如下:
模板参数
获取的认证信息
备注
ClientId
无
应用程序(客户端) ID。可以在应用的概述页面的概要区域中获取。
TokenBaseEndpointUri
token_endpoint
无
Issuer
issuer
无
ClientSecret
无
机密 ID。可以在应用的证书和密码页面的客户端密码页签中获取。
AuthorizeBaseEndpointUri
authorization_endpoint
无
JwksEndpointUri
jwks_uri
无
步骤三:配置SSO登录账号的权限
一旦开启SSO认证后,Control Center仅允许SSO方式登录,所以需要提前为云消息队列 Confluent 版实例创建一个SSO认证登录账号。Azure AD在SSO登录时profile信息是账号的Email,所以需要首先在Confluent Control 控制台为主账号(Email)授予所有集群的SysAdmin权限,方便后期使用该账号给其他SSO用户添加资源权限。授权操作请参见RBAC授权。
需要授权的集群资源和角色如下所示:
集群 | 资源 | 角色 |
Kafka cluster | Cluster | SystemAdmin |
KSQL | Cluster | SystemAdmin |
Schema Registry | Cluster | SystemAdmin |
Connect cluster | Cluster | SystemAdmin |
步骤四:提交工单申请开通SSO登录认证
将步骤二中组装好的JSON数据、云消息队列 Confluent 版实例所在的地域和实例ID附在工单中,提交工单进行申请开通。