跳到主要内容

客户端授权概述

如果客户端与消息 VPN 的连接成功通过认证,那么该客户端对事件代理资源和该消息 VPN 内的消息功能的访问必须获得授权。

要使客户端获得授权,它必须向主机事件代理提供一个客户端用户名,该用户名与已连接的客户端所连接到的消息 VPN 上配置的用户名相匹配。(这些客户端用户名可以由连接的客户端提供,也可以根据客户端所属的 LDAP 组自动生成。)如果客户端提供了有效的客户端用户名和密码,客户端的连接将获得授权。

一旦获得授权,分配给已配置客户端用户名的以下两种配置文件将用于为客户端提供其访问权限和消息功能:

  • 访问控制列表(ACL)配置文件

    ACL 配置文件定义客户端是否被允许连接到消息 VPN,如果是,则为客户端分配权限,设置其是否可以向主题发布消息以及是否可以订阅主题。它们还设置其发布和订阅权限是否限于明确范围的主题。有关详细信息,请参阅使用 ACL 配置文件控制客户端访问。

  • 客户端配置文件

    客户端配置文件是一组可应用于客户端组的通用配置参数,这允许为许多客户端轻松定义一致的配置。有关详细信息,请参阅使用客户端配置文件配置客户端。

下图展示了根据分配给消息 VPN 上配置的客户端用户名的授权属性,授权已认证客户端的基本流程。

img

通过内部数据库对客户端进行授权

当使用内部授权而非 LDAP 组授权时,消息 VPN 上配置的客户端用户名将决定客户端的授权。如果客户端提供的客户端用户名与客户端已连接到的消息 VPN 中配置的客户端用户名匹配,则将为该客户端应用配置的客户端和 ACL 配置文件。如果客户端未提供客户端用户名,事件代理将尝试应用名为 default 的客户端用户名以及为该客户端用户名配置的客户端和 ACL 配置文件。

内部授权是消息 VPN 的默认授权模式。

default 客户端用户名账户始终存在于事件代理上,且无法删除。但是,默认情况下,此账户未启用。

客户端绑定到指定消息 VPN 中的客户端用户名账户后,事件代理会检查该客户端用户名账户是否启用。如果客户端用户名账户未启用,客户端将被断开连接。(在断开连接前会发送“403 客户端用户名已关闭”的响应。)

如果绑定的客户端用户名账户已启用,则将根据为绑定的客户端用户名账户对象配置的客户端配置文件和 ACL 配置文件的属性创建客户端。

并非所有授权方法都可与所有认证方法一起使用。有关详细信息,请参阅认证和授权方法兼容性。

相关配置和配置信息

  • 有关如何配置客户端认证和客户端配置文件的信息,请参阅配置客户端认证。
  • 有关如何配置 ACL 的信息,请参阅 ACL 配置。

通过LDAP组授权客户端

客户端也可以根据其是否属于特定的 LDAP 授权组来获得授权。使用 LDAP 授权组授权客户端可以协助处理大量客户端的网络管理员,特别是当这些客户端已在企业服务器上配置,并且随着员工的加入和离开组织而频繁变动时。

当已认证客户端尝试连接的消息 VPN 启用了 LDAP 授权时,将为客户端检索 LDAP 属性(通常是 MEMBEROF),并对外部 LDAP 服务器进行 LDAP 查询,以确定客户端所属的 LDAP 组。

查询返回的任何 LDAP 组都将与事件代理上配置的 LDAP 授权组进行比较,客户端将被分配具有最高优先级的匹配且已启用的授权组。

从外部 LDAP 服务器检索的客户端授权组的最大数量为 128。如果返回的授权组超过此数量,客户端将不会被授权。

然后为客户端自动生成客户端用户名,并将为匹配组配置的客户端和 ACL 配置文件应用于客户端绑定到的客户端用户名。这些配置文件为客户端提供授权。

并非所有授权方法都可与所有认证方法一起使用。有关详细信息,请参阅认证和授权方法兼容性。

下图展示了属于已配置 LDAP 授权组的已认证客户端的授权基本流程。

img

相关配置和配置信息

  • 有关如何配置客户端认证和客户端配置文件的信息,请参阅配置客户端认证。
  • 有关如何配置 ACL 的信息,请参阅 ACL 配置。

通过OAuth授权客户端

使用 OAuth 令牌登录的客户端也可以根据其是否属于特定授权组来获得授权。

当已认证客户端尝试连接的消息 VPN 启用了 OAuth 授权时,事件代理将从提供的 OAuth 令牌或令牌内省结果中提取授权组。然后,事件代理将提取的组与事件代理上配置的授权组进行比较,就像它们是从 LDAP 查询返回的一样。一旦确定客户端的授权组,将为该组配置的客户端配置文件和 ACL 配置文件应用于客户端。这些配置文件为客户端提供授权。

并非所有授权方法都可与所有认证方法一起使用。有关详细信息,请参阅认证和授权方法兼容性。

下图展示了使用 OAuth 授权属于已配置授权组的已认证客户端的基本流程。

img

相关配置和配置信息

  • 有关如何配置客户端认证和客户端配置文件的信息,请参阅配置客户端认证。
  • 有关如何配置 ACL 的信息,请参阅 ACL 配置。

认证和授权方法兼容性

PubSub+ 事件代理并不支持将任何认证方法与任何授权方法一起使用。下表显示了可以一起使用的认证和授权方法。

授权方法
认证方法内部
------
内部img
LDAP
Radius
客户端证书
Kerberos
OAuth