5.8. 跟踪来自验证的用户的消息
要启用跟踪和记录消息的来源(例如,用于安全审核目的),您可以使用 _AMQ_VALIDATED_USER 消息键。
在 broker.xml 配置文件中,如果 populate-validated-user 选项被设置为 true,则代理将使用 _AMQ_VALIDATED_USER 键将验证的用户的名称添加到消息中。对于 JMS 和 STOMP 客户端,此消息密钥映射到 JMSXUserID 密钥。
代理无法将验证的用户名添加到 AMQP JMS 客户端生成的消息中。在客户端发送 AMQP 消息后修改 AMQP 消息的属性是 AMQP 协议的违反。
对于基于其/一致性 SSL 证书验证的用户,代理填充的验证用户名是证书的可辨识名称(DN)映射的名称。
在 broker.xml 配置文件中,如果 security-enabled 为 false,并且 populate-validated-user 为 true,则代理会填充客户端提供的任何用户名(若有)。默认情况下,populate-validated-user 选项为 false。
您可以将代理配置为拒绝在发送消息时由客户端填充的用户名(即 JMSXUserID 密钥)的消息。您可能会发现此选项对 AMQP 客户端很有用,因为代理无法为这些客户端发送的消息填充验证的用户名本身。
要将代理配置为拒绝客户端设置没有 JMSXUserID 的信息,请在 broker.xml 配置文件中添加以下配置:
<reject-empty-validated-user>true</reject-empty-validated-user>
<reject-empty-validated-user>true</reject-empty-validated-user>
默认情况下,reject-empty-validated-user 设置为 false。