跳到主要内容

配置客户端LDAP授权

默认情况下,连接到消息 VPN 的客户端根据其使用的客户端用户名账户获得对事件代理资源和消息功能的授权。这种内部授权方法需要手动在消息 VPN 上配置客户端用户名账户。

您还可以使用配置在外部 LDAP 服务器上的客户端授权组来提供客户端授权。必须在消息 VPN 上创建与 LDAP 服务器上配置的授权组匹配的授权组对象。这些授权组对象必须配置您希望分配给属于这些授权组的客户端的客户端配置文件和 ACL 配置文件。

配置授权组

要为消息 VPN 配置新的授权组,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# create authorization-group <name>

要编辑给定消息 VPN 上现有授权组对象的配置,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# authorization-group <name>

其中:

<name> 是存在于外部 LDAP 服务器上的认证组的名称(或者如果使用 OAuth 授权,则是 OAuth 令牌中指定的声明)。组名称可以包含最多 256 个字母数字字符。注意,如果组名称包含字符“#”、“+”、“;”、“=”,LDAP 服务器可能会返回组名称的值,其中这些字符前面加上“\”字符。例如,对于组名称“test#,lab,com”,LDAP 服务器可能会返回“test\#,lab,com”。这些特殊字符的确切处理方式取决于所使用的 LDAP 服务器提供商。

此命令的 no 版本,no authorization-group,从给定的消息 VPN 中移除给定的授权组对象。

  • 当创建多个授权组对象时,每个新配置的组将被放置在组列表的末尾,该列表按优先级从高到低排序。(要更改授权组的优先级,请参阅优先级授权组。)
  • 创建授权组时,它不会自动启用。要启用授权组,请参阅启用/禁用授权组。
  • PubSub+ 事件代理还使用授权组进行 OAuth 授权。在这种情况下,传入 OAuth 令牌中指定的声明将与事件代理上配置的授权组进行比较,以确定客户端的 ACL 和客户端配置文件。有关详细信息,请参阅通过 OAuth 授权客户端。

启用/禁用授权组

只有当授权组对象启用时,才能用于授权客户端。

要启用给定的授权组对象,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# create authorization-group <name>
solace(...zation/authorization-group)# no shutdown

要禁用给定的授权组对象,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# create authorization-group <name>
solace(...zation/authorization-group)# shutdown

当授权组对象被关闭时,任何通过该组授权的已连接客户端将被断开连接。

优先级授权组

LDAP 查找授权请求的响应可能表明在消息 VPN 中配置了多个匹配组。在这种情况下,有序组列表中找到的第一个匹配将为客户端提供授权。因为组按重要性顺序列出,其中优先级最高的组列在最前面,优先级最低的组列在最后,您可能希望更改每个列出的组的位置以更改其优先级。

要更改给定授权组的优先级,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# authorization-group <name>
solace(...zation/authorization-group)# order {before | after} <authorization-group-name>

其中:

before 指定给定授权组的优先级立即高于现有命名授权组的优先级。

after 指定给定授权组的优先级立即低于命名授权组的优先级。

<authorization-group-name> 是给定组将移动到其前面或后面的授权组的名称。

为授权组设置ACL配置文件

要将 ACL 配置文件与给定授权组关联,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# create authorization-group <name>
solace(...zation/authorization-group)# acl-profile <name>

其中:

<name> 是给定消息 VPN 中现有 ACL 配置文件的名称。如果没有明确输入 ACL 配置文件,则使用消息 VPN 的默认 ACL 配置文件,名为 default

此命令的 no 版本,no acl-profile,将分配的 ACL 配置文件重置回默认 ACL 配置文件,名为 default

有关配置 ACL 配置文件的信息,请参阅 ACL 配置。

为授权组设置客户端配置文件

要将客户端配置文件与给定授权组关联,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# create authorization-group <name>
solace(...zation/authorization-group)# client-profile <name>

其中:

<name> 是给定消息 VPN 中现有客户端配置文件的名称。如果没有明确输入客户端配置文件,则使用消息 VPN 的默认客户端配置文件,名为 default

此命令的 no 版本,no client-profile,将分配的客户端配置文件重置回默认客户端配置文件,名为 default

有关配置客户端配置文件的信息,请参阅配置客户端配置文件。

设置要使用的客户端授权类型

客户端可以通过内部和 LDAP 授权类型进行授权。内部授权始终受支持,事件代理始终尝试使用内部授权授权客户端。在这种情况下,如果客户端提供的客户端用户名在客户端已连接到的消息 VPN 中配置,则使用为该客户端用户名配置的授权参数。

然而,如果客户端提供的客户端用户名在客户端已连接到的消息 VPN 中未配置,并且为消息 VPN 启用了 LDAP 授权,事件代理将尝试使用 LDAP 授权用户。要使用 LDAP 授权,必须配置 LDAP 配置文件(参阅配置 LDAP 认证)。LDAP 配置文件为 LDAP 配置文件使用的每个 LDAP 服务器提供授权请求重试超时值和 LDAP 授权配置。

要设置客户端授权使用的授权机制,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# authorization-type {ldap <ldap-profile> | internal}

其中:

ldap 指定通过配置的外部 LDAP 服务器授权客户端。<ldap-profile> 是在事件代理上配置的 LDAP 配置文件的名称。LDAP 配置文件名称可以包含最多 32 个字母数字字符和下划线。有关如何配置 LDAP 配置文件的信息,请参阅配置 LDAP 认证。

internal 指定通过客户端提供的客户端用户名使用内部 Solace PubSub+ 设备数据库授权客户端。默认情况下,使用内部授权授权已连接的客户端。

如果为该命令选择内部参数,而 LDAP 客户端授权已经设置,则 LDAP 授权将被禁用,授权方法将重置为默认的内部授权。

配置LDAP组成员资格属性名称

要启用 LDAP 客户端授权,必须从 LDAP 服务器检索属性名称作为 LDAP 搜索的一部分。该属性名称指示客户端属于特定组(即,与此属性关联的值)。

要配置用于给定消息 VPN 的客户端授权的 LDAP 组成员资格属性,请输入以下 CONFIG 命令:

solace(configure)# message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# ldap group-membership-attribute-name <attribute-name>

其中:

<attribute-name> 是属性的名称。属性名称可以包含最多 64 个字母数字字符。默认值是“memberOf”。

此命令的 no 版本,no group-membership-attribute-name,将给定属性名称重置回默认值。

配置LDAP修剪客户端用户名域

您可以启用或禁用 LDAP 查找客户端连接的修剪客户端用户名域属性。当启用 LDAP 修剪客户端用户名域属性时,$CLIENT_USERNAME 的值(当用于搜索时)将在第一个“@”字符处被截断。例如,如果客户端用户名是电子邮件地址的形式,则将删除域名部分。

要为给定的消息 VPN 启用 LDAP 修剪客户端用户名域属性,请输入以下 CONFIG 命令:

solace(configure)#  message-vpn <vpn-name>
solace(configure/message-vpn)# authorization
solace(.../message-vpn/authorization)# ldap trim-client-username-domain

要为给定的消息 VPN 禁用 LDAP 修剪客户端用户名域属性,请输入以下 CONFIG 命令:

solace(.../message-vpn/authorization)# no ldap trim-client-username-domain