Message Queue 服务对每个代理实例均支持验证和授权(访问控制)功能,同时还支持加密功能:
验证功能确保只有通过验证的用户才能与代理建立连接。
授权指定哪些用户或组具有访问资源以及执行特定操作的权限。
加密功能防止消息在通过连接传送时被篡改。
验证和授权功能依赖于包含消息传送系统的用户信息(用户名、密码和组成员资格)的系统信息库。此外,要授予用户或组执行特定操作的权限,代理必须检查访问控制属性文件,该文件指定用户或组可以执行的操作。您需要设置某些信息,代理需要这些信息来验证用户并授予执行相应操作的权限。
图 3–3 显示代理为提供验证和授权功能所需的组件。
如图 3–3 所示,您可以将用户数据存储在随 Message Queue 服务提供的平面文件用户系统信息库中,也可以将它插入已有的 LDAP 系统信息库中。设置一个用来指示您所进行的选择的代理属性。
如果您希望使用现有的 LDAP 服务器,请使用 LDAP 供应商提供的工具来填充和管理用户系统信息库。还必须在代理实例配置文件中设置一些属性,以使代理能够在 LDAP 服务器中查询有关用户和组的信息。
如果可伸缩性非常重要,或者需要在不同的代理之间共享系统信息库,则最好选择 LDAP 选项。如果您使用的是代理群集,就可能会遇到这种情况。
当客户端请求连接时,必须提供用户名和密码。代理会将指定的名称和密码与存储在用户系统信息库中的名称和密码进行比较。密码在从客户端传送到代理的过程中,将使用 Base 64 编码或消息摘要 (MD5) 散列进行编码。MD5 是适用于平面文件系统信息库;Base 64 是 LDAP 系统信息库所必需的。如果您使用的是 LDAP,则可能希望使用安全的 TLS 协议。通过设置一些代理属性,可以分别配置每个连接服务使用的编码类型,也可以设置适用于整个代理的编码方式。
当用户尝试执行某个操作时,代理将对照访问控制属性文件中指定的允许执行该操作的用户名和组成员资格,来检查用户系统信息库中该用户的用户名和组成员资格。访问控制属性文件为用户或组指定了执行以下操作的权限:
连接到代理
访问目的地:创建任意给定目的地或所有目的地的使用方、生成方或队列浏览器
自动创建目的地
可以设置用来指定以下信息的代理属性:
要对客户端与代理之间发送的消息进行加密,需要使用基于安全套接字层 (Secure Socket Layer, SSL) 标准的连接服务。 通过在启用 SSL 的代理与启用 SSL 的客户端之间建立加密连接来提供连接级别的安全性。
可以设置一些代理属性,以指定要使用的 SSL 密钥库的安全属性以及密码文件的名称和位置。