SET CHLAUTH

使用 MQSC 命令 SET CHLAUTH 来创建或修改通道认证记录。

使用 MQSC 命令

有关如何使用 MQSC 命令的信息,请参阅使用 MQSC 命令执行本地管理任务

[z/OS]您可以通过源 2CR 发布该命令。 有关源代码符号的解释,请参阅 z/OS® 上可发布 MQSC 命令的源代码

SET CHLAUTH

读取语法图跳过可视语法图 SET CHLAUTH ( 通道概要文件名称 )1 TYPE 分块映射块2 CMDSCOPE(' ')CMDSCOPE(qmgr-名称)3CMDSCOPE(*)34CUSTOM(定制值)DESCR(' ')DESCR(字符串)ACTION(ADD)ACTION(REPLACE)ACTION(REMOVE)ACTION(REMOVEALL)
分块
读取语法图跳过可视语法图(BLOCKUSER)USERLIST(,用户名)(BLOCKADDR)ADDRLIST(,通用 IP 地址)WARN(NO)WARN(YES)
映射块
读取语法图跳过可视语法图(SSLPEERMAP)TLS 同级(ADDRESSMAP)(USERMAP)5CLNTUSER(客户用户名)CHCKCLNT(ASQMGR)CHCKCLNT(REQDADM)6CHCKCLNT(REQUIRED)(QMGRMAP)QMNAME(通用合作伙伴质量管理器名称)USERSRC(MAP)MCAUSER(用户)7USERSRC(NOACCESS)WARN(NO)WARN(YES)USERSRC(CHANNEL)ADDRESS(通用 IP 地址)8
TLS 同级
读取语法图跳过可视语法图 SSLPEER ( 通用-ssl-peer-name ) SSLCERTI(通用发布者名称)
注:
  • 1 当 TYPE 为 BLOCKADDR 时,通道配置文件名称必须为 "*"。
  • 2 根据从两种图块中选择的选项,为 TYPE 选择适当的值。
  • 3 仅当队列管理器是队列共享组的成员时,才在 z/OS 上有效。
  • 4 仅在 z/OS上有效。
  • 5 USERMAP 规则仅适用于服务器连接通道。
  • 6z/OS上无效。
  • 7 如果允许 USERSRC 默认为 MAP,则必须为参数 MCAUSER 设置一个值。
  • 8 TYPE 为 ADDRESSMAP 时必须填写。

使用说明

下表显示了哪些参数对 ACTION的每个值有效:
  操作
参数 ADD 或 REPLACE 移除 REMOVEALL
CHLAUTH X X X
类型 X X X
[z/OS]CMDSCOPE [z/OS] X [z/OS] X [z/OS] X
操作 X X X
ADDRESS X X  
ADDRLIST X X  
CHCKCLNT X    
CLNTUSER X X  
MCAUSER X    
QMNAME X X  
SSLCERTI X X  
SSLPEER X X  
USERLIST X X  
USERSRC X    
WARN X    
DESCR X    
请注意下列事项:
  • CHLAUTH 规则可用于任何通道
  • USERMAP 规则仅对服务器连接通道有效。
  • 只有在启动频道时,诸如映射频道 MCAUSER 等更改才会生效。

    因此,如果通道已在运行,则必须停止并重新启动该通道,才能使 CHLAUTH 规则更改生效。

参数

频道配置文件名称
要为其设置通道认证配置的通道或通道集的名称。 您可以在任何位置使用一个或多个星号 (*) 作为通配符来指定一组通道。 如果将 TYPE 设置为 BLOCKADDR,那么必须将通用通道名称设置为与所有通道名称匹配的单个星号。 在 z/OS 上,如果 generic-channel-name 包含星号,那么它必须用引号括起。
类型
TYPE 参数必须跟在 channel-profile-name 参数之后。

通道身份验证记录的类型,为其设置允许的合作伙伴详情或 MCAUSER 映射。 此参数是必需的。 可以使用以下值:

块用户
此通道认证记录阻止指定的一个或多个用户进行连接。 BLOCKUSER 参数必须伴有 USERLIST
块地址
此通道认证记录会阻止来自一个或多个指定 IP 地址的连接。 BLOCKADDR 参数必须伴有 ADDRLIST。 BLOCKADDR 在监听器上运行时,通道名称尚未可知。
SSLPEERMAP
此通道认证记录将 TLS 专有名称 (DN) 映射至 MCAUSER 值。 SSLPEERMAP 参数必须伴有 SSLPEER
地址地图
该通道验证记录将 IP 地址映射到 MCAUSER 值。 ADDRESSMAP 参数必须伴有 ADDRESS。 ADDRESSMAP 在通道上运行。
用户地图
该通道验证记录将断言的用户 ID 映射到 MCAUSER 值。 USERMAP 参数必须伴有 CLNTUSER
队列管理器地图
该通道验证记录将远程队列管理器名称映射为 MCAUSER 值。 QMGRMAP 参数必须伴有一个 QMNAME
操作
要对通道认证记录执行的操作。 有效值包括:
添加
将指定的配置添加到通道认证记录。 这是缺省值。

对于 SSLPEERMAPADDRESSMAPUSERMAPQMGRMAP 类型,如果指定的配置存在,则命令失败。

对于 BLOCKUSERBLOCKADDR 类型,配置会被添加到列表中。

REPLACE
替换通道认证记录的当前配置。

对于 SSLPEERMAPADDRESSMAPUSERMAPQMGRMAP 类型,如果指定的配置存在,则会被新配置替换。 如果该文件不存在,那么将添加该文件。

对于 BLOCKUSERBLOCKADDR 类型,即使当前列表为空,指定的配置也会替换当前列表。 如果用空列表替换当前列表,其作用与 REMOVEALL 类似。

移除
从通道认证记录中除去指定的配置。 请注意,如果配置不存在,那么该命令仍有效。 如果从列表中除去最后一个条目,那么此操作类似于 REMOVEALL
REMOVEALL
从通道身份验证记录中删除列表中的所有成员,从而删除整个记录(针对 BLOCKADDRBLOCKUSER )或之前定义的所有映射(针对 ADDRESSMAPSSLPEERMAPQMGRMAPUSERMAP )。 此选项不能与 ADDRLISTUSERLISTADDRESSSSLPEERQMNAMECLNTUSER中提供的特定值组合。 如果指定的类型没有当前配置,命令仍会成功执行。
ADDRESS
用于与通道另一端的伙伴队列管理器或客户机的 IP 地址或主机名进行比较的过滤器。 只有当队列管理器配置为使用 REVDNS(ENABLED) 查找时,才会检查包含主机名的通道验证记录。 IETF 文件 RFC 952RFC 1123 详细定义了允许用作主机名的值。 主机名匹配不区分大小写。

此参数对于 TYPE(ADDRESSMAP) 是必需的

TYPESSLPEERMAPUSERMAPQMGRMAPACTIONADDREPLACEREMOVE时,此参数也有效。 您可以定义多个具有相同主身份的通道认证对象,例如,具有不同地址的同一 TLS 对等名称。 但是,不能定义具有相同主身份的重叠地址范围的通道认证记录。 有关过滤 IP 地址的更多信息,请参阅通道验证记录的通用 IP 地址。

如果该地址是通用地址,那么它必须用引号括起。

ADDRLIST
禁止在任何通道上访问此队列管理器的最多 256 个通用 IP 地址的列表。 该参数仅对 TYPE(BLOCKADDR) 有效。 有关过滤 IP 地址的更多信息,请参阅通道验证记录的通用 IP 地址。

如果该地址是通用地址,那么它必须用引号括起。

CHCKCLNT
指定符合此规则并允许 USERSRC(CHANNEL)USERSRC(MAP) 进入的连接是否还必须指定有效的用户 ID 和密码。 密码不能包含单引号 (' )。
REQDADM
如果您使用的是特权用户 ID,则必须提供有效的用户 ID 和密码才能允许连接。

任何使用非特权用户 ID 的连接都无需提供用户 ID 和密码。 用户 ID 和密码将与认证信息对象中提供的用户存储库详细信息进行核对,并在 ALTER QMGRCONNAUTH 字段中提供。 如果未提供用户存储库详细信息,因此队列管理器未启用用户 ID 和密码检查,则连接不会成功。

特权用户是对 IBM® MQ具有完全管理权限的用户。 更多信息,请参阅特权用户

[z/OS]该选项不适用于 z/OS 平台。

Required
需要提供有效的用户 ID 和密码才能允许连接。 密码不能包含单引号 (' )。

用户 ID 和密码将与认证信息对象中提供的用户存储库详细信息进行核对,并在 ALTER QMGRCONNAUTH 字段中提供。 如果未提供用户存储库详细信息,因此队列管理器未启用用户 ID 和密码检查,则连接不会成功。

如队列管理器
为了允许连接,它必须满足队列管理器上定义的连接认证要求。

如果 CONNAUTH 字段提供了一个身份验证信息对象,且 CHCKCLNT 的值为 REQUIRED ,则除非提供有效的用户 ID 和密码,否则连接将失败。 如果 CONNAUTH 字段未提供身份验证信息对象,或 CHCKCLNT 的值不是 REQUIRED ,则不需要用户 ID 和密码。

注意: 如果在多平台上选择 REQUIRED 或 REQDADM,但未在队列管理器上设置 CONNAUTH 字段,或者 CHCKCLNT 的值为 NONE,则连接失败。 在多平台上,您会收到以下信息 AMQ9793. z/OS ,您收到信息。 CSQX793E
此参数仅对 TYPE(USERMAP)TYPE(ADDRESSMAP)TYPE(SSLPEERMAP) 有效,并且仅当 USERSRC 未设置为 NOACCESS时才有效。 它仅适用于作为 SVRCONN 通道的入站连接。
使用此属性的示例规则:
  • 如果提供了有效的密码,定义网络中的任何设备都可以使用断言的用户 ID:
    SET CHLAUTH('*.SVRCONN') +
        TYPE(ADDRESSMAP) ADDRESS('192.0.2.*') +
        USERSRC(CHANNEL) CHCKCLNT(REQUIRED)
    
  • 该规则确保在根据队列管理器设置的策略处理客户端身份验证之前,SSL 身份验证必须成功:
    SET CHLAUTH('SSL.APP1.SVRCONN') +
        TYPE(SSLPEERMAP) SSLPEER('CN="Steve Smith", L="BankA"') +
        MCAUSER(SSMITH) CHCKCLNT(ASQMGR)
    
CLNTUSER
要映射到新用户标识的客户机声明的用户标识,允许通过未更改的用户标识或阻止的用户标识。

这可以是客户端流出的用户 ID,表示客户端进程正在运行的用户 ID,也可以是客户端使用 MQCSP 在 MQCONNX 调用中显示的用户 ID。

字符串的最大长度为 MQ_CLIENT_USER_ID_LENGTH。

[z/OS]CMDSCOPE
此参数仅适用于 z/OS ,并指定当队列管理器是队列共享组的成员时该命令的运行方式。
' '
该命令在输入该命令的队列管理器上运行。 这是缺省值。
qmgr-名称
如果队列管理器在队列共享组中处于活动状态,那么该命令将在您指定的队列管理器上运行。

仅当您正在使用队列共享组环境并且启用了命令服务器时,才能指定队列管理器名称 (输入了命令的队列管理器除外)。

*
该命令在本地队列管理器上运行,并且还会传递到队列共享组中的每个活动队列管理器。 效果与在队列共享组中的每个队列管理器上输入命令相同。
CUSTOM
包含属性值,以名称和值对的形式,至少用一个空格隔开。
属性名-值对的形式为 NAME(VALUE)。 以 IBM, AMQ, CSQMQ 开头的属性名称仅供 IBM 使用。 附加保留属性为 CAPEXPRYSQGETTMRPAGEVAL。 作为管理员,您可以为自己的目的设置和使用其他名称。
最大长度由 IBM MQ 常量 MQ_CUSTOM_LENGTH 定义,在所有平台上都设置为 128。
CUSTOM 值是一个由零个或多个属性-值对组成的列表,采用 MQSC 风格的语法,至少用一个空格隔开。 属性名称和值区分大小写,并且必须使用大写形式指定。 数值可以包含空格、括号和单引号(必须用另一个单引号括起来)。 其他字符,包括嵌套的括号(),也可以用两个单引号括起来。 有效语法的示例有:
  • CUSTOM('')
  • CUSTOM('A(B)')
  • CUSTOM('C(D) E(F)')
  • CUSTOM('G(5000) H(''9.20.4.6(1415)'')')
最后一种语法使用的是成对的单引号,而不是双引号。
DESCR
提供有关通道认证记录的描述性信息,在您发出 DISPLAY CHLAUTH 命令时显示此信息。 它必须只包含可显示的字符。 最大长度为 64 个字符。 在 DBCS 安装中,它可以包含 DBCS 字符(最大长度为 64 个字节)。
注: 将编码字符集标识 (CCSID) 中的字符用于此队列管理器。 如果将信息发送到另一个队列管理器,那么可能无法正确转换其他字符。
MCAUSER
入站连接与提供的 TLS DN , IP 地址,客户机断言的用户标识或远程队列管理器名称匹配时要使用的用户标识。

此参数对于 USERSRC(MAP) 是必需的,并且在 TYPESSLPEERMAPADDRESSMAPUSERMAPQMGRMAP时有效。

如果使用小写用户标识,那么必须将其括在引号中: 例如:
SET CHLAUTH('SYSTEM.DEF.SVRCONN') TYPE(USERMAP) CLNTUSER('johndoe') +
    USERSRC(MAP) MCAUSER(JOHNDOE1) +
    ADDRESS('::FFFF:9.20.4.136') +
    DESCR('Client from z/Linux machine') +
    ACTION(REPLACE)

这允许小写用户标识使用 IP 地址 ::FFFF:9.20.4.136上的通道 SYSTEM.DEF.SVRCONN 。 连接的 MCA 用户为 JOHNDOE1

如果显示通道的通道状态 (CHS) ,那么输出为 MCAUSER(JOHNDOE1)

仅当 ACTIONADDREPLACE时,才能使用此参数。

QMNAME
要映射到用户标识或阻止的远程伙伴队列管理器的名称或与一组队列管理器名称匹配的模式。

此参数仅对 TYPE(QMGRMAP)有效。

如果队列管理器名称是通用的,那么它必须用引号括起。

SSLCERTI
此参数是 SSLPEER 参数的附加参数。

SSLCERTI 将匹配限制为包含在特定认证中心发放的证书中。

空白 SSLCERTI 类似于通配符,与任何签发者专有名称匹配。

SSLPEER

用于与来自通道另一端的对等队列管理器或客户机的证书的主题专有名称进行比较的过滤器。

SSLPEER 过滤器以用于指定专有名称的标准格式指定。 详见 IBM MQ SSLPEER 值规则

参数的最大长度为 1024 字节。

USERLIST
最多 100 个禁止使用此通道或一组通道的用户标识的列表。 使用特殊值 *MQADMIN 表示特权用户或管理用户。 此值的定义取决于操作系统,如下所示:
  • [Windows]Windows 上, mqm 组、 Administrators 组和 SYSTEM 的所有成员。
  • [UNIX][Linux] UNIX 和 上, Linux®mqm 小组的所有成员。
  • [IBM i]IBM i 上,配置文件(用户) qmqmqmqmadm 以及 qmqmadm 组的所有成员和使用 *ALLOBJ 特殊设置定义的任何用户。
  • [z/OS]z/OS 上,通道启动器、队列管理器和高级报文安全地址空间运行的用户 ID。
有关特权用户的更多信息,请参阅 特权用户
此参数仅对 TYPE(BLOCKUSER)有效。
USERSRC
运行时 MCAUSER 使用的用户 ID 的来源。 有效值包括:
映射
与此映射匹配的入站连接使用 MCAUSER 属性中指定的用户标识。 这是缺省值。
无访问权
与此映射匹配的入站连接没有对队列管理器的访问权,通道将立即结束。
通道
与此映射匹配的入站连接会使用流过的用户 ID 或 MCAUSER 字段中通道对象上定义的任何用户。

请注意,WARN 与 USERSRC(CHANNEL) 或 USERSRC(MAP) 不兼容。 这是因为在这些情况下从不阻止通道访问,因此从来没有理由生成警告。

WARN
指示此记录是否以警告方式运行。
此记录未在警告方式下运行。 将阻止与此记录匹配的任何入站连接。 这是缺省值。
YES
此记录以警告方式运行。 允许与此记录匹配并因此将被阻止的任何入站连接进行访问。 如果配置了通道事件,那么将创建一条通道事件消息,其中显示将阻塞的内容的详细信息,请参阅 已阻塞的通道。 允许连接继续。 尝试查找另一个设置为 WARN (NO) 的记录,以设置入站通道的凭证。
如果要生成消息 AMQ9787 ,必须将 ChlauthIssueWarn=y 添加到 qm.ini 文件的 Channels 节