搜索

7.2. 使用 Kerberos 进行身份验证

download PDF

与正确配置的服务器一起使用时,可以将客户端配置为使用 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 系统属性设置为 JAAS 登录配置文件的路径,其中包含 Kerberos LoginModule 的适当配置。

    -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 创建 Connection 或者之前通过其 URI 选项配置,则可以从客户端 Connection 对象请求和传递用户名和密码值。

请注意,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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.