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


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

代理通过使用 Java 身份验证和授权服务(JAAS)获取其 Kerberos 接受者 凭证。Java 安装中包含的 JAAS 库打包成登录模块 Krb5LoginModule,用于验证 Kerberos 凭据。有关其 Krb5LoginModule 的更多信息,请参阅您的 Java 供应商文档。例如,Oracle 提供了有关 Krb5LoginModule 登录模块的信息,作为 Java 8 文档 的一部分。

先决条件

步骤

  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 由 JDK 的 Oracle 和 OpenJDK 版本提供。通过引用 Java 供应商的文档,验证 Krb5LoginModule 及其可用选项的完全限定类名称。
    useKeyTab
    Krb5LoginModule 在验证主体时使用 Kerberos keytab。keytabs 使用来自 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. 使用其他配置范围

您可以通过在 AMQP 接受器的 URL 中添加参数 saslLoginConfigScope 来指定替代的配置范围。在以下配置中,为参数 saslLoginConfigScope 提供值 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.