4.2. 手动配置 Hot Rod 身份验证

明确配置 Hot Rod 连接器身份验证,以覆盖 Data Grid 服务器用于安全域的默认 SASL 身份验证机制。

流程

  1. 在 Hot Rod 连接器配置中添加 身份验证 定义。
  2. 指定 Hot Rod 连接器用来进行身份验证的 Data Grid 安全域。
  3. 指定要使用的 Hot Rod 端点的 SASL 身份验证机制。
  4. 根据需要配置 SASL 身份验证属性。

4.2.1. 热 Rod 身份验证配置

带有 SCRAM、DIGEST 和 PLAIN 验证的热 Rod 连接器

<endpoints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="urn:infinispan:server:12.1
           https://infinispan.org/schemas/infinispan-server-12.1.xsd"
           xmlns="urn:infinispan:server:12.1"
           socket-binding="default"
           security-realm="default">
   <hotrod-connector>
      <authentication>
         <!-- Specifies SASL mechanisms to use for authentication. -->
         <!-- Defines the name that the server declares to clients. -->
         <sasl mechanisms="SCRAM-SHA-512 SCRAM-SHA-384 SCRAM-SHA-256
                           SCRAM-SHA-1 DIGEST-SHA-512 DIGEST-SHA-384
                           DIGEST-SHA-256 DIGEST-SHA DIGEST-MD5 PLAIN"
               server-name="infinispan"
               qop="auth"/>
      </authentication>
   </hotrod-connector>
</endpoints>

带有 Kerberos 验证的热 Rod 连接器

<endpoints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="urn:infinispan:server:12.1 https://infinispan.org/schemas/infinispan-server-12.1.xsd"
           xmlns="urn:infinispan:server:12.1"
           socket-binding="default"
           security-realm="default">
   <hotrod-connector>
      <authentication>
         <!-- Enables the GSSAPI and GS2-KRB5 mechanisms for Kerberos authentication. -->
         <!-- Defines the server name, which is equivalent to the Kerberos service name, and specifies the Kerberos identity for the server. -->
         <sasl mechanisms="GSSAPI GS2-KRB5"
               server-name="datagrid"
               server-principal="hotrod/datagrid@INFINISPAN.ORG"/>
      </authentication>
   </hotrod-connector>
</endpoints>

4.2.2. 热 Rod 端点身份验证机制

Data Grid 支持带有 Hot Rod 连接器的以下 SASL 验证机制:

身份验证机制描述相关详情

PLAIN

以纯文本格式使用凭据。您应该只在加密连接中使用 PLAIN 身份验证。

基本 HTTP 机制类似。

DIGEST-*

使用哈希算法和非ce 值。热 Rod 连接器支持 DIGEST-MD 5、DIGEST-SHA -256、DIGEST-SHA-256DIGEST-SHA-384DIGEST-SHA-512 哈希算法,以强度顺序。

Digest HTTP 机制类似。

SCRAM-*

除了哈希算法和非ce 值外,还使用 salt 值。热 Rod 连接器支持 SCRAM-SHASCRAM-SHA-256SCRAM-SHA-384SCRAM-SHA-512 哈希算法(按强度排序)。

Digest HTTP 机制类似。

GSSAPI

使用 Kerberos 票据并需要一个 Kerberos 域控制器。您必须在 realm 配置中添加对应的 kerberos 服务器身份。在大多数情况下,您还指定一个 ldap-realm 来提供用户成员资格信息。

SPNEGO HTTP 机制类似。

GS2-KRB5

使用 Kerberos 票据并需要一个 Kerberos 域控制器。您必须在 realm 配置中添加对应的 kerberos 服务器身份。在大多数情况下,您还指定一个 ldap-realm 来提供用户成员资格信息。

SPNEGO HTTP 机制类似。

EXTERNAL

使用客户端证书。

CLIENT_CERT HTTP 机制类似。

OAUTHBEARER

使用 OAuth 令牌并需要一个 token-realm 配置。

与EARER _TOKEN HTTP 机制类似。

4.2.3. SASL 服务质量(QoP)

如果 SASL 机制支持完整性和隐私保护设置,您可以使用 qop 属性将它们添加到 Hot Rod 连接器配置中。

QoP 设置描述

auth

仅进行身份验证。

auth-int

使用完整性保护进行身份验证。

auth-conf

使用完整性和隐私保护进行身份验证。

4.2.4. SASL 策略

SASL 策略可让您控制哪些身份验证机制 Hot Rod 连接器可以使用。

策略描述默认值

forward-secrecy

只使用支持会话之间转发保密的 SASL 机制。这意味着破坏一个会话不会自动提供破坏未来会话的信息。

false

pass-credentials

仅使用需要客户端凭证的 SASL 机制。

false

no-plain-text

不要使用易受简单纯文本攻击的 SASL 机制。

false

no-active

不要使用易受活跃、非字典、攻击的 SASL 机制。

false

无字典

不要使用易受被动字典攻击的 SASL 机制。

false

no-anonymous

不要使用接受匿名登录的 SASL 机制。

true

提示

数据网格缓存授权根据角色和权限限制对缓存的访问。如果配置缓存授权,您可以设置 < no-anonymous value=false /&gt; 以允许匿名登录并将访问逻辑委派给缓存授权。

使用 SASL 策略配置的热 Rod 连接器

<hotrod-connector socket-binding="hotrod" cache-container="default">
   <authentication security-realm="ApplicationRealm">
      <!-- Specifies multiple SASL authentication mechanisms for the Hot Rod connector. -->
      <sasl server-name="myhotrodserver"
            mechanisms="PLAIN DIGEST-MD5 GSSAPI EXTERNAL"
            qop="auth">
         <!-- Defines policies for SASL mechanisms. -->
         <policy>
            <no-active value="true" />
            <no-anonymous value="true" />
            <no-plain-text value="true" />
         </policy>
      </sasl>
   </authentication>
</hotrod-connector>

由于上述配置,Hot Rod 连接器使用 GSSAPI 机制,因为它是唯一适用于所有策略的机制。