5.5. 使用 Kerberos 进行身份验证和授权
在使用 AMQP 协议发送和接收消息时,客户端可以使用 简单身份验证和安全层 (SASL)框架的 GSSAPI 机制发送 AMQ Broker 验证的 Kerberos 安全凭证。Kerberos 凭据也可以通过将经过身份验证的用户映射到 LDAP 目录或基于文本的属性文件中配置的已分配角色来授权。
您可以将 SASL 与 传输层安全 (TLS)一起使用来保护消息传递应用程序。SASL 提供用户身份验证,并且 TLS 提供数据完整性。
您必须在 AMQ Broker 可以验证和授权 Kerberos 凭证前部署和配置 Kerberos 基础架构。有关部署 Kerberos 的更多信息,请参阅您的操作系统文档。
- 对于 RHEL 7,请参阅 系统级身份验证指南中的"使用 Kerberos"。
- 对于 Windows,请参阅 Kerberos 身份验证概述。
- Oracle 或 IBM JDK 的用户应该安装 Java Cryptography Extension(JCE)。如需更多信息,请参阅 Oracle 版本的 JCE 或 JCE 的 IBM 版本 文档。
以下流程演示了如何为验证和授权配置 Kerberos。
5.5.1. 将网络连接配置为使用 Kerberos
AMQ Broker 使用 简单身份验证和安全层 (SASL)框架中的 GSSAPI 机制与 Kerberos 安全凭证集成。要在 AMQ Broker 中使用 Kerberos,每个接受者验证或授权使用 Kerberos 凭证的客户端都必须配置为使用 GSSAPI 机制。
以下步骤演示了如何配置接收器或使用 Kerberos。
先决条件
- 您必须在 AMQ Broker 可以验证和授权 Kerberos 凭证前部署和配置 Kerberos 基础架构。
步骤
停止代理。
在 Linux 中:
<broker_instance_dir>/bin/artemis stop
在 Windows 上:
<broker_instance_dir>\bin\artemis-service.exe stop
-
打开
<broker_instance_dir>/etc/broker.xml
配置文件。 将 name-value 对
saslMechanisms=GSSAPI
添加到接收器 URL 的查询字符串
。<acceptor name="amqp"> tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI </acceptor>
上述配置意味着接受者在验证 Kerberos 凭证时使用 GSSAPI 机制。
(可选)还支持
PLAIN
和ANONYMOUS
SASL 机制。要指定多个机制,请使用逗号分隔的列表。例如:<acceptor name="amqp"> tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN </acceptor>
结果为使用
GSSAPI
和PLAIN
SASL 机制的接受者。启动代理。
在 Linux 中:
<broker_instance_dir>/bin/artemis run
在 Windows 上:
<broker_instance_dir>\bin\artemis-service.exe start
其他资源
- 有关接收器的更多信息,请参阅 第 2.1 节 “关于接受者”。