ユーザーキャッシュの制御
ユーザーの資格情報は、リモート認証サービスに接続したり、すべての受信リクエストに対してディスクにアクセスしたりすることを避けるために、各ノードのメモリにキャッシュされます。ユーザーキャッシュの特性は、cache.ttl
、cache.max_users
、および cache.hash_algo
レルム設定を使用して構成できます。
JWTレルムは、jwt.cache.ttl
および jwt.cache.size
レルム設定を使用します。
PKIおよびJWTレルムはユーザーの資格情報をキャッシュしませんが、各リクエストで役割マッピングを不必要に実行する必要がないように、解決されたユーザーオブジェクトをキャッシュします。
キャッシュされたユーザーの資格情報はメモリ内でハッシュ化されます。デフォルトでは、Elasticsearchのセキュリティ機能はソルト付きの sha-256
ハッシュアルゴリズムを使用します。cache.hash_algo
レルム設定を設定することで、別のハッシュアルゴリズムを使用できます。詳細は ユーザーキャッシュとパスワードハッシュアルゴリズム を参照してください。
キャッシュからのユーザーの追放
キャッシュされたユーザーを強制的に追放するには、キャッシュクリアAPIを使用できます。たとえば、次のリクエストは ad1
レルムからすべてのユーザーを追放します:
Js
$ curl -XPOST 'http://localhost:9200/_security/realm/ad1/_clear_cache'
複数のレルムのキャッシュをクリアするには、レルムをカンマ区切りのリストとして指定します:
Js
$ curl -XPOST 'http://localhost:9200/_security/realm/ad1,ad2/_clear_cache'
特定のユーザーを追放することもできます:
Java
$ curl -XPOST 'http://localhost:9200/_security/realm/ad1/_clear_cache?usernames=rdeniro,alpacino'