5.5.3. 使用 Kerberos 凭证授权客户端
AMQ Broker 包括 JAAS Krb5LoginModule
登录模块的实施,以便在映射角色时供其他安全模块使用。该模块将 Kerberos 身份验证的 Peer Principal 添加到主题的主体集中,作为 AMQ Broker UserPrincipal。然后可将凭证传递给 PropertiesLoginModule
或 LDAPLoginModule
模块,该模块将 Kerberos 验证的 Peer Principal 映射到 AMQ Broker 角色。
Kerberos Peer Principal 不再是代理用户,仅作为角色成员。
先决条件
- 您必须启用接收器的 GSSAPI 机制,然后才能使用 Kerberos 安全凭证授权 AMQP 连接。
流程
停止代理。
在 Linux 中:
<broker_instance_dir>/bin/artemis stop
在 Windows 中:
<broker_instance_dir>\bin\artemis-service.exe stop
-
打开
<broker_instance_dir>/etc/login.config
配置文件。 添加 AMQ Broker
Krb5LoginModule
和LDAPLoginModule
的配置。通过引用 LDAP 供应商的文档来验证配置选项。下面显示了一个配置示例:
org.apache.activemq.artemis.spi.core.security.jaas.Krb5LoginModule required ; org.apache.activemq.artemis.spi.core.security.jaas.LDAPLoginModule optional initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory connectionURL="ldap://localhost:1024" authentication=GSSAPI saslLoginConfigScope=broker-sasl-gssapi connectionProtocol=s userBase="ou=users,dc=example,dc=com" userSearchMatching="(krb5PrincipalName={0})" userSearchSubtree=true authenticateUser=false roleBase="ou=system" roleName=cn roleSearchMatching="(member={0})" roleSearchSubtree=false ;
注意上例中显示的
Krb5LoginModule
版本与 AMQ Broker 一起分发,并将 Kerberos 身份转换为代理身份,供其他 AMQ 模块用于角色映射。启动代理。
在 Linux 中:
<broker_instance_dir>/bin/artemis run
在 Windows 中:
<broker_instance_dir>\bin\artemis-service.exe start
其它资源
- 有关在 AMQ Broker 中启用 GSSAPI 机制的更多信息,请参阅 第 5.5.1 节 “配置网络连接以使用 Kerberos”。
-
有关
PropertiesLoginModule
的更多信息,请参阅 第 5.2.2.1 节 “配置基本用户和密码身份验证”。 -
有关
LDAPLoginModule
的更多信息,请参阅 第 5.4.1 节 “配置 LDAP 以验证客户端”。