5.5.2. 使用 Kerberos 凭证验证客户端


AMQ Broker 支持使用 简单身份验证和安全层(SASL)框架中的 GSSAPI 机制的 AMQP 连接的 Kerberos 身份验证

代理通过使用 Java 身份验证与授权服务 (JAAS)获取其 Kerberos 接收器凭证。Java 安装中包含的 JAAS 库打包为登录模块 Krb5LoginModule,用于验证 Kerberos 凭证。有关 Krb5LoginModule 的更多信息,请参阅来自您的 Java 厂商的文档。例如,Oracle 在其 Java 8 文档中 提供有关其 Krb5LoginModule 登录模块的信息。

先决条件

流程

  1. 停止代理。

    1. 在 Linux 中:

      <broker_instance_dir>/bin/artemis stop
    2. 在 Windows 中:

      <broker_instance_dir>\bin\artemis-service.exe stop
  2. 打开 <broker_instance_dir>/etc/login.config 配置文件。
  3. 添加名为 amqp-sasl-gssapi 的配置范围。以下示例显示了 JDK 的 Oracle 和 OpenJDK 版本中找到的 Krb5LoginModule 的配置。

    amqp-sasl-gssapi {
        com.sun.security.auth.module.Krb5LoginModule required
        isInitiator=false
        storeKey=true
        useKeyTab=true
        principal="amqp/my_broker_host@example.com"
        debug=true;
    };
    amqp-sasl-gssapi
    默认情况下,代理上的 GSSAPI 机制实施使用名为 amqp-sasl-gssapi 的 JAAS 配置范围来获取其 Kerberos 接收器凭证。
    Krb5LoginModule
    这个版本的 Krb5LoginModule 由 Oracle 和 OpenJDK 版本的 JDK 提供。通过参考来自 Java 供应商的文档,验证 Krb5LoginModule 的完全限定类名称及其可用选项。
    useKeyTab
    在验证主体时,Krb5LoginModule 配置为使用 Kerberos keytab。keytab 使用来自 Kerberos 环境的工具生成。有关生成 Kerberos keytab 的详细信息,请参阅供应商的文档。
    principal
    Principal 设置为 amqp/my_broker_host@example.com。这个值必须与您的 Kerberos 环境中创建的服务主体对应。有关创建服务主体的详情,请查看您供应商的文档。
  4. 启动代理。

    1. 在 Linux 中:

      <broker_instance_dir>/bin/artemis run
    2. 在 Windows 中:

      <broker_instance_dir>\bin\artemis-service.exe start

5.5.2.1. 使用替代配置范围

您可以通过将 saslLoginConfigScope 参数添加到 AMQP 接收器的 URL 来指定替代配置范围。在以下配置示例中,slLoginConfigScope 参数被赋予值 alternative-sasl-gssapi。结果是一个接收器,它使用名为 alternative-sasl-gssapi 的替代范围,它在 <broker_instance_dir>/etc/login.config 配置文件中声明。

<acceptor name="amqp">
tcp://0.0.0.0:5672?protocols=AMQP;saslMechanisms=GSSAPI,PLAIN;saslLoginConfigScope=alternative-sasl-gssapi`
</acceptor>
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.