使用SSO登录Control Center

云消息队列 Confluent 版支持SSO登录Control Center,本文为您介绍使用SSO登录Control Center前的配置操作。

背景

SSO(Single Sign On,单点登录),是一种统一的身份验证机制,允许用户通过一次登录访问多个相互信任的应用系统。云消息队列 Confluent 版支持第三方SSO登录Control Center,简化了登录流程,加强了密码安全管理,实现权限的集中管理,降低运维的复杂度。

注意事项

  • 云消息队列 Confluent 版目前仅支持Oauth协议的SSO登录。

  • 本文以微软的身份和访问管理服务Azure AD(Azure Active Directory)为例进行说明。

流程概览

image

操作步骤

步骤一:配置第三方认证服务器

  1. 登录 Microsoft Entra 管理中心

  2. 在左侧导航栏,选择应用程序 > 应用注册

  3. 应用注册页面,单击新注册,在注册应用程序页面,完成相关配置后,单击注册

    说明

    重定向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 版控制台访问链接与接口页面中查看。

    image

  4. 完成注册后,如下所示:

    image

  5. 在左侧导航栏,单击证书和密码,在客户端密码页签,单击新客户端密码

  6. 添加客户端密码面板,完成配置,然后单击添加

    image

步骤二:获取第三方认证服务器的相关信息

  1. 通过GET请求访问https://login.microsoftonline.com/${租户ID}/v2.0/.well-known/openid-configuration获取认证信息。其中租户ID可以在应用的概述页面的概要区域中获取。

    image

  2. 将获取到的认证信息,按照如下的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 ADSSO登录时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附在工单中,提交工单进行申请开通。