7.2. 使用 Kerberos 进行身份验证


当与适当配置的服务器一起使用时,客户端可以配置为使用 Kerberos 进行身份验证。要启用 Kerberos,请使用以下步骤。

  1. 使用 amqp.saslMechanisms URI 选项将客户端配置为使用 SASL 身份验证的 GSSAPI 机制。

    amqp://myhost:5672?amqp.saslMechanisms=GSSAPI
    failover:(amqp://myhost:5672?amqp.saslMechanisms=GSSAPI)
  2. java.security.auth.login.config 系统属性设置为包含 Kerberos LoginModule 的适当配置的 JAAS 登录配置文件的路径。

    -Djava.security.auth.login.config=<login-config-file>

    登录配置文件可能类似以下示例:

    amqp-jms-client {
        com.sun.security.auth.module.Krb5LoginModule required
        useTicketCache=true;
    };

使用的确切配置将取决于您如何为连接建立凭证,以及使用的特定 LoginModule。有关 Oracle Krb5LoginModule 的详情,请查看 Oracle Krb5LoginModule 类参考。有关 IBM Java 8 Krb5LoginModule 的详情,请查看 IBM Krb5LoginModule 类参考

可以将 LoginModule 配置为建立用于 Kerberos 进程的凭证,如指定主体以及是否使用现有的票据缓存或 keytab。但是,如果 LoginModule 配置不提供建立所有必要的凭据的方法,则请求并从客户端连接对象传递用户名和密码值(如果使用 ConnectionFactory 选项创建连接或之前通过 URI 选项配置)。

请注意,Kerberos 仅支持验证目的。使用 SSL/TLS 连接进行加密。

以下连接 URI 选项可用于影响 Kerberos 身份验证过程。

sasl.options.configScope
用于验证的登录配置条目的名称。默认值为 amqp-jms-client
sasl.options.protocol
GSSAPI SASL 进程中使用的协议值。默认值为 amqp
sasl.options.serverName
GSSAPI SASL 进程中使用的 serverName 值。默认为来自连接 URI 的服务器主机名。

与前面详述的 amqp.transport. 选项类似,这些选项必须基于每个主机指定,或者作为故障切换 URI 中的 all-host 嵌套选项。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部