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 Realm | SASL 認証メカニズム |
---|---|
プロパティーレルムと LDAP レルム | SCRAM-*、DIGEST-*、CRAM-MD5 |
トークンレルム | OAUTHBEARER |
トラストレルム | EXTERNAL |
Kerberos アイデンティティー | GSSAPI、GS2-KRB5 |
SSL/TLS アイデンティティー | PLAIN |
HTTP 認証メカニズム
以下の HTTP 認証メカニズムは REST エンドポイントに適用されます。
Security Realm | HTTP 認証メカニズム |
---|---|
プロパティーレルムと 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 コネクター認証を明示的に設定します。
手順
-
Hot Rod コネクター設定に
authentication
定義を追加します。 - Hot Rod コネクターが認証に使用する Data Grid セキュリティーレルムを指定します。
- 使用する Hot Rod エンドポイントの SASL 認証メカニズムを指定します。
- 必要に応じて 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>
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>
4.3.2.2. Hot Rod エンドポイント認証メカニズム
Data Grid は、Hot Rod コネクターを使用して以下の SASL 認証メカニズムをサポートします。
認証メカニズム | 説明 | 関連する詳細 |
---|---|---|
|
プレーンテキスト形式の認証情報を使用します。 |
|
|
ハッシュアルゴリズムとナンス値を使用します。ホットロッドコネクターは、強度の順に、 |
|
|
ハッシュアルゴリズムとナンス値に加えてソルト値を使用します。ホットロッドコネクターは、 |
|
|
Kerberos チケットを使用し、Kerberos ドメインコントローラーが必要です。対応する |
|
|
Kerberos チケットを使用し、Kerberos ドメインコントローラーが必要です。対応する |
|
| クライアント証明書を使用します。 |
|
|
OAuth トークンを使用し、 |
|
4.3.2.3. SASL Quality of Protection (QoP)
SASL メカニズムが整合性とプライバシー保護設定に対応している場合は、qop
属性を使用して Hot Rod コネクター設定に追加することができます。
QoP 設定 | 説明 |
---|---|
| 認証のみ。 |
| 整合性保護による認証。 |
| 整合性とプライバシー保護による認証。 |
4.3.2.4. SASL ポリシー
SASL ポリシーを使用すると、Hot Rod コネクターが使用できる認証メカニズムを制御できます。
ポリシー | 説明 | デフォルト値 |
---|---|---|
| セッション間の forward secrecy をサポートする SASL メカニズムのみを使用します。これは、1 つのセッションに分割しても、将来のセッションに分割するための情報が自動的に提供されないことを意味します。 | false |
| クライアント認証情報が必要な SASL メカニズムのみを使用してください。 | false |
| 単純な受動的攻撃の影響を受けやすい SASL メカニズムは使用しないでください。 | false |
| アクティブな非辞書攻撃の影響を受けやすい SASL メカニズムは使用しないでください。 | false |
| 受動的な辞書攻撃の影響を受けやすい SASL メカニズムは使用しないでください。 | false |
| 匿名ログインを許可する 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>
前述の設定により、Hot Rod コネクターは GSSAPI
メカニズムを使用します。これは、すべてのポリシーに準拠する唯一のメカニズムであるためです。
4.3.3. REST 認証の手動設定
Data Grid サーバーがセキュリティーレルムに使用するデフォルトの HTTP 認証メカニズムを上書きするように、REST コネクター認証を明示的に設定します。
手順
-
REST コネクター設定に
authentication
定義を追加します。 - REST コネクターが認証に使用する Data Grid セキュリティーレルムを指定します。
- 使用する 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>
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>
4.3.3.2. REST エンドポイント認証メカニズム
Data Grid は、REST コネクターを使用して以下の認証メカニズムをサポートします。
認証メカニズム | 説明 | 関連する詳細 |
---|---|---|
|
プレーンテキスト形式の認証情報を使用します。暗号化された接続でのみ |
HTTP |
|
ハッシュアルゴリズムとナンス値を使用します。REST コネクターは、 |
|
|
Kerberos チケットを使用し、Kerberos ドメインコントローラーが必要です。対応する |
|
|
OAuth トークンを使用し、 |
|
| クライアント証明書を使用します。 |
|