5.5. 使用 Kerberos 进行身份验证和授权
使用 AMQP 协议发送和接收消息时,客户端可以通过 简单身份验证和安全层(SASL)框架中的 GSSAPI 机制发送 AMQ Broker 验证的 Kerberos 安全 凭证。Kerberos 凭据也可以用于授权,方法是将经过身份验证的用户映射到 LDAP 目录或基于文本的属性文件中配置的分配角色。
您可以使用 SASL 与 传输层安全( TLS)一起保护消息传递应用程序。SASL 提供用户身份验证,TLS 提供数据完整性。
您必须部署和配置 Kerberos 基础架构,然后才能 AMQ Broker 验证和授权 Kerberos 凭证。有关部署 Kerberos 的更多信息,请参阅您的操作系统文档。
- 对于 RHEL 7,请参阅 系统级身份验证指南中的"使用 Kerberos "。
- 对于 Windows,请参阅 Kerberos 身份验证概述。
- Oracle 或 IBM JDK 的用户应安装 Java 加密扩展(JCE)。如需更多信息,请参阅来自 Oracle 版本的 JCE 或 IBM 版本的 JCE 的文档。
以下步骤演示了如何为身份验证和授权配置 Kerberos。
5.5.1. 配置网络连接以使用 Kerberos
AMQ 代理使用 简单身份验证和安全层(SASL)框架中的 GSSAPI 机制与 Kerberos 安全 凭证集成。要在 AMQ Broker 中使用 Kerberos,每个接受者验证或授权使用 Kerberos 凭证的客户端都必须配置为使用 GSSAPI 机制。
以下步骤演示了如何配置接收器以使用 Kerberos。
先决条件
- 您必须部署和配置 Kerberos 基础架构,然后才能 AMQ Broker 验证和授权 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 节 “关于接收器”。