4.3. エンドポイント認証メカニズムの設定


クライアントで認証するために、SASL または HTTP 認証メカニズムを使用して、Hot Rod および REST コネクターを設定します。

Data Grid サーバーでは、コマンドラインインターフェイス (CLI) とコンソールに加え、Hot Rod および REST エンドポイントにアクセスするために、ユーザー認証が必要です。また、Data Grid サーバーは、定義したセキュリティーレルムに基づいて認証メカニズムを自動的に設定します。

4.3.1. Data Grid Server の認証

Data Grid サーバーは、エンドポイントに割り当てるセキュリティーレルムに基づいて、認証メカニズムを自動的に設定します。

SASL 認証メカニズム

以下の SASL 認証メカニズムは Hot Rod エンドポイントに適用されます。

Security RealmSASL 認証メカニズム

プロパティーレルムと LDAP レルム

SCRAM-*、DIGEST-*、CRAM-MD5

トークンレルム

OAUTHBEARER

トラストレルム

EXTERNAL

Kerberos アイデンティティー

GSSAPI、GS2-KRB5

SSL/TLS アイデンティティー

PLAIN

HTTP 認証メカニズム

以下の HTTP 認証メカニズムは REST エンドポイントに適用されます。

Security RealmHTTP 認証メカニズム

プロパティーレルムと LDAP レルム

DIGEST

トークンレルム

BEARER_TOKEN

トラストレルム

CLIENT_CERT

Kerberos アイデンティティー

SPNEGO

SSL/TLS アイデンティティー

BASIC

デフォルト設定

Data Grid サーバーは、以下のスニペットに示すように $RHDG_HOME/server/ conf/users.properties で定義されたプレーンテキストの認証情報が含まれるプロパティーレルムを使用する default という名前のセキュリティーレルムを提供します。

<security-realm name="default">
  <properties-realm groups-attribute="Roles">
    <user-properties path="users.properties"
                     relative-to="infinispan.server.config.path"
                     plain-text="true"/>
    <group-properties path="groups.properties"
                      relative-to="infinispan.server.config.path" />
  </properties-realm>
</security-realm>

endpoints 設定は、以下のようにデフォルトのセキュリティーレルムを Hot Rod および REST コネクターに割り当てます。

<endpoints socket-binding="default" security-realm="default">
  <hotrod-connector name="hotrod"/>
  <rest-connector name="rest"/>
</endpoints>

上記の設定により、Data Grid サーバーには、プロパティーレルムがサポートするメカニズムによる認証が必要になります。

4.3.2. Hot Rod 認証の手動設定

Data Grid サーバーがセキュリティーレルムに使用するデフォルトの SASL 認証メカニズムを上書きするように、Hot Rod コネクター認証を明示的に設定します。

手順

  1. Hot Rod コネクター設定に authentication 定義を追加します。
  2. Hot Rod コネクターが認証に使用する Data Grid セキュリティーレルムを指定します。
  3. 使用する Hot Rod エンドポイントの SASL 認証メカニズムを指定します。
  4. 必要に応じて SASL 認証プロパティーを設定します。

4.3.2.1. Hot Rod 認証設定

SCRAM、DIGEST、および PLAIN 認証を使用した Hot Rod コネクター

<endpoints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="urn:infinispan:server:11.0
           https://infinispan.org/schemas/infinispan-server-11.0.xsd"
           xmlns="urn:infinispan:server:11.0"
           socket-binding="default" security-realm="default"> 1
   <hotrod-connector name="hotrod">
      <authentication>
         <sasl mechanisms="SCRAM-SHA-512 SCRAM-SHA-384 SCRAM-SHA-256 2
                           SCRAM-SHA-1 DIGEST-SHA-512 DIGEST-SHA-384
                           DIGEST-SHA-256 DIGEST-SHA DIGEST-MD5 PLAIN"
               server-name="infinispan" 3
               qop="auth"/> 4
      </authentication>
   </hotrod-connector>
</endpoints>

1
default という名前のセキュリティーレルムに対する認証を有効にします。
2
認証に使用する SASL メカニズムを指定します。
3
Data Grid Server がクライアントに宣言する名前を定義します。サーバー名は、クライアント設定と一致する必要があります。
4
auth QoP を有効にします。

Kerberos 認証を使用した Hot Rod コネクター

<endpoints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="urn:infinispan:server:11.0 https://infinispan.org/schemas/infinispan-server-11.0.xsd"
           xmlns="urn:infinispan:server:11.0"
           socket-binding="default" security-realm="default">
   <hotrod-connector name="hotrod">
      <authentication>
         <sasl mechanisms="GSSAPI GS2-KRB5" 1
               server-name="datagrid" 2
               server-principal="hotrod/datagrid@INFINISPAN.ORG"/> 3
      </authentication>
   </hotrod-connector>
</endpoints>

1
Kerberos 認証に GSSAPI および GS2-KRB5 メカニズムを有効にします。
2
Data Grid サーバー名を定義します。これは Kerberos サービス名と同じです。
3
サーバーの Kerberos アイデンティティーを指定します。

4.3.2.2. Hot Rod エンドポイント認証メカニズム

Data Grid は、Hot Rod コネクターを使用して以下の SASL 認証メカニズムをサポートします。

認証メカニズム説明関連する詳細

PLAIN

プレーンテキスト形式の認証情報を使用します。PLAIN 認証は、暗号化された接続でのみ使用する必要があります。

Basic HTTP メカニズムに似ています。

DIGEST-*

ハッシュアルゴリズムとナンス値を使用します。ホットロッドコネクターは、強度の順に、DIGEST-MD5DIGEST-SHADIGEST-SHA-256DIGEST-SHA-384、および DIGEST-SHA-512 ハッシュアルゴリズムをサポートします。

Digest HTTP メカニズムに似ています。

SCRAM-*

ハッシュアルゴリズムとナンス値に加えてソルト値を使用します。ホットロッドコネクターは、SCRAM-SHASCRAM-SHA-256SCRAM-SHA-384、および SCRAM-SHA-512 ハッシュアルゴリズムを強度順にサポートします。

Digest HTTP メカニズムに似ています。

GSSAPI

Kerberos チケットを使用し、Kerberos ドメインコントローラーが必要です。対応する Kerberos サーバー ID をレルム設定に追加する必要があります。ほとんどの場合、ユーザーメンバーシップ情報を提供するために ldap-realm も指定します。

SPNEGO HTTP メカニズムに似ています。

GS2-KRB5

Kerberos チケットを使用し、Kerberos ドメインコントローラーが必要です。対応する Kerberos サーバー ID をレルム設定に追加する必要があります。ほとんどの場合、ユーザーメンバーシップ情報を提供するために ldap-realm も指定します。

SPNEGO HTTP メカニズムに似ています。

EXTERNAL

クライアント証明書を使用します。

CLIENT_CERTHTTP メカニズムに似ています。

OAUTHBEARER

OAuth トークンを使用し、token-realm 設定が必要です。

BEARER_TOKEN HTTP メカニズムに似ています。

4.3.2.3. SASL Quality of Protection (QoP)

SASL メカニズムが整合性とプライバシー保護設定に対応している場合は、qop 属性を使用して Hot Rod コネクター設定に追加することができます。

QoP 設定説明

auth

認証のみ。

auth-int

整合性保護による認証。

auth-conf

整合性とプライバシー保護による認証。

4.3.2.4. SASL ポリシー

SASL ポリシーを使用すると、Hot Rod コネクターが使用できる認証メカニズムを制御できます。

ポリシー説明デフォルト値

forward-secrecy

セッション間の forward secrecy をサポートする SASL メカニズムのみを使用します。これは、1 つのセッションに分割しても、将来のセッションに分割するための情報が自動的に提供されないことを意味します。

false

pass-credentials

クライアント認証情報が必要な SASL メカニズムのみを使用してください。

false

no-plain-text

単純な受動的攻撃の影響を受けやすい SASL メカニズムは使用しないでください。

false

no-active

アクティブな非辞書攻撃の影響を受けやすい SASL メカニズムは使用しないでください。

false

no-dictionary

受動的な辞書攻撃の影響を受けやすい SASL メカニズムは使用しないでください。

false

no-anonymous

匿名ログインを許可する SASL メカニズムは使用しないでください。

true

ヒント

Data Grid のキャッシュ承認では、ロールおよびパーミッションに基づいてキャッシュへのアクセスを制限します。キャッシュ承認を設定する場合は、<no-anonymous value=false /> を設定して匿名ログインを許可し、アクセスロジックをキャッシュ承認に委任できます。

SASL ポリシー設定の Hot Rod コネクター

<hotrod-connector socket-binding="hotrod" cache-container="default">
   <authentication security-realm="ApplicationRealm">
      <sasl server-name="myhotrodserver"
            mechanisms="PLAIN DIGEST-MD5 GSSAPI EXTERNAL" 1
            qop="auth">
         <policy> 2
            <no-active value="true" />
            <no-anonymous value="true" />
            <no-plain-text value="true" />
         </policy>
      </sasl>
   </authentication>
</hotrod-connector>

1
Hotgitops コネクターの複数の SASL 認証メカニズムを指定します。
2
SASL メカニズムのポリシーを定義します。

前述の設定により、Hot Rod コネクターは GSSAPI メカニズムを使用します。これは、すべてのポリシーに準拠する唯一のメカニズムであるためです。

4.3.3. REST 認証の手動設定

Data Grid サーバーがセキュリティーレルムに使用するデフォルトの HTTP 認証メカニズムを上書きするように、REST コネクター認証を明示的に設定します。

手順

  1. REST コネクター設定に authentication 定義を追加します。
  2. REST コネクターが認証に使用する Data Grid セキュリティーレルムを指定します。
  3. 使用する REST エンドポイントの認証メカニズムを指定します。

4.3.3.1. REST 認証設定

BASIC および DIGEST 認証による REST コネクター

<endpoints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="urn:infinispan:server:11.0 https://infinispan.org/schemas/infinispan-server-11.0.xsd"
           xmlns="urn:infinispan:server:11.0"
           socket-binding="default" security-realm="default"> 1
   <rest-connector name="rest">
      <authentication mechanisms="DIGEST BASIC"/> 2
   </rest-connector>
</endpoints>

1
default という名前のセキュリティーレルムに対する認証を有効にします。
2
認証に使用する SASL メカニズムを指定します。

Kerberos 認証による REST コネクター

<endpoints xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="urn:infinispan:server:11.0 https://infinispan.org/schemas/infinispan-server-11.0.xsd"
           xmlns="urn:infinispan:server:11.0"
           socket-binding="default" security-realm="default">
   <rest-connector name="rest">
      <authentication mechanisms="SPNEGO" 1
                      server-principal="HTTP/localhost@INFINISPAN.ORG"/> 2
   </rest-connector>
</endpoints>

1
Kerberos 認証の SPENGO メカニズムを有効にします。
2
サーバーの Kerberos アイデンティティーを指定します。

4.3.3.2. REST エンドポイント認証メカニズム

Data Grid は、REST コネクターを使用して以下の認証メカニズムをサポートします。

認証メカニズム説明関連する詳細

BASIC

プレーンテキスト形式の認証情報を使用します。暗号化された接続でのみ BASIC 認証を使用する必要があります。

HTTP Basic HTTP 認証方式に対応し、PLAIN SASL メカニズムと同様です。

DIGEST

ハッシュアルゴリズムとナンス値を使用します。REST コネクターは、SHA-512SHA-256、および MD5 ハッシュアルゴリズムをサポートします。

Digest HTTP 認証スキームに対応し、DIGEST-* SASL メカニズムに似ています。

SPNEGO

Kerberos チケットを使用し、Kerberos ドメインコントローラーが必要です。対応する Kerberos サーバー ID をレルム設定に追加する必要があります。ほとんどの場合、ユーザーメンバーシップ情報を提供するために ldap-realm も指定します。

Negotiate HTTP 認証スキームに対応し、GSSAPI および GS2-KRB5SASL メカニズムに類似しています。

BEARER_TOKEN

OAuth トークンを使用し、token-realm 設定が必要です。

Bearer HTTP 認証スキームに対応し、OAUTHBEARERSASL メカニズムに似ています。

CLIENT_CERT

クライアント証明書を使用します。

EXTERNAL SASL メカニズムに似ています。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.