MQ7.1及高版本的新特性

MQ 认证

认证,通常是指验证一个用户或者应用程序真实合法的过程。在 MQ 中,主要分为基于连接的认证和基于消息的认证。基于连接的认证,是通过 MQ 通道实现的;基于消息的认证,则是通过 MQ 高级消息安全(MQ AMS)实现的。在本文中,主要讲述基于连接的认证。

MQ 主要支持三种不同的认证方式:断言认证,起源认证和证书认证。在 MQ 7.0 及以前的版本中,这些认证方式主要是依靠用户编写代码,即安全出口来实现。MQ 7.1 和 MQ 7.5 集成了这三种常用的认证功能。在 MQ 7.1/7.5 中,用户可以通过定义通道认证规则来过滤连接请求。下面,是这三种认证方式的定义。

断言认证:即基于用户 ID 或者队列管理器名字的认证。对于 MQI 通道,使用客户端的用户 ID 来完成认证;对于消息通道,则使用远程队列管理器名字。这是最基本的,安全性最低的认证方式。远程用户在连接请求中声明用户 ID 或者队列管理器名字,服务器端的队列管理器接受此 ID 的连接。严格意义上讲,这个过程只是对 ID 的识别,具有非常弱的认证功能。通常,这种方式多用于查询的场景中。

起源认证:即基于 IP 地址的认证。在认证过程中,队列管理器会查看连接请求的 IP 地址,并根据已有规则决定是否接受该请求。这种认证方式,具有一定的 IP 过滤功能,从而实现基于 IP 的认证。

证书认证:这是最为严格,安全级别最高的认证方式。在连接过程中,连接请求者使用证书私钥加密随机字符串并发送到队列管理器。队列管理器会使用相应的证书公钥解密字符串。如果成功,队列管理器可以确定该连接请求者拥有合法的证书。

在 MQ 7.1 中,这三种认证方式是通过通道认证记录来实现的。通道认证记录定义了一组规则。当远程客户端或者队列管理器发来连接请求时,服务器端队列管理器可以基于这些规则检查连接参数(例如:用户 ID,IP 地址)并做出相应决定。比如,阻止来自某 IP 的连接。下面的章节介绍了如何使用通道认证记录实现断言认证、起源认证和证书认证。

通道认证记录

通道认证记录是 MQ 7.1 引入的安全功能,用来保证通道连接的合法性。MQ 7.5 具有同样的安全功能,因此本文介绍的实例也适用于 MQ 7.5。它主要通过阻止非法连接和映射远程连接到本地合法 ID 来实现该功能。用户可以使用 MQSC 命令、PCF 命令或者 MQ 资源管理器来定义通道认证记录。本文主要介绍比较常用的 MQSC 命令和 MQ 资源管理器两种方式。

在默认情况下,MQ 定义了三条通道认证记录,来保证访问的安全性。下面,通过讲解这三条记录来了解 MQSC 命令 SET CHLAUTH 的使用。

清单 1. 通道认证默认记录

SET CHLAUTH(‘*‘) TYPE(BLOCKUSER) USERLIST(‘*MQADMIN‘)     SET CHLAUTH(‘SYSTEM.*‘) TYPE(ADDRESSMAP) ADDRESS(‘*‘) USERSRC(NOACCESS)

第一条记录:阻止所有特权用户远程访问队列管理器。类型是 BLOCKUSER,用户列表是 MQADMIN,表示所有特权用户,主要指 mqm 用户组内的用户。在 MQ 7.1 以前的版本中,很多用户习惯显式设置 MCAUSER 为 mqm,从而比较方便的实现远程访问。在 MQ 7.1 及以后的版本中,这种方式不再被支持。

第二条记录:阻止所有对 SYSTEM 通道的连接。类型是 ADDRESSMAP,而地址是“*”,表示所有地址。最后,NOACCESS 作用等同于拦截连接。

第三条记录:这条记录是基于第二条记录的,表示只有系统通道 SYSTEM.ADMIN.SVRCONN 可以被远程访问。

关于 SET CHLAUTH 的详细参数介绍,请参考 MQ 7.1 的信息中心。下面,主要介绍三种认证方式的实现。

MQ7.1及高版本的新特性

时间: 2024-10-05 20:57:13

MQ7.1及高版本的新特性的相关文章

JDK几个高版本的新特性

JDK 高版本的新特性 1.JDK5的新特性: 自动拆装箱 见Integer部分笔记 泛型 增强for循环 静态导入 可变参数 见集合部分笔记 枚举 是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内.举例:一周只有7天,一年只有12个月等. 回想单例设计模式:单例类是一个类只有一个实例 那么多例类就是一个类有多个实例,但不是无限个数的实例,而是有限个数的实例.这才能是枚举类. 我们自己定义枚举类比较麻烦,所以,java就提供了枚举类供我们使用. 格式是:只有枚举项的枚举类 publi

JDK各个版本的新特性jdk1.5-jdk8

JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性.希望能给予帮助. JDK1.5新特性: 1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue(

JDK各个版本的新特性jdk1.5-jdk8(转)

原文:JDK各个版本的新特性jdk1.5-jdk8 JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性.希望能给予帮助. JDK1.5新特性: 1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值

JDK各个版本的新特性

JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性.希望能给予帮助. JDK1.5新特性: 1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue(

解析Hadoop 2.3.0版本的新特性

2014年2月20日,Hadoop 2.3.0版本发布,这是apache 在2014年发布的第一个Hadoop版本,揭开了Hadoop 2014发展的序幕. 该版本引入了很多大家期待已久的特性,包括HDFS 的异构层次化存储架构.DataNode Cache,YARN的单点故障解决方案,以及MapReduce的自动化部署等.本文尝试为大家解析这些特性,并给出一些资料供大家深入了解. HDFS新特性. 2.3.0中引入了两个大的HDFS特性,分别是异构层次化存储架构和DataNode Cache.

JDK各个版本的新特性jdk1.5-jdk8[转]

JDK各个版本的新特性 对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言.今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性.希望能给予帮助. JDK1.5新特性: 1.自动装箱与拆箱: 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装中. 自动拆箱的过程:每当需要一个值时,被装箱对象中的值就被自动地提取出来,没必要再去调用intValue(

ygRan Java1.0-1.11各个版本的新特性

JDK Version 1.01996-01-23 Oak(橡树) 初代版本,伟大的一个里程碑,但是是纯解释运行,使用外挂JIT,性能比较差,运行速度慢. JDK Version 1.11997-02-19 JDBC(Java DataBase Connectivity);支持内部类;RMI(Remote Method Invocation) ;反射;Java Bean;JDK Version 1.21998-12-08 Playground(操场) 集合框架;JIT(Just In Time)

docker 1.12 版本 的新特性

(1)docker swarm:集群管理,子命令有init, join, leave, update (2)docker service:服务创建,子命令有create, inspect, update, remove, tasks (3)docker node:节点管理,子命令有accept, promote, demote, inspect, update, tasks, ls, rm (4)docker stack/deploy:试验特性,用于多应用部署, 类似与 docker-compo

php 各个版本的新特性

因为用到PHP新版本,一些新特性必须要了解,且有些可以在开发时就使用,如果不使用,那么何必升级PHP版本呢,显得有些得不偿失了!所以整理了一下 一些特性,有可能不全,待添加PHP 5.3中的新特性一.PHP 5.3中的新特性1. 支持命名空间 (Namespace)2. 支持延迟静态绑定(Late Static Binding)3. 支持goto语句4. 支持闭包.Lambda/Anonymous函数5. 新增两个魔术方法__callStatic()和__invoke()6. 新增Nowdoc语