- Elasticsearchにおけるセキュリティ設定
- 一般的なセキュリティ設定
- パスワードハッシュ設定
- 匿名アクセス設定
- オートマトン設定
- ドキュメントおよびフィールドレベルのセキュリティ設定
- トークンサービス設定
- APIキーサービス設定
- セキュリティドメイン設定
- レルム設定
- すべてのレルムに有効な設定
- ネイティブレルム設定
- ファイルレルム設定
- LDAP レルム設定
- Active Directory realm settings
- PKI realm settings
- SAML レルム設定
- SAML レルム署名設定
- SAML レルム暗号化設定
- SAML レルム SSL 設定
- Kerberos レルム設定
- OpenID Connect realm settings
- OpenID Connect realm SSL settings
- JWT realm settings
- JWT レルム SSL 設定
- 負荷分散とフェイルオーバー
- 一般的な TLS 設定
- HTTP TLS/SSL キーと信頼された証明書の設定
- PEM エンコードファイル
- Java キーストアファイル
- PKCS#12 ファイル
- トランスポート TLS/SSL キーと信頼された証明書の設定
- PEM エンコードファイル
- Java キーストアファイル
- PKCS#12 ファイル
- リモートクラスターサーバー (API キーベースモデル) TLS/SSL キーと信頼された証明書の設定
- PEM エンコードファイル
- Java キーストアファイル
- PKCS#12 ファイル
- リモートクラスタークライアント (APIキーベースモデル) TLS/SSLキーと信頼された証明書設定
- PEMエンコードファイル
- Javaキーストアファイル
- PKCS#12ファイル
Elasticsearchにおけるセキュリティ設定
xpack.security
設定を構成して 匿名アクセスを有効にする とメッセージ認証を行い、ドキュメントおよびフィールドレベルのセキュリティを設定する、レルムを構成する、SSLで通信を暗号化する、および セキュリティイベントを監査する。
これらの設定はすべて elasticsearch.yml
構成ファイルに追加できますが、セキュア設定はElasticsearchキーストアに追加します。Elasticsearchキーストアの作成と更新に関する詳細は、セキュア設定を参照してください。
一般的なセキュリティ設定
xpack.security.enabled
- (Static) デフォルトは
true
で、これによりノードでElasticsearchのセキュリティ機能が有効になります。この設定は、Elasticsearchの認証、認可、および監査機能を使用するために有効にする必要があります。false
に設定すると、セキュリティ機能は無効になり、推奨されません。また、このElasticsearchインスタンスに接続するすべてのKibanaインスタンスにも影響します。これらのkibana.yml
ファイルでセキュリティ機能を無効にする必要はありません。特定のKibanaインスタンスでのセキュリティ機能を無効にする方法については、Kibanaセキュリティ設定を参照してください。 xpack.security.autoconfiguration.enabled
- (Static) デフォルトは
true
で、セキュリティ自動構成を有効にします。false
に設定すると、セキュリティ自動構成は無効になり、推奨されません。無効にすると、Elasticsearchを初めて起動する際にセキュリティが自動的に構成されず、手動でセキュリティを構成する必要があります。 xpack.security.enrollment.enabled
- (Static) デフォルトは
false
です。ローカルノードに対するノードとKibanaの登録を制御します。これはセキュリティのために自動構成されたローカルノードに対して行われます。true
に設定すると、ローカルノードは新しい登録トークンを生成できます。既存のトークンは、まだ有効であれば登録に使用できます。
セキュリティ自動構成プロセスは、管理者がElasticsearchを起動する前にfalse
に設定しない限り、true
に設定します。 xpack.security.hide_settings
- (Static) クラスタノード情報APIの結果から省略される設定のカンマ区切りリストです。ワイルドカードを使用してリストに複数の設定を含めることができます。たとえば、次の値はad1 active_directoryレルムのすべての設定を隠します:
xpack.security.authc.realms.active_directory.ad1.*
。APIは、情報の機密性のためにすでにすべてのssl
設定、bind_dn
、およびbind_password
を省略しています。 xpack.security.fips_mode.enabled
- (Static) FIPSモードの操作を有効にします。このElasticsearchインスタンスをFIPS 140-2が有効なJVMで実行する場合は、
true
に設定します。詳細については、FIPS 140-2を参照してください。デフォルトはfalse
です。 xpack.security.fips_mode.required_providers
- (Static) 特定のJava JCE/JSSEセキュリティプロバイダーを強制的に適用します。たとえば、
["BCFIPS", "BCJSSE"]
(大文字と小文字を区別しない) に設定して、Bouncy Castle FIPS JCEおよびJSSEセキュリティプロバイダーを要求します。xpack.security.fips_mode.enabled
がtrue
に設定されている場合にのみ適用されます。
パスワードハッシュ設定
xpack.security.authc.password_hashing.algorithm
- (Static) セキュアなユーザー資格情報ストレージに使用されるハッシュアルゴリズムを指定します。詳細は 表2、「パスワードハッシュアルゴリズム」 を参照してください。
xpack.security.fips_mode.enabled
がtrueの場合 (詳細は FIPS 140-2 を参照)、デフォルトはpbkdf2_stretch
です。他のすべての場合、デフォルトはbcrypt
です。
匿名アクセス設定
elasticsearch.yml
で次の匿名アクセス設定を構成できます。詳細については、匿名アクセスの有効化を参照してください。
xpack.security.authc.anonymous.username
- (Static) 匿名ユーザーのユーザー名 (principal)。デフォルトは
_es_anonymous_user
です。 xpack.security.authc.anonymous.roles
- (Static) 匿名ユーザーに関連付けるロール。必須です。
xpack.security.authc.anonymous.authz_exception
- (Static)
true
の場合、匿名ユーザーが要求されたアクションに対して適切な権限を持っていない場合、HTTP 403レスポンスが返されます。ユーザーは要求されたリソースにアクセスするための資格情報を提供するように求められません。false
に設定すると、HTTP 401レスポンスが返され、ユーザーはアクセスを得るために適切な権限を持つ資格情報を提供できます。デフォルトはtrue
です。
オートマトン設定
セキュリティ機能がワイルドカードパターンを受け入れる場所 (例: ロールのインデックスパターン、ロールマッピングAPIのグループマッチ) では、各パターンがオートマトンにコンパイルされます。この動作を制御するための設定は次のとおりです。
xpack.security.automata.max_determinized_states
- (Static) 単一のパターンによって作成されるオートマトン状態の上限。この設定は、あまりにも難しい (例: 指数的に難しい) パターンから保護します。デフォルトは
100,000
です。 xpack.security.automata.cache.enabled
- (Static) コンパイルされたオートマトンをキャッシュするかどうか。オートマトンのコンパイルはCPU集約的であり、一部の操作を遅くする可能性があります。キャッシュは、オートマトンをコンパイルする頻度を減らします。デフォルトは
true
です。 xpack.security.automata.cache.size
- (Static) オートマトンキャッシュに保持するアイテムの最大数。デフォルトは
10,000
です。 xpack.security.automata.cache.ttl
- (Static) オートマトンキャッシュ内のアイテムを保持する時間の長さ (最近の使用に基づく)。デフォルトは
48h
(48時間) です。
ドキュメントおよびフィールドレベルのセキュリティ設定
elasticsearch.yml
で次のドキュメントおよびフィールドレベルのセキュリティ設定を行うことができます。詳細については、フィールドおよびドキュメントレベルのセキュリティの設定を参照してください。
xpack.security.dls_fls.enabled
- (Static) ドキュメントおよびフィールドレベルのセキュリティが構成されないようにするには
false
に設定します。デフォルトはtrue
です。 xpack.security.dls.bitset.cache.ttl
- (Static) ドキュメントレベルのセキュリティのキャッシュされた
BitSet
エントリの有効期限。ドキュメントレベルのセキュリティクエリはLucene BitSetオブジェクトに依存する場合があり、これらはパフォーマンスを向上させるために自動的にキャッシュされます。デフォルトは、使用されていないエントリが2h
(2時間) で期限切れになります。 xpack.security.dls.bitset.cache.size
- (Static) ドキュメントレベルのセキュリティのキャッシュされた
BitSet
エントリの最大メモリ使用量。ドキュメントレベルのセキュリティクエリはLucene BitSetオブジェクトに依存する場合があり、これらはパフォーマンスを向上させるために自動的にキャッシュされます。生のバイト数 (例:200mb
または1g
) またはノードのJVMヒープメモリのパーセンテージ (例:5%
) として構成できます。デフォルト値を超えると、最も最近使用されていないエントリが追い出されます。デフォルトはノードに割り当てられたヒープの10%
です。
トークンサービス設定
elasticsearch.yml
で次のトークンサービス設定を行うことができます。
xpack.security.authc.token.enabled
- (Static) ビルトインのトークンサービスを無効にするには
false
に設定します。デフォルトはtrue
ですが、xpack.security.http.ssl.enabled
がfalse
の場合はこの限りではありません。これにより、プレーンHTTP経由で接続からトークンをスニッフィングすることが防止されます。 xpack.security.authc.token.timeout
- (Static) トークンが有効な期間。デフォルトではこの値は
20m
または20分です。最大値は1時間です。
APIキーサービス設定
elasticsearch.yml
で次のAPIキーサービス設定を行うことができます。
xpack.security.authc.api_key.enabled
- (Static) ビルトインのAPIキーサービスを無効にするには
false
に設定します。デフォルトはtrue
です。 xpack.security.authc.api_key.cache.ttl
- (Static) キャッシュされたAPIキーエントリの有効期限。APIキーIDとそのAPIキーのハッシュは、この期間キャッシュされます。標準のElasticsearch 時間単位 を使用して時間を指定します。デフォルトは
1d
です。 xpack.security.authc.api_key.cache.max_keys
- (Static) キャッシュ内に同時に存在できるAPIキーエントリの最大数。デフォルトは10,000です。
xpack.security.authc.api_key.cache.hash_algo
(Static, Expert) メモリ内キャッシュされたAPIキー資格情報に使用されるハッシュアルゴリズム。可能な値については、表1、「キャッシュハッシュアルゴリズム」を参照してください。デフォルトは
ssha256
。xpack.security.authc.api_key.delete.retention_period
- (Dynamic) 保持期間を超えた無効化または期限切れのAPIキーは削除の対象となります。デフォルトは
7d
。
クラスタノード間の大きなリアルタイムクロックの不一致は、APIキーの保持期間の評価に問題を引き起こす可能性があります。つまり、APIキーを無効にするノードの時計が削除を行うノードの時計と大きく異なる場合、キーは設定された保持期間よりも長くまたは短く保持される可能性があります。
xpack.security.authc.api_key.delete.interval
- (Dynamic, Expert) クラスタノードは、保持期間を超えた無効化または期限切れのAPIキーの自動削除をスケジュールします。この設定は、2つの削除ジョブ間の最小時間間隔を制御します。デフォルトは
24h
です。
これは、現在、ノードごとにトリガーされる削除ジョブ間の間隔を制御する低レベルの設定であり、クラスタ全体ではありません。 xpack.security.authc.api_key.delete.timeout
- (Static, Expert) 内部検索および削除呼び出しのタイムアウトを設定します。
xpack.security.authc.api_key.hashing.algorithm
- (Static) APIキー資格情報を保護するために使用されるハッシュアルゴリズムを指定します。詳細は 表2、「パスワードハッシュアルゴリズム」 を参照してください。デフォルトは
pbkdf2
です。
セキュリティドメイン設定
xpack.security.authc.domains
名前空間でセキュリティドメイン設定を構成します elasticsearch.yml
。
例えば:
Yaml
xpack:
security:
authc:
domains:
my_domain:
realms: [ 'default_native', 'saml1' ]
セキュリティドメインの名前を指定します | |
ドメインに属するレルムを指定します |
レルム設定
xpack.security.authc.realms
名前空間でレルム設定を構成します elasticsearch.yml
。
例えば:
Yaml
xpack.security.authc.realms:
native.realm1:
order: 0
...
ldap.realm2:
order: 1
...
active_directory.realm3:
order: 2
...
...
レルムのタイプを指定します (例: native , ldap ,active_directory , pki , file , kerberos , saml ) とレルム名。この情報は必須です。 |
|
レルムチェーン内のレルムの優先度を指定します。この情報は必須です。 |
有効な設定はレルムタイプによって異なります。詳細については、ユーザー認証を参照してください。
すべてのレルムに有効な設定
order
- (Static) レルムチェーン内のレルムの優先度。順序が低いレルムが最初に参照されます。値は各レルムに対して一意でなければなりません。この設定は必須です。
enabled
- (Static) レルムが有効かどうかを示します。この設定を使用して、構成情報を削除せずにレルムを無効にできます。デフォルトは
true
です。
ネイティブレルム設定
すべてのレルムに有効な設定に加えて、次のオプション設定を指定できます:
cache.ttl
- (Static) キャッシュされたユーザーエントリの有効期限。ユーザーとその資格情報のハッシュは、この期間キャッシュされます。標準のElasticsearch 時間単位 を使用して時間を指定します。デフォルトは
20m
です。 cache.max_users
- (Static) 同時にキャッシュ内に存在できるユーザーエントリの最大数。デフォルトは100,000です。
cache.hash_algo
- (Static, Expert) メモリ内キャッシュされたユーザー資格情報に使用されるハッシュアルゴリズム。可能な値については、表1、「キャッシュハッシュアルゴリズム」を参照してください。デフォルトは
ssha256
です。 authentication.enabled
- (Static)
false
に設定すると、このレルムでの認証サポートが無効になり、ユーザーのルックアップのみをサポートします (詳細は run as および 認可レルム 機能を参照)。デフォルトはtrue
です。
ファイルレルム設定
すべてのレルムに有効な設定に加えて、次の設定を指定できます:
cache.ttl
- (Static) キャッシュされたユーザーエントリの有効期限。ユーザーとその資格情報のハッシュは、この設定された期間キャッシュされます。デフォルトは
20m
です。標準のElasticsearch 時間単位 を使用して値を指定します。デフォルトは20m
です。 cache.max_users
- (Static) 同時にキャッシュ内に存在できるユーザーエントリの最大数。デフォルトは100,000です。
cache.hash_algo
- (Static, Expert) メモリ内キャッシュされたユーザー資格情報に使用されるハッシュアルゴリズム。詳細は 表1、「キャッシュハッシュアルゴリズム」 を参照してください。デフォルトは
ssha256
です。 authentication.enabled
- (Static)
false
に設定すると、このレルムでの認証サポートが無効になり、ユーザーのルックアップのみをサポートします (詳細は run as および 認可レルム 機能を参照)。デフォルトはtrue
です。
LDAP レルム設定
すべてのレルムに対して有効な 設定 に加えて、次の設定を指定できます:
url
- (Static)
ldap[s]://<server>:<port>
形式の 1 つ以上の LDAP URL。必須。
複数の URL を提供するには、YAML 配列 (["ldap://server1:636", "ldap://server2:636"]
) またはカンマ区切りの文字列 ("ldap://server1:636, ldap://server2:636"
) を使用します。
どちらもサポートされていますが、ldap
とldaps
プロトコルを混在させることはできません。 load_balance.type
- (Static) 複数の LDAP URL が定義されている場合に使用する動作。サポートされている値については、負荷分散とフェイルオーバーのタイプを参照してください。デフォルトは
failover
です。 load_balance.cache_ttl
- (Static)
dns_failover
またはdns_round_robin
を負荷分散タイプとして使用する場合、この設定は DNS ルックアップをキャッシュする時間を制御します。デフォルトは1h
です。 bind_dn
- (Static) LDAP にバインドして検索を実行するために使用されるユーザーの DN。ユーザー検索モードでのみ適用されます。指定されていない場合は、匿名バインドが試みられます。デフォルトは空です。その潜在的なセキュリティ影響のため、
bind_dn
は ノード情報 API を介して公開されていません。 bind_password
- (Static) [6.3] 6.3 で非推奨。代わりに
secure_bind_password
を使用してください。LDAP ディレクトリにバインドするために使用されるユーザーのパスワード。デフォルトは空です。その潜在的なセキュリティ影響のため、bind_password
は ノード情報 API を介して公開されていません。 secure_bind_password
- (Secure, Reloadable) LDAP ディレクトリにバインドするために使用されるユーザーのパスワード。デフォルトは空です。
user_dn_templates
- (Static) ユーザー名を文字列
{0}
に置き換える DN テンプレート。この設定は複数値を持ち、複数のユーザーコンテキストを指定できます。ユーザーテンプレートモードで動作するために必須です。user_search.base_dn
が指定されている場合、この設定は無効です。さまざまなモードの詳細については、LDAP ユーザー認証 を参照してください。 authorization_realms
- (Static) 委任された認可のために参照されるべきレルムの名前。 この設定が使用される場合、LDAP レルムはロールマッピングを実行せず、代わりにリストされたレルムからユーザーをロードします。参照されるレルムは、このリストで定義された順序で参照されます。別のレルムへの認可の委任を参照してください。
user_search
で始まる設定が指定されている場合、user_dn_templates
設定は無視されます。 user_group_attribute
- (Static) ユーザーのグループメンバーシップを調べるために調べる属性を指定します。
group_search
設定が指定されている場合、この設定は無視されます。デフォルトはmemberOf
です。 user_full_name_attribute
- (Static) ユーザーのフルネームを調べるために調べる属性を指定します。デフォルトは
cn
です。 user_email_attribute
- (Static) ユーザーのメールアドレスを調べるために調べる属性を指定します。デフォルトは
mail
です。 user_search.base_dn
- (Static) ユーザーを検索するために調べるコンテナ DN。ユーザー検索モードで動作するために必須です。
user_dn_templates
が指定されている場合、この設定は無効です。さまざまなモードの詳細については、LDAP ユーザー認証 を参照してください。 user_search.scope
- (Static) ユーザー検索のスコープ。 有効な値 は
sub_tree
、one_level
またはbase
です。one_level
はbase_dn
内に直接含まれるオブジェクトのみを検索します。sub_tree
はbase_dn
の下に含まれるすべてのオブジェクトを検索します。base
はbase_dn
がユーザーオブジェクトであり、それが唯一のユーザーであることを指定します。デフォルトはsub_tree
です。 user_search.filter
- (Static) ユーザーによって提供されたユーザー名と一致するエントリを検索するために使用されるフィルターを指定します。デフォルトは
(uid={0})
です。{0}
は検索時に提供されたユーザー名に置き換えられます。 user_search.attribute
- (Static) [5.6] 5.6 で非推奨。代わりに
user_search.filter
を使用してください。リクエストとともに送信されたユーザー名と一致させる属性。デフォルトはuid
です。 user_search.pool.enabled
- (Static) ユーザー検索のための接続プーリングを有効または無効にします。
false
に設定されている場合、検索ごとに新しい接続が作成されます。デフォルトはtrue
で、bind_dn
が設定されているときです。 user_search.pool.size
- (Static) 接続プール内で許可される LDAP サーバーへの最大接続数。デフォルトは
20
です。 user_search.pool.initial_size
- (Static) 起動時に LDAP サーバーに作成する初期接続数。デフォルトは
0
です。LDAP サーバーがダウンしている場合、0
より大きい値は起動失敗を引き起こす可能性があります。 user_search.pool.health_check.enabled
- (Static) 接続プール内の LDAP 接続のヘルスチェックを有効または無効にします。接続は指定された間隔でバックグラウンドでチェックされます。デフォルトは
true
です。 user_search.pool.health_check.dn
- (Static) ヘルスチェックの一部として取得される識別名。
bind_dn
の値が存在する場合はその値がデフォルトになります。存在しない場合はuser_search.base_dn
にフォールバックします。 user_search.pool.health_check.interval
- (Static) プール内の接続のバックグラウンドチェックを実行する間隔。デフォルトは
60s
です。 group_search.base_dn
- (Static) ユーザーがメンバーシップを持つグループを検索するためのコンテナ DN。 この要素が存在しない場合、Elasticsearch はユーザーに設定された
user_group_attribute
で指定された属性を検索してグループメンバーシップを決定します。 group_search.scope
- (Static) グループ検索が
sub_tree
、one_level
またはbase
であるべきかどうかを指定します。one_level
はbase_dn
内に直接含まれるオブジェクトのみを検索します。sub_tree
はbase_dn
の下に含まれるすべてのオブジェクトを検索します。base
はbase_dn
がグループオブジェクトであり、それが唯一のグループであることを指定します。デフォルトはsub_tree
です。 group_search.filter
- (Static) グループを検索するために使用するフィルターを指定します。設定されていない場合、レルムは
group
、groupOfNames
、groupOfUniqueNames
、またはposixGroup
を属性member
、memberOf
、またはmemberUid
で検索します。フィルター内の{0}
の任意のインスタンスは、group_search.user_attribute
で定義されたユーザー属性に置き換えられます。 group_search.user_attribute
- (Static) フィルターにパラメータとして提供されるユーザー属性を指定します。設定されていない場合、ユーザー DN がフィルターに渡されます。デフォルトは空です。
unmapped_groups_as_roles
- (Static)
true
に設定されている場合、マッピングされていない LDAP グループの名前はロール名として使用され、ユーザーに割り当てられます。グループは、ロールマッピングファイルで参照されていない場合、マッピングされていないと見なされます。API ベースのロールマッピングは考慮されません。デフォルトはfalse
です。 files.role_mapping
- (Static) YAML ロールマッピング構成ファイル の 場所。デフォルトは
ES_PATH_CONF/role_mapping.yml
です。 follow_referrals
- (Static) Elasticsearch が LDAP サーバーによって返されたリファラルに従うべきかどうかを指定します。リファラルは、LDAP 操作を続行するために使用されるサーバーによって返される URL です(たとえば、検索)。デフォルトは
true
です。 metadata
- (Static) LDAP サーバーからロードされ、認証されたユーザーのメタデータフィールドに保存される追加の LDAP 属性のリスト。
timeout.tcp_connect
- (Static) LDAP 接続を確立するための TCP 接続タイムアウト期間。末尾の
s
は秒を示し、ms
はミリ秒を示します。デフォルトは5s
(5 秒) です。 timeout.tcp_read
- (Static) [7.7] 7.7 で非推奨。LDAP 接続を確立した後の TCP 読み取りタイムアウト期間。これは
timeout.response
と同等であり、同時に使用することはできません。末尾のs
は秒を示し、ms
はミリ秒を示します。 timeout.response
- (Static) LDAP サーバーからの応答を待つ時間間隔。末尾の
s
は秒を示し、ms
はミリ秒を示します。デフォルトはtimeout.ldap_search
の値です。 timeout.ldap_search
- (Static) LDAP 検索のタイムアウト期間。値はリクエストで指定され、受信した LDAP サーバーによって強制されます。末尾の
s
は秒を示し、ms
はミリ秒を示します。デフォルトは5s
(5 秒) です。 ssl.key
- (Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。
LDAP サーバーがクライアント認証を要求する場合、このファイルが使用されます。この設定とssl.keystore.path
を同時に使用することはできません。 ssl.key_passphrase
- (Static) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。 [7.17.0] 7.17.0 で非推奨。代わりに
ssl.secure_key_passphrase
を使用してください。
この設定とssl.secure_key_passphrase
を同時に使用することはできません。 ssl.secure_key_passphrase
- (Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
ssl.certificate
- (Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。
この証明書は、クライアントが接続する際に提示されます。 ssl.certificate_authorities
- (Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。
この設定とssl.truststore.path
を同時に使用することはできません。 ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。
この設定とssl.key
を同時に使用することはできません。 ssl.keystore.type
- (Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。 ssl.keystore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。 ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。 ssl.keystore.secure_key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。
この設定とssl.certificate_authorities
を同時に使用することはできません。 ssl.truststore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。 ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
ssl.truststore.type
- (Static) トラストストアファイルのフォーマット。
jks
またはPKCS12
のいずれかでなければなりません。ファイル名が “.p12”、”.pfx” または “pkcs12” で終わる場合、デフォルトはPKCS12
です。それ以外の場合、デフォルトはjks
です。 ssl.verification_mode
- (Static) 中間者攻撃や証明書の偽造から保護するために
ldaps
を使用する際の検証の種類を示します。
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
ssl.supported_protocols
- (Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。 ssl.cipher_suites
(Static) LDAP サーバーとの通信時にサポートされるべき暗号スイートを指定します。サポートされる暗号スイートは、使用する Java のバージョンによって異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。cache.ttl
- (Static) キャッシュされたユーザーエントリの有効期限を指定します。ユーザーとその資格情報のハッシュは、この期間キャッシュされます。標準の Elasticsearch 時間単位を使用します。デフォルトは
20m
です。 cache.max_users
- (Static) キャッシュが保持できるユーザーエントリの最大数を指定します。デフォルトは
100000
です。 cache.hash_algo
- (Static, Expert) メモリ内でキャッシュされたユーザー資格情報に使用されるハッシュアルゴリズムを指定します。表 1、「キャッシュハッシュアルゴリズム」を参照してください。デフォルトは
ssha256
です。 authentication.enabled
- (Static)
false
に設定すると、このレルムでの認証サポートが無効になり、ユーザーのルックアップのみをサポートします (詳細は run as および 認可レルム 機能を参照)。デフォルトはtrue
です。
Active Directory realm settings
すべてのレルムに有効な設定に加えて、次の設定を指定できます:
url
- (Static) 1つ以上のLDAP URLを
ldap[s]://<server>:<port>
形式で指定します。デフォルトはldap://<domain_name>:389
です。この設定は、SSL/TLSを使用して接続する場合やカスタムポートを使用する場合に必要です。
複数の URL を提供するには、YAML 配列 (["ldap://server1:636", "ldap://server2:636"]
) またはカンマ区切りの文字列 ("ldap://server1:636, ldap://server2:636"
) を使用します。
どちらもサポートされていますが、ldap
とldaps
プロトコルを混在させることはできません。
URLが提供されていない場合、Elasticsearchはldap://<domain_name>:389
のデフォルトを使用します。このデフォルトはdomain_name
設定値を使用し、ポート389への暗号化されていない接続を前提としています。 load_balance.type
- (Static) 複数の LDAP URL が定義されている場合に使用する動作。サポートされている値については、負荷分散とフェイルオーバーのタイプを参照してください。デフォルトは
failover
です。 load_balance.cache_ttl
- (Static)
dns_failover
またはdns_round_robin
を負荷分散タイプとして使用する場合、この設定は DNS ルックアップをキャッシュする時間を制御します。デフォルトは1h
です。 domain_name
- (Static) Active Directoryのドメイン名。
url
およびuser_search.base_dn
設定が指定されていない場合、クラスターはこの設定からそれらの値を導出できます。必須です。 bind_dn
- (Static) Active Directoryにバインドして検索を実行するために使用されるユーザーのDN。デフォルトは空です。その潜在的なセキュリティ影響のため、
bind_dn
はnodes info APIを介して公開されていません。 bind_password
- (Static) [6.3] 6.3で非推奨。代わりに
secure_bind_password
を使用してください。Active Directoryにバインドするために使用されるユーザーのパスワード。デフォルトは空です。その潜在的なセキュリティ影響のため、bind_password
はnodes info APIを介して公開されていません。 secure_bind_password
- (Secure, Reloadable) Active Directoryにバインドするために使用されるユーザーのパスワード。デフォルトは空です。
unmapped_groups_as_roles
- (Static)
true
に設定されている場合、マッピングされていないActive Directoryグループの名前はロール名として使用され、ユーザーに割り当てられます。グループは、ロールマッピングファイルで参照されていない場合、マッピングされていないと見なされます。APIベースのロールマッピングは考慮されません。デフォルトはfalse
です。 files.role_mapping
- (Static) YAMLロールマッピング構成ファイルの場所。デフォルトは
ES_PATH_CONF/role_mapping.yml
です。 user_search.base_dn
- (Static) ユーザーを検索するためのコンテキスト。デフォルトはActive Directoryドメインのルートです。
user_search.scope
- (Static) ユーザー検索が
sub_tree
、one_level
、またはbase
であるかどうかを指定します。one_level
はbase_dn
内に直接含まれるユーザーのみを検索します。sub_tree
はbase_dn
の下に含まれるすべてのオブジェクトを検索します。base
はbase_dn
がユーザーオブジェクトであり、それが唯一のユーザーであることを指定します。デフォルトはsub_tree
です。 user_search.filter
- (Static) ユーザー名を指定してユーザーを検索するために使用するフィルターを指定します。デフォルトのフィルターは
user
オブジェクトをsAMAccountName
またはuserPrincipalName
で検索します。指定された場合、これは有効なLDAPユーザー検索フィルターでなければなりません。例えば(&(objectClass=user)(sAMAccountName={0}))
。詳細については、Search Filter Syntax.aspx)を参照してください。 user_search.upn_filter
- (Static) ユーザー主名を指定してユーザーを検索するために使用するフィルターを指定します。デフォルトのフィルターは
user
オブジェクトを一致するuserPrincipalName
で検索します。指定された場合、これは有効なLDAPユーザー検索フィルターでなければなりません。例えば、(&(objectClass=user)(userPrincipalName={1}))
。{1}
はユーザーによって提供された完全なユーザー主名です。詳細については、Search Filter Syntax.aspx)を参照してください。 user_search.down_level_filter
- (Static) ダウンレベルログオン名(DOMAIN\user)を指定してユーザーを検索するために使用するフィルターを指定します。デフォルトのフィルターは、指定されたドメイン内で一致する
sAMAccountName
を持つuser
オブジェクトを検索します。指定された場合、これは有効なLDAPユーザー検索フィルターでなければなりません。例えば、(&(objectClass=user)(sAMAccountName={0}))
。詳細については、Search Filter Syntax.aspx)を参照してください。 user_search.pool.enabled
- (Static) ユーザー検索のための接続プーリングを有効または無効にします。無効にすると、検索ごとに新しい接続が作成されます。デフォルトは
true
で、bind_dn
が提供されている場合です。 user_search.pool.size
- (Static) 接続プール内で許可されるActive Directoryサーバーへの最大接続数。デフォルトは
20
です。 user_search.pool.initial_size
- (Static) 起動時にActive Directoryサーバーに作成する初期接続数。デフォルトは
0
です。LDAPサーバーがダウンしている場合、0より大きい値は起動失敗を引き起こす可能性があります。 user_search.pool.health_check.enabled
- (Static) 接続プール内のActive Directory接続に対するヘルスチェックを有効または無効にします。接続は指定された間隔でバックグラウンドでチェックされます。デフォルトは
true
です。 user_search.pool.health_check.dn
- (Static) ヘルスチェックの一部として取得される識別名。
bind_dn
設定が存在する場合、その値がデフォルトになります。それ以外の場合、user_search.base_dn
設定の値がデフォルトになります。 user_search.pool.health_check.interval
- (Static) プール内の接続のバックグラウンドチェックを実行する間隔。デフォルトは
60s
です。 group_search.base_dn
- (Static) ユーザーがメンバーシップを持つグループを検索するためのコンテキスト。デフォルトはActive Directoryドメインのルートです。
group_search.scope
- (Static) グループ検索が
sub_tree
、one_level
、またはbase
であるかどうかを指定します。one_level
はbase_dn
内に直接含まれるグループを検索します。sub_tree
はbase_dn
の下に含まれるすべてのオブジェクトを検索します。base
はbase_dn
がグループオブジェクトであり、それが唯一のグループであることを指定します。デフォルトはsub_tree
です。 metadata
- (Static) LDAP サーバーからロードされ、認証されたユーザーのメタデータフィールドに保存される追加の LDAP 属性のリスト。
timeout.tcp_connect
- (Static) LDAP 接続を確立するための TCP 接続タイムアウト期間。末尾の
s
は秒を示し、ms
はミリ秒を示します。デフォルトは5s
(5 秒) です。 timeout.tcp_read
- (Static) [7.7] 7.7で非推奨。LDAP接続を確立した後のTCP読み取りタイムアウト期間。これは
timeout.response
の代わりに非推奨であり、同時に使用することはできません。末尾のs
は秒を示し、ms
はミリ秒を示します。デフォルトはtimeout.ldap_search
の値です。 timeout.response
- (Static) ADサーバーからの応答を待つための時間間隔。末尾の
s
は秒を示し、ms
はミリ秒を示します。デフォルトはtimeout.ldap_search
の値です。 timeout.ldap_search
- (Static) LDAP 検索のタイムアウト期間。値はリクエストで指定され、受信した LDAP サーバーによって強制されます。末尾の
s
は秒を示し、ms
はミリ秒を示します。デフォルトは5s
(5 秒) です。 ssl.certificate
- (Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。
この証明書は、クライアントが接続する際に提示されます。 ssl.certificate_authorities
- (Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。
この設定とssl.truststore.path
を同時に使用することはできません。 ssl.key
- (Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。
Active Directoryサーバーがクライアント認証を要求する場合、このファイルを使用します。この設定とssl.keystore.path
を同時に使用することはできません。 ssl.key_passphrase
- (Static) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。 [7.17.0] 7.17.0 で非推奨。代わりに
ssl.secure_key_passphrase
を使用してください。
この設定とssl.secure_key_passphrase
を同時に使用することはできません。 ssl.secure_key_passphrase
- (Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。 ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
ssl.keystore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。 ssl.secure_keystore.password
(Secure) キーストアのパスワード。
ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。
この設定とssl.key
を同時に使用することはできません。 ssl.keystore.type
- (Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。 ssl.truststore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。 ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。
この設定とssl.certificate_authorities
を同時に使用することはできません。 ssl.truststore.type
- (Static) トラストストアファイルのフォーマット。
jks
またはPKCS12
のいずれかでなければなりません。ファイル名が “.p12”、”.pfx” または “pkcs12” で終わる場合、デフォルトはPKCS12
です。それ以外の場合、デフォルトはjks
です。 ssl.verification_mode
- (Static) 中間者攻撃や証明書の偽造から保護するために
ldaps
を使用する際の検証の種類を示します。
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
ssl.supported_protocols
- (Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。 ssl.cipher_suites
(Static) Active Directoryサーバーとの通信時にサポートされるべき暗号スイートを指定します。サポートされる暗号スイートは、使用するJavaのバージョンによって異なります。例えば、バージョン12の場合、デフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。cache.ttl
- (Static) キャッシュされたユーザーエントリの生存期間を指定します。ユーザーとその資格情報のハッシュは、この設定された期間キャッシュされます。標準のElasticsearch 時間単位を使用します。デフォルトは
20m
です。 cache.max_users
- (Static) キャッシュが保持できるユーザーエントリの最大数を指定します。デフォルトは
100000
です。 cache.hash_algo
- (Static, Expert) メモリ内でキャッシュされたユーザー資格情報に使用されるハッシュアルゴリズムを指定します。表 1、「キャッシュハッシュアルゴリズム」を参照してください。デフォルトは
ssha256
です。 authentication.enabled
- (Static)
false
に設定すると、このレルムでの認証サポートが無効になり、ユーザーのルックアップのみをサポートします (詳細は run as および 認可レルム 機能を参照)。デフォルトはtrue
です。 follow_referrals
- (Static)
true
に設定されている場合、ElasticsearchはLDAPサーバーから返されたリファラルに従います。リファラルは、LDAP操作を続行するために使用されるサーバーから返されたURLです(例えばsearch
)。デフォルトはtrue
です。
PKI realm settings
すべてのレルムに有効な設定に加えて、次の設定を指定できます:
username_pattern
- (Static) 証明書DNからユーザー名を抽出するために使用される正規表現パターン。ユーザー名は監査およびログに使用されます。ユーザー名はロールマッピングAPIおよび認可委任でも使用できます。最初のマッチグループがユーザー名として使用されます。デフォルトは
CN=(.*?)(?:,|$)
です。 certificate_authorities
- (Static) ユーザーの証明書を信頼できるものとして認証するために使用されるPEM証明書ファイルへのパスのリスト。デフォルトはSSL用に構成された信頼された証明書です。この設定は
truststore.path
と同時に使用することはできません。 truststore.algorithm
- (Static) トラストストアのアルゴリズム。デフォルトは
SunX509
です。 truststore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。
- `````truststore.secure_password
- (Secure) トラストストアのパスワード。
truststore.path
- (Static) 使用するトラストストアのパス。デフォルトはSSL用に構成された信頼された証明書です。この設定は
certificate_authorities
と同時に使用することはできません。 files.role_mapping
- (Static) YAMLロールマッピング構成ファイルの場所を指定します。デフォルトは
ES_PATH_CONF/role_mapping.yml
です。 authorization_realms
- (Static) 委任された認可のために参照されるべきレルムの名前。これが設定されている場合、PKIレルムはロールマッピングを実行せず、代わりにリストされたレルムからユーザーをロードします。他のレルムへの認可の委任を参照してください。
cache.ttl
- (Static) キャッシュされたユーザーエントリの生存期間を指定します。ユーザーとその資格情報のハッシュは、この期間キャッシュされます。標準のElasticsearch 時間単位を使用します。デフォルトは
20m
です。 cache.max_users
- (Static) キャッシュが保持できるユーザーエントリの最大数を指定します。デフォルトは
100000
です。 delegation.enabled
- (Static) 一般的に、クライアントがPKIレルムによって認証されるためには、Elasticsearchに直接接続する必要があります。つまり、TLS接続を終了するプロキシを通過してはなりません。Kibanaのような信頼されたかつスマートなプロキシがElasticsearchの前にあり、TLS接続を終了させることを許可し、なおかつクライアントがこのレルムによってElasticsearchで認証されることを許可するには、これを
true
に切り替える必要があります。デフォルトはfalse
です。委任が有効な場合、truststore.path
またはcertificate_authorities
設定のいずれかを定義する必要があります。詳細については、PKIレルムの認証委任の構成を参照してください。
SAML レルム設定
すべてのレルムに対して有効な 設定 に加えて、次の設定を指定できます。
idp.entity_id
(Static) SAML アイデンティティプロバイダーのエンティティ ID。エンティティ ID は、最大 1024 文字の長さの URI です。これは、URL (https://idp.example.com/) または URN (
urn:example.com:idp
) であり、アイデンティティプロバイダーの設定または SAML メタデータに見つけることができます。(Static) アイデンティティプロバイダーの機能と設定を説明する SAML 2.0 メタデータファイルへのパス(推奨)または URL。パスが提供されると、Elasticsearch 設定ディレクトリに対して相対的に解決されます。URL が提供されると、
file
URL またはhttps
URL である必要があります。
Elasticsearch はこのメタデータリソースを自動的にポーリングし、変更が検出されると IdP 設定を再読み込みします。ファイルベースのリソースは、グローバル Elasticsearchresource.reload.interval.high
設定によって決定される頻度でポーリングされ、デフォルトは 5 秒です。HTTPS リソースは、レルムのidp.metadata.http.refresh
およびidp.metadata.http.minimum_refresh
設定によって決定される頻度でポーリングされます。
メタデータリソースがファイルから読み込まれる場合、ファイルはノードの起動時に存在する必要があります。存在しない場合、ノードは起動に失敗します。リソースが HTTPS 経由で読み込まれる場合、(デフォルトでは)ノードはリソースの読み込みに失敗しても耐障害性があります - ノードは起動し、更新のために URL をポーリングし続けます。影響を受ける SAML レルムは、問題が解決されるまでユーザーの認証に失敗します。メタデータが利用できない場合にノードを強制的に失敗させるには、idp.metadata.http.fail_on_error
をtrue
に設定します。idp.metadata.http.fail_on_error
(Static)
true
に設定されている場合、レルムは起動時に失敗します(ノードの起動を防ぎます)。HTTPS 経由でメタデータを読み込もうとし、そのメタデータが利用できない場合です。false
に設定されている場合(デフォルト)、ノードは起動しますが、影響を受ける SAML レルムはメタデータが正常に読み込まれるまでユーザー認証をサポートしません。この設定は、メタデータがファイルから読み込まれる場合は無視されます。(Static)
https
メタデータの変更をチェックする頻度を制御します。デフォルトは1h
(1 時間)です。
特定の状況下では、Elasticsearch はメタデータをより頻繁にチェックする必要があると判断する場合があります。これは、以前のメタデータの読み込みがエラーに遭遇した場合や、メタデータが設定された更新間隔よりも短い期間で期限切れになることを示している場合に発生する可能性があります。この場合、Elasticsearch はより頻繁にポーリングしますが、idp.metadata.http.minimum_refresh
よりも頻繁にはなりません。まだメタデータを正常に読み込んでいないレルムに対して認証を試みると、そのレルムは設定されたポーリング頻度の外でメタデータを読み込もうとする場合があります。idp.metadata.http.minimum_refresh
(Static)
https
メタデータの変更をチェックする最小頻度を制御します。通常の操作では、Elasticsearch はidp.metadata.http.refresh
の値をポーリング間隔として使用します。ただし、特定の状況下では、Elasticsearch はより頻繁にポーリングする必要があると判断する場合があります。この場合、minimum_refresh
はメタデータがチェックされる最小頻度を設定します。デフォルトは5m
(5 分)で、idp.metadata.http.refresh
より大きい値に設定することはできません。(Static) アイデンティティプロバイダーのシングルログアウトサービスを利用するかどうかを示します(IdP メタデータファイルに存在する場合)。デフォルトは
true
です。(Static) この SAML サービスプロバイダーに使用するエンティティ ID。URI として入力する必要があります。Kibana インスタンスのベース URL を使用することをお勧めします。たとえば、
https://kibana.example.com/
。(Static) Kibana 内のアサーションコンシューマサービスの URL。通常、これは Kibana サーバーの “api/security/saml/callback” エンドポイントです。たとえば、
https://kibana.example.com/api/security/saml/callback
。(Static) Kibana 内のシングルログアウトサービスの URL。通常、これは Kibana サーバーの “logout” エンドポイントです。たとえば、
https://kibana.example.com/logout
。(Static) ユーザーのプリンシパル(ユーザー名)を含む SAML 属性の名前。
(Static) ユーザーのグループを含む SAML 属性の名前。
(Static) ユーザーのフルネームを含む SAML 属性の名前。
(Static) ユーザーのメールアドレスを含む SAML 属性の名前。
(Static) ユーザーの X.500 Distinguished Name を含む SAML 属性の名前。
(Static) ユーザーのプリンシパルプロパティに適用される前に、
attributes.principal
で指定された SAML 属性に対して一致する Java 正規表現。属性値はパターンに一致し、最初のキャプチャグループの値がプリンシパルとして使用されます。たとえば、^([^@]+)@example\\.com$
は “example.com” ドメインのメールアドレスに一致し、ローカル部分をプリンシパルとして使用します。(Static)
attribute_patterns.principal
に従いますが、グループプロパティ用です。(Static)
attribute_patterns.principal
に従いますが、名前プロパティ用です。(Static)
attribute_patterns.principal
に従いますが、メールプロパティ用です。(Static)
attribute_patterns.principal
に従いますが、dn プロパティ用です。(Static) ユーザーのグループプロパティに適用される前に、
attributes.groups
で指定された単一値の SAML 属性を分割するために使用される区切り文字列。たとえば、SAML 属性値engineering,elasticsearch-admins,employees
を区切り文字値,
で分割すると、engineering
、elasticsearch-admins
、employees
がユーザーのグループのリストになります。区切り文字は、入力文字列のエスケープに関係なく常に分割されます。この設定は、複数値の SAML 属性をサポートしていません。attribute_patterns
設定と一緒に使用することはできません。この設定はグループ属性にのみ構成できます。(Static) IdP に現在のユーザーを認証するように要求する際に要求される NameID フォーマット。デフォルトは
nameid_format
属性を含めないことです。(Static) 認証リクエスト内の
AllowCreate
属性のNameIdPolicy
要素の値。デフォルト値は false です。(Static) 認証リクエスト内の
SPNameQualifier
属性のNameIdPolicy
要素の値。デフォルトはSPNameQualifier
属性を含めないことです。(Static) IdP に現在のユーザーを認証するように要求する際に
ForceAuthn
属性を設定するかどうかを指定します。true
に設定されている場合、IdP はユーザーの身元を確認する必要があります。デフォルトはfalse
です。- (Static) Elasticsearch ユーザーのメタデータを SAML 属性によって提供される値で埋めるかどうかを指定します。デフォルトは
true
です。 authorization_realms
(Static) 委任された認可のために相談すべきレルムの名前。 この設定が使用される場合、SAML レルムはロールマッピングを実行せず、代わりにリストされたレルムからユーザーを読み込みます。 別のレルムへの委任認可 を参照してください。
(Static) IdP の時計と Elasticsearch ノードの時計の間で許容できる最大のずれ。デフォルトは
3m
(3 分)です。- (Static) 現在のユーザーを認証するように IdP に要求する際に要求される認証コンテキストクラス参照値のカンマ区切りリスト。対応する認証応答の認証コンテキストには、要求された値の少なくとも 1 つが含まれている必要があります。
詳細については、特定の認証方法の要求を参照してください。
SAML レルム署名設定
署名キーが構成されている場合(つまり、signing.key
または signing.keystore.path
が設定されている場合)、Elasticsearch は送信 SAML メッセージに署名します。署名は次の設定を使用して構成できます:
signing.saml_messages
(Static) 署名する必要がある SAML メッセージタイプのリスト、またはすべてのメッセージに署名するための
*
。リスト内の各要素は、SAML XML 要素のローカル名である必要があります。サポートされている要素タイプはAuthnRequest
、LogoutRequest
およびLogoutResponse
です。signing.key
またはsigning.keystore.path
も指定されている場合にのみ有効です。デフォルトは*
です。- (Static) SAML メッセージ署名に使用する PEM エンコードされた秘密鍵へのパスを指定します。
signing.key
とsigning.keystore.path
は同時に使用できません。 signing.secure_key_passphrase
(Secure) 暗号化されている場合、PEM エンコードされた秘密鍵(
signing.key
)を復号化するためのパスフレーズを指定します。(Static)
signing.key
に対応する PEM エンコードされた証明書(または証明書チェーン)へのパスを指定します。この証明書は、署名検証を許可するために、サービスプロバイダーのメタデータに含まれているか、IdP 内で手動で構成されている必要があります。この設定は、signing.key
が設定されている場合にのみ使用できます。(Static) 秘密鍵と証明書を含むキーストアへのパス。Java キーストア (jks) または PKCS#12 ファイルのいずれかである必要があります。この設定と
signing.key
を同時に使用することはできません。(Static)
signing.keystore.path
のキーストアのタイプ。jks
またはPKCS12
のいずれかである必要があります。キーストアパスが “ .p12 “、” .pfx “、または “ pkcs12 “ で終わる場合、この設定はPKCS12
にデフォルト設定されます。そうでない場合、jks
にデフォルト設定されます。- (Static) SAML メッセージ署名に使用するキーストア内のキーのエイリアスを指定します。キーストアに複数の秘密鍵が含まれている場合、この設定を指定する必要があります。
signing.keystore.secure_password
- (Secure)
signing.keystore.path
のキーストアのパスワード。 signing.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード(
signing.keystore.path
)。デフォルトはキーストアのパスワードです。
SAML レルム暗号化設定
暗号化キーが構成されている場合(つまり、encryption.key
または encryption.keystore.path
が設定されている場合)、Elasticsearch はメタデータを生成する際に暗号化証明書を公開し、受信 SAML コンテンツの復号化を試みます。暗号化は次の設定を使用して構成できます:
encryption.key
- (Static) SAML メッセージ復号化に使用する PEM エンコードされた秘密鍵へのパスを指定します。
encryption.key
とencryption.keystore.path
は同時に使用できません。 encryption.secure_key_passphrase
(Secure) 暗号化されている場合、PEM エンコードされた秘密鍵(
encryption.key
)を復号化するためのパスフレーズを指定します。(Static)
encryption.key
に関連付けられた PEM エンコードされた証明書(または証明書チェーン)へのパスを指定します。この証明書は、メッセージ暗号化を有効にするために、サービスプロバイダーのメタデータに含まれているか、IdP 内で手動で構成されている必要があります。この設定は、encryption.key
が設定されている場合にのみ使用できます。(Static) 秘密鍵と証明書を含むキーストアへのパス。Java キーストア (jks) または PKCS#12 ファイルのいずれかである必要があります。この設定と
encryption.key
を同時に使用することはできません。(Static) キーストアのタイプ(
encryption.keystore.path
)。jks
またはPKCS12
のいずれかである必要があります。キーストアパスが “ .p12 “、” .pfx “、または “ pkcs12 “ で終わる場合、この設定はPKCS12
にデフォルト設定されます。そうでない場合、jks
にデフォルト設定されます。- (Static) SAML メッセージ復号化に使用するキーストア内のキーのエイリアス(
encryption.keystore.path
)を指定します。指定しない場合、キーストアからのすべての互換性のあるキー ペアが復号化の候補キーと見なされます。 encryption.keystore.secure_password
- (Secure)
encryption.keystore.path
のキーストアのパスワード。 encryption.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード(
encryption.keystore.path
)。単一のパスワードのみがサポートされています。複数の復号化キーを使用している場合、それらは個別のパスワードを持つことはできません。
SAML レルム SSL 設定
IdP メタデータを SSL/TLS 経由で読み込む場合(つまり、idp.metadata.path
が https
プロトコルを使用する URL の場合)、次の設定を使用して SSL を構成できます。
これらの設定は、https 経由でメタデータを読み込む以外の目的には使用されません。
ssl.key
(Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。(Static) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。 [7.17.0] 7.17.0 で非推奨。代わりに
ssl.secure_key_passphrase
を使用してください。
この設定とssl.secure_key_passphrase
を同時に使用することはできません。ssl.secure_key_passphrase
(Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
この設定とssl.key_passphrase
を同時に使用することはできません。(Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。(Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。(Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。(Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。(Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
この設定とssl.keystore.password
を同時に使用することはできません。 ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。
この設定とssl.keystore.secure_key_password
を同時に使用することはできません。 ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
この設定と ssl.keystore.key_password
を同時に使用することはできません。
ssl.truststore.path
(Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。(Static) トラストストアファイルのフォーマット。
jks
またはPKCS12
のいずれかでなければなりません。ファイル名が “.p12”、”.pfx” または “pkcs12” で終わる場合、デフォルトはPKCS12
です。それ以外の場合、デフォルトはjks
です。(Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。ssl.truststore.secure_password
(Secure) トラストストアのパスワード。
この設定はssl.truststore.password
と一緒に使用できません。(Static) 証明書の検証を制御します。
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
(Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。- (Static) 使用する Java のバージョンによってサポートされる暗号スイートが異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。
Kerberos レルム設定
すべてのレルムに有効な設定に加えて、次の設定を指定できます:
keytab.path
(Static) この Elasticsearch ノードによって使用されるサービスプリンシパルを含む Kerberos キータブファイルへのパスを指定します。これは Elasticsearch 設定ディレクトリ内の場所である必要があり、ファイルには読み取り権限が必要です。必須です。
- (Static) プリンシパル名のレルム部分を削除するには
true
に設定します。Kerberos のプリンシパル名はuser/instance@REALM
の形式です。このオプションがtrue
の場合、レルム部分(@REALM
)はユーザー名に含まれません。デフォルトはfalse
です。 krb.debug
(Static) Kerberos 認証をサポートする Java ログインモジュールのデバッグログを有効にするには
true
に設定します。デフォルトはfalse
です。(Static) キャッシュされたユーザーエントリの有効期限。ユーザーはこの期間キャッシュされます。標準の Elasticsearch 時間単位 を使用して時間を指定します。デフォルトは
20m
です。(Static) 同時にキャッシュ内に存在できるユーザーエントリの最大数。デフォルトは100,000です。
- (Static) 委任された認可のために相談すべきレルムの名前。 この設定が使用される場合、Kerberos レルムはロールマッピングを実行せず、代わりにリストされたレルムからユーザーを読み込みます。 別のレルムへの委任認可 を参照してください。
OpenID Connect realm settings
すべてのレルムに対して有効な 設定 に加えて、次の設定を指定できます。
op.issuer
(Static) あなたの OpenID Connect プロバイダーの検証可能な識別子。発行者識別子は通常、https スキームを使用するケースセンシティブな URL で、スキーム、ホスト、オプションでポート番号とパスコンポーネントを含み、クエリやフラグメントコンポーネントは含まれません。この設定の値は、あなたの OpenID Connect プロバイダーによって提供される必要があります。
(Static) OpenID Connect プロバイダーの認可エンドポイントの URL。この設定の値は、あなたの OpenID Connect プロバイダーによって提供される必要があります。
(Static) OpenID Connect プロバイダーのトークンエンドポイントの URL。この設定の値は、あなたの OpenID Connect プロバイダーによって提供される必要があります。
(Static) OpenID Connect プロバイダーのユーザー情報エンドポイントの URL。この設定の値は、あなたの OpenID Connect プロバイダーによって提供される必要があります。
(Static) OpenID Connect プロバイダーのセッション終了エンドポイントの URL。この設定の値は、あなたの OpenID Connect プロバイダーによって提供される必要があります。
- (Static)
トークンと OpenID Connect プロバイダーによって署名されたクレーム応答を検証するために使用される公開鍵材料を含む JSON Web Key Set (JWKS) のファイル名または URL。値は https
または http
で始まらない場合、ファイル名と見なされます。ファイル名は Elasticsearch 設定ディレクトリに対して相対的に解決されます。ファイルの変更は、グローバル Elasticsearch resource.reload.interval.high
設定によって決定される頻度でポーリングされ、デフォルトは 5 秒です。
- URL が提供される場合、それは
https://
またはhttp://
で始まる必要があります。Elasticsearch は取得した JWK を自動的にキャッシュし、署名検証の失敗時に JWK を更新しようとします。これは、OpenID Connect プロバイダーが署名キーをローテーションした可能性があることを示すかもしれません。
authorization_realms
(Static) 委任された認可のために参照されるべきレルムの名前。この設定が使用される場合、OpenID Connect レルムはロールマッピングを実行せず、代わりにリストされたレルムからユーザーをロードします。別のレルムへの認可の委任を参照してください。
- (Static) OpenID Connect プロバイダーでの登録中に Elasticsearch に割り当てられた OAuth 2.0 クライアント識別子。
rp.client_secret
(Secure) OpenID Connect プロバイダーでの登録中に Elasticsearch に割り当てられた OAuth 2.0 クライアントシークレット。
(Static) Elasticsearch が OpenID Connect プロバイダーに認証するために使用するクライアント認証方法。
client_secret_basic
、client_secret_post
、またはclient_secret_jwt
である可能性があります。デフォルトはclient_secret_basic
です。(Static) Elasticsearch が OpenID Connect プロバイダーにクライアントとして認証するために使用する JWT に署名するための署名アルゴリズム。
client_secret_jwt
がrp.client_auth_method
に選択されている場合、HS256
、HS384
、またはHS512
のいずれかである可能性があります。デフォルトはHS384
です。(Static) Kibana 内のリダイレクト URI。認可コードフローを使用する場合、これは Kibana サーバーの
api/security/oidc/callback
エンドポイントです。暗黙的フローを使用する場合、これはapi/security/oidc/implicit
エンドポイントです。例えば、https://kibana.example.com/api/security/oidc/callback
。(Static) 使用される認可処理フローを決定する OAuth 2.0 レスポンスタイプの値。認可コードグラントフローの場合は
code
、または暗黙的フローの場合はid_token
、id_token token
のいずれかです。(Static) Elasticsearch が OpenID Connect プロバイダーから受け取る id トークンの署名を検証するために使用する署名アルゴリズム。許可される値は
HS256
、HS384
、HS512
、ES256
、ES384
、ES512
、RS256
、RS384
、RS512
、PS256
、PS384
、PS512
です。デフォルトはRS256
です。(Static) 認証リクエストの一部として OpenID Connect プロバイダーによって要求されるスコープ値。オプションで、デフォルトは
openid
です。(Static) 成功したシングルログアウト後に OpenID Connect プロバイダーがブラウザをリダイレクトすべきリダイレクト URI(通常は Kibana 内)。
claims.principal
(Static) ユーザーのプリンシパル(ユーザー名)を含む OpenID Connect クレームの名前。
(Static) ユーザーのグループを含む OpenID Connect クレームの名前。
(Static) ユーザーのフルネームを含む OpenID Connect クレームの名前。
(Static) ユーザーのメールアドレスを含む OpenID Connect クレームの名前。
(Static) ユーザーの X.509 Distinguished Name を含む OpenID Connect クレームの名前。
(Static)
claims.principal
で指定された OpenID Connect クレームに対して適用される前に一致する Java 正規表現。属性値はパターンと一致し、最初のキャプチャグループの値がプリンシパルとして使用されます。例えば、^([^@]+)@example\\.com$
は「example.com」ドメインのメールアドレスと一致し、ローカル部分をプリンシパルとして使用します。(Static)
claim_patterns.principal
に従って、グループプロパティに対して。(Static)
claim_patterns.principal
に従って、名前プロパティに対して。(Static)
claim_patterns.principal
に従って、メールプロパティに対して。(Static)
claim_patterns.principal
に従って、dn プロパティに対して。(Static) id トークンの作成および有効期限に関して検証時に考慮される最大許可クロックスキュー。デフォルトは
60s
です。- (Static) OpenID Connect クレームによって提供される値で Elasticsearch ユーザーのメタデータを埋めるかどうかを指定します。デフォルトは
true
です。 http.proxy.host
- (Static) OpenID Connect プロバイダーエンドポイントへのすべてのバックチャネル通信のために内部 http クライアントによって使用されるプロキシサーバーのアドレスを指定します。これには、トークンエンドポイント、ユーザー情報エンドポイント、および
op.jwkset_path
が URL として設定されている場合に OP から JSON Web Key Set を取得するためのリクエストが含まれます。 http.proxy.scheme
- (Static) OpenID Connect プロバイダーエンドポイントへのすべてのバックチャネル通信のために http クライアントによって使用されるプロキシサーバーに接続するために使用するプロトコルを指定します。デフォルトは
http
です。許可される値はhttp
またはhttps
です。 http.proxy.port
(Static) OpenID Connect プロバイダーエンドポイントへのすべてのバックチャネル通信のために http クライアントによって使用されるプロキシサーバーのポートを指定します。デフォルトは
80
です。(Static) OpenID Connect プロバイダーエンドポイントへのバックチャネル通信に使用される http クライアントの動作を制御します。接続が確立されるまでのタイムアウトを指定します。値がゼロの場合、タイムアウトは使用されません。デフォルトは
5s
です。(Static) OpenID Connect プロバイダーエンドポイントへのバックチャネル通信に使用される http クライアントの動作を制御します。接続マネージャーから接続を要求する際のタイムアウトを指定します。デフォルトは
5s
です。(Static) OpenID Connect プロバイダーエンドポイントへのバックチャネル通信に使用される http クライアントの動作を制御します。データを待つためのソケットタイムアウト (SO_TIMEOUT) をミリ秒単位で指定します。これは、データ間の最大非アクティブ期間を意味します。デフォルトは
5s
です。(Static) OpenID Connect プロバイダーエンドポイントへのバックチャネル通信に使用される http クライアントの動作を制御します。すべてのエンドポイントで許可される最大接続数を指定します。デフォルトは
200
です。(Static) OpenID Connect プロバイダーエンドポイントへのバックチャネル通信に使用される http クライアントの動作を制御します。各エンドポイントで許可される最大接続数を指定します。デフォルトは
200
です。(Static) OpenID Connect プロバイダーエンドポイントへのバックチャネル通信に使用される HTTP 接続で TCP keepalives を有効にするかどうか。デフォルトは
true
です。- (Static) OpenID Connect プロバイダーエンドポイントへのバックチャネル通信に使用される http クライアントの動作を制御します。接続プール内の接続の生存時間を指定します(デフォルトは 3 分)。接続が指定されたタイムアウトを超えてアイドル状態の場合、接続は閉じられます。
サーバーは Keep-Alive
HTTP レスポンスヘッダーも設定できます。実効的な生存時間値は、この設定と Keep-Alive
レスポンスヘッダーの間の小さい値です。この設定を -1
に設定して、サーバーに値を決定させます。サーバーによってヘッダーが設定されず、設定の値が -1
の場合、生存時間は無限で、接続は決して期限切れになりません。
OpenID Connect realm SSL settings
次の設定は、OpenID Connect プロバイダーエンドポイントへのすべてのアウトゴーイング http 接続の SSL を構成するために使用できます。
これらの設定は、Elasticsearch と OpenID Connect プロバイダー間のバックチャネル通信のために のみ 使用されます。
ssl.key
(Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。(Static) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。 [7.17.0] 7.17.0 で非推奨。代わりに
ssl.secure_key_passphrase
を使用してください。
この設定とssl.secure_key_passphrase
を同時に使用することはできません。ssl.secure_key_passphrase
(Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
この設定とssl.key_passphrase
を同時に使用することはできません。(Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。(Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。(Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。(Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。(Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
この設定とssl.keystore.password
を同時に使用することはできません。 ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。
この設定とssl.keystore.secure_key_password
を同時に使用することはできません。 ssl.keystore.secure_key_password
(Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
この設定とssl.keystore.key_password
を同時に使用することはできません。(Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。(Static) トラストストアファイルのフォーマット。
jks
またはPKCS12
のいずれかでなければなりません。ファイル名が “.p12”、”.pfx” または “pkcs12” で終わる場合、デフォルトはPKCS12
です。それ以外の場合、デフォルトはjks
です。(Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。ssl.truststore.secure_password
(Secure) トラストストアのパスワード。
この設定とssl.truststore.password
を同時に使用することはできません。(Static) 証明書の検証を制御します。
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
(Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。- (Static) 使用する Java のバージョンによってサポートされる暗号スイートが異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。
JWT realm settings
すべてのレルムに対して有効な 設定 に加えて、次の設定を指定できます。
token_type
(Static) JWT レルムが受信 JWT を検証するために使用するトークンタイプ、
id_token
またはaccess_token
。デフォルトはid_token
です。(Static) Elasticsearch が検証すべき許可された JWT オーディエンスのリスト。Elasticsearch は、JWT 内の
aud
クレームによって示されるこれらのオーディエンスのいずれかに対して意図された JWT のみを消費します。オーディエンスは正確な文字列一致で比較され、ワイルドカードや正規表現はサポートされていません。aud
クレームの例はhttps://example.com/client1
とother_service,elasticsearch
です。token_type
がaccess_token
の場合、オーディエンスはaud
が存在しない場合、JWT 内の別のクレームによってオプションで示されることがあります。fallback_claims.aud
も参照してください。(Static) JWT の作成、無効前、および有効期限に関して検証時に考慮される最大許可クロックスキュー。
(Static) あなたの JWT 発行者の検証可能な識別子。発行者識別子は通常、https スキームを使用するケースセンシティブな URL で、スキーム、ホスト、オプションでポート番号とパスコンポーネントを含み、クエリやフラグメントコンポーネントは含まれません。ただし、任意の文字列であることもできます。この設定の値は、あなたの JWT 発行者によって提供される必要があります。発行者は正確な文字列一致で比較され、ワイルドカードや正規表現はサポートされていません。
iss
クレームの例はhttps://example.com:8443/jwt
とissuer123
です。(Static) Elasticsearch が検証すべき許可された JWT サブジェクトのリスト。Elasticsearch は、JWT 内の
sub
クレームによって示されるこれらのサブジェクトのいずれかに対して発行された JWT のみを消費します。サブジェクトは正確な文字列一致で比較され、ワイルドカードや正規表現はサポートされていません。sub
クレームの例はhttps://example.com/user1
とuser_1,user2
です。token_type
がaccess_token
の場合、この設定は必須であり、sub
が存在しない場合、JWT 内の別のクレームによってオプションで示されることがあります。fallback_claims.sub
も参照してください。fallback_claims.sub
(Static)
sub
クレームが存在しない場合にサブジェクト情報を探すための代替クレーム。これは、token_type
がaccess_token
の場合にのみ構成可能です。フォールバックはsub
クレームが使用されるすべての場所に適用されます。fallback_claims.aud
(Static)
aud
クレームが存在しない場合にオーディエンス情報を探すための代替クレーム。これは、token_type
がaccess_token
の場合にのみ構成可能です。フォールバックはaud
クレームが使用されるすべての場所に適用されます。- (Static) Elasticsearch が検証すべき追加のクレームと関連する値。これは、キー/値ペアを取るグループ設定で、キーは文字列で、値は文字列または文字列の配列でなければなりません。値は正確な文字列一致で比較され、ワイルドカードや正規表現はサポートされていません。
例えば:
Yaml
xpack.security.authc.realms.jwt.jwt1:
required_claims:
token_use: "id"
versions: ["1.0", "2.0"]
allowed_signature_algorithms
- (Static) Elasticsearch が JWT 発行者から受け取る JWT の署名を検証するために使用する署名アルゴリズムのリスト。デフォルトは
RS256
。例としてHS512,RS512,ES512
とES384
がある。許可される値はHS256
、HS384
、HS512
、ES256
、ES384
、ES512
、RS256
、RS384
、RS512
、PS256
、PS384
、PS512
。 authorization_realms
(Static) 委任された認可のために参照されるべきレルムの名前。この設定が使用される場合、JWT レルムはロールマッピングを実行せず、代わりにリストされたレルムからユーザーをロードします。別のレルムへの認可の委任を参照してください。
(Static) ユーザーの識別名 (DN) を含む JWT クレームの名前。これはユーザーまたはグループを一意に識別します。
(Static)
claim_patterns.principal
と同じ Java 正規表現を受け入れますが、dn
プロパティに対してです。(Static) ユーザーのグループを含む JWT クレームの名前。例えば
groups
とroles
。(Static)
claim_patterns.principal
と同じ Java 正規表現を受け入れますが、group
プロパティに対してです。(Static) ユーザーのメールアドレスを含む JWT クレームの名前。
(Static)
claim_patterns.principal
と同じ Java 正規表現を受け入れますが、mail
プロパティに対してです。(Static) ユーザーのユーザー名を含む JWT クレームの名前。
(Static)
claim_patterns.principal
と同じ Java 正規表現を受け入れますが、name
プロパティに対してです。claims.principal
(Static) ユーザーのプリンシパル (ユーザー名) を含む JWT クレームの名前。例えば
sub
、name
、email
、dn
。claim_patterns.principal
(Static) JWT クレーム
claims.principal
に対して適用される前に一致させるオプションの Java 正規表現。値はパターンに一致し、最初のキャプチャグループの値がプリンシパルとして使用されます。例えば、^([^@]+)@example\\.com$
はexample.com
ドメインのメールアドレスに一致し、ローカル部分をプリンシパルとして使用します。別の例はsub
で、パターン設定が不要な場合があります。(Static) クライアントリクエストを認証するために
shared_secret
またはnone
を使用するかどうかを指定します。この値がshared_secret
の場合、クライアントは事前に設定された秘密の値と一致する HTTP リクエストヘッダーを使用して認証されます。クライアントはES-Client-Authentication
ヘッダーでこの共有秘密をすべてのリクエストに提供する必要があります。この値がnone
の場合、リクエストヘッダーES-Client-Authentication
は無視されます。デフォルトはshared_secret
。
クライアント認証を有効にすることをお勧めします。JWT ベアラートークンが他のクライアントやサービスと共有される場合、クライアント認証はどのクライアントが Elasticsearch にその JWT を送信できるかを制限します。(Secure, reloadable) クライアント認証のための秘密値文字列。
client_authentication.type
がshared_secret
の場合は必須です。client_authentication.rotation_grace_period
(Static)
client_authentication.shared_secret
を回転させた後、どのくらいの期間有効であるかの猶予期間を設定します。client_authentication.shared_secret
はキーストアを更新してから reload API を呼び出すことで回転できます。デフォルトは1m
。(Static) リモート URL から JSON Web Key Set を取得するために使用される HTTP クライアントのタイムアウトを設定します。ゼロの値はタイムアウトが使用されないことを意味します。デフォルトは
5s
。(Static) 接続マネージャーから接続を要求する際に使用される HTTP タイムアウトを指定します。デフォルトは
5s
。(Static) 2 つの連続したデータパケット間の非アクティブ状態を待つための HTTP クライアントの最大ソケットタイムアウト (SO_TIMEOUT) を指定します。デフォルトは
5s
。(Static) すべてのエンドポイントで許可される最大接続数を指定します。
- (Static) エンドポイントごとに許可される最大接続数を指定します。
jwt.cache.size
- (Static) JWT キャッシュエントリの最大数を指定します。クライアントがリクエストごとに異なる JWT を使用する場合、
0
に設定して JWT キャッシュを無効にします。デフォルトは100000
。 jwt.cache.ttl
(Static) JWT エントリをキャッシュする期間の有効期限を指定します。クライアント認証が成功した場合 (または無効にされた場合) のみ JWT をキャッシュできます。標準の Elasticsearch 時間単位を使用します。クライアントがリクエストごとに異なる JWT を使用する場合、
0
に設定して JWT キャッシュを無効にします。デフォルトは20m
。(Static) JWT レルムがトークン署名を検証するために使用する公開鍵素材を含む JSON Web Key Set (JWKS) のファイル名または URL。値が
https
で始まらない場合、ファイル名と見なされます。ファイル名は Elasticsearch 設定ディレクトリに対して相対的に解決されます。URL が提供される場合、https://
で始まる必要があります (http://
はサポートされていません)。Elasticsearch は JWK セットを自動的にキャッシュし、署名検証の失敗時に JWK セットを更新しようとします。これは、JWT プロバイダーが署名キーを回転させたことを示す可能性があります。(Secure) JWT レルムがトークン署名を検証するために使用する秘密鍵を含む JSON Web Key Set (JWKS) の内容。この形式は複数のキーとオプションの属性をサポートし、
hmac_key
設定よりも好まれます。hmac_key
設定と併用することはできません。JWT レルムを使用するように Elasticsearch を構成するを参照してください。(Secure) トークン署名を検証するために JWT レルムが使用する秘密鍵を含む単一の JSON Web Key (JWK) の内容。この形式は属性なしの単一のキーのみをサポートし、
hmac_jwkset
設定と併用することはできません。この形式は OIDC と互換性があります。HMAC キーは UNICODE 文字列でなければならず、キーのバイトは UNICODE 文字列の UTF-8 エンコーディングです。hmac_jwkset
設定が好まれます。JWT レルムを使用するように Elasticsearch を構成するを参照してください。- (Static) Elasticsearch ユーザーのメタデータを JWT クレームによって提供された値で埋めるかどうかを指定します。デフォルトは
true
。
JWT レルム SSL 設定
次の設定は、リモート URL から JSON Web Key Set を取得するための SSL を構成するために使用できます。
これらの設定は、Elasticsearch と JWT 発行者間のバックチャネル通信にのみ使用されます。
ssl.key
(Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。(Static) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。 [7.17.0] 7.17.0 で非推奨。代わりに
ssl.secure_key_passphrase
を使用してください。
この設定とssl.secure_key_passphrase
を同時に使用することはできません。ssl.secure_key_passphrase
(Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
この設定とssl.key_passphrase
を同時に使用することはできません。(Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。(Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。(Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。(Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。(Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
この設定とssl.keystore.password
を同時に使用することはできません。 ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。
この設定とssl.keystore.secure_key_password
を同時に使用することはできません。 ssl.keystore.secure_key_password
(Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
この設定とssl.keystore.key_password
を同時に使用することはできません。(Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。(Static) トラストストアファイルのフォーマット。
jks
またはPKCS12
のいずれかでなければなりません。ファイル名が “.p12”、”.pfx” または “pkcs12” で終わる場合、デフォルトはPKCS12
です。それ以外の場合、デフォルトはjks
です。(Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。ssl.truststore.secure_password
(Secure) トラストストアのパスワード。
この設定とssl.truststore.password
を同時に使用することはできません。(Static) 証明書の検証を制御します。
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
(Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。- (Static) 使用する Java のバージョンによってサポートされる暗号スイートが異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。
負荷分散とフェイルオーバー
static load_balance.type
設定は次の値を持つことができます:
failover
: 指定された URL は指定された順序で使用されます。接続できる最初のサーバーがすべての後続の接続に使用されます。そのサーバーへの接続が失敗した場合、次に接続できるサーバーが後続の接続に使用されます。dns_failover
: この動作モードでは、単一の URL のみを指定できます。この URL には DNS 名が含まれている必要があります。この DNS 名に対応するすべての IP アドレスがシステムに問い合わせられます。Active Directory または LDAP サーバーへの接続は、取得された順序で常に試みられます。failover
とは異なり、リストの順序は変更されず、リストの先頭にあるサーバーが失敗した場合でも、後続の接続のたびに試みられます。round_robin
: 接続は提供された URL のリストを継続的に反復します。サーバーが利用できない場合、成功する接続が確立されるまで URL のリストを反復し続けます。dns_round_robin
: この動作モードでは、単一の URL のみを指定できます。この URL には DNS 名が含まれている必要があります。この DNS 名に対応するすべての IP アドレスがシステムに問い合わせられます。接続はアドレスのリストを継続的に反復します。サーバーが利用できない場合、成功する接続が確立されるまで URL のリストを反復し続けます。
一般的な TLS 設定
xpack.security.ssl.diagnose.trust
- (Static) SSL/TLS 信頼失敗の診断メッセージを出力するかどうかを制御します。これが
true
(デフォルト) の場合、SSL 接続 (受信または送信) が信頼の確立に失敗したために拒否されたときに、メッセージが Elasticsearch ログに印刷されます。この診断メッセージには、失敗の原因を特定し、問題を解決するのに役立つ情報が含まれています。これらのメッセージを無効にするにはfalse
に設定します。
TLS/SSL キーと信頼された証明書の設定
次の設定は、SSL/TLS 接続を介して通信する際に使用されるプライベートキー、証明書、および信頼される証明書を指定するために使用されます。信頼される証明書が構成されていない場合、JVM によって信頼されるデフォルトの証明書が、同じコンテキスト内のキーに関連付けられた証明書とともに信頼されます。クライアント認証が必要な接続や、SSL 対応サーバーとして動作する場合には、キーと証明書が必要です。
信頼された証明書を PKCS#12 ファイルに保存することは、サポートされているものの、実際には一般的ではありません。elasticsearch-certutil
ツールや Java の keytool
は、キーストアおよびトラストストアとして使用できる PKCS#12 ファイルを生成するように設計されていますが、他のツールを使用して作成されたコンテナファイルではそうでない場合があります。通常、PKCS#12 ファイルには秘密およびプライベートエントリのみが含まれます。PKCS#12 コンテナに信頼された証明書(”アンカー”)エントリが含まれていることを確認するには、2.16.840.1.113894.746875.1.1: <Unsupported tag 6>
を openssl pkcs12 -info
出力で、または trustedCertEntry
を keytool -list
出力で探します。
HTTP TLS/SSL 設定
以下のTLS/SSL設定を構成できます。
xpack.security.http.ssl.enabled
- (Static) Elasticsearch が他のクライアントと通信するために使用する HTTP ネットワーク層で TLS/SSL を有効または無効にするために使用されます。デフォルトは
false
。 xpack.security.http.ssl.supported_protocols
- (Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。 xpack.security.http.ssl.client_authentication
- (Static) クライアント接続から証明書を要求する際のサーバーの動作を制御します。有効な値 は
required
、optional
、none
です。required
はクライアントに証明書を提示させることを強制し、optional
はクライアント証明書を要求しますが、クライアントは提示する必要はありません。デフォルトはnone
。 xpack.security.http.ssl.verification_mode
- (Static)
xpack.security.http.ssl
の SSL 設定は、TLS のサーバーコンテキストを制御し、TLS 接続の設定を定義します。TLS サーバーでのverification_mode
の使用は推奨されません。他の当事者が TLS 接続で提示する証明書を検証する方法を定義します:
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
xpack.security.http.ssl.cipher_suites
- (Static) 使用する Java のバージョンによってサポートされる暗号スイートが異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。
HTTP TLS/SSL キーと信頼された証明書の設定
次の設定は、SSL/TLS 接続を介して通信する際に使用されるプライベートキー、証明書、および信頼される証明書を指定するために使用されます。プライベートキーと証明書を構成する必要があります。
PEM エンコードファイル
PEMエンコードファイルを使用する場合、以下の設定を使用します:
xpack.security.http.ssl.key
- (Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。 xpack.security.http.ssl.key_passphrase
- (Static) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。 [7.17.0] 7.17.0 で非推奨。代わりに
ssl.secure_key_passphrase
を使用してください。
この設定とssl.secure_key_passphrase
を同時に使用することはできません。 xpack.security.http.ssl.secure_key_passphrase
- (Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
xpack.security.http.ssl.certificate
- (Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。 xpack.security.http.ssl.certificate_authorities
- (Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。
Java キーストアファイル
Javaキーストアファイル(JKS)を使用する場合、プライベートキー、証明書、および信頼される証明書を含むファイルを使用する場合、以下の設定を使用します:
xpack.security.http.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.http.ssl.keystore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。 xpack.security.http.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.http.ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。 xpack.security.http.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.http.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.http.ssl.truststore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。 xpack.security.http.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
PKCS#12 ファイル
Elasticsearchは、プライベートキー、証明書、および信頼される証明書を含むPKCS#12コンテナファイル(.p12
または.pfx
ファイル)を使用するように構成できます。
PKCS#12ファイルは、Javaキーストアファイルと同じ方法で構成されます:
xpack.security.http.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.http.ssl.keystore.type
- (Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。 xpack.security.http.ssl.keystore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。 xpack.security.http.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.http.ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。 xpack.security.http.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.http.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.http.ssl.truststore.type
- (Static) トラストストアが PKCS#12 ファイルであることを示すには、これを
PKCS12
に設定します。 xpack.security.http.ssl.truststore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。 xpack.security.http.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
トランスポート TLS/SSL 設定
以下のTLS/SSL設定を構成できます。
xpack.security.transport.ssl.enabled
- (Static) ノードが相互に通信するために使用するトランスポートネットワーク層で TLS/SSL を有効または無効にするために使用されます。デフォルトは
false
。 xpack.security.transport.ssl.supported_protocols
- (Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。 xpack.security.transport.ssl.client_authentication
- (Static) クライアント接続から証明書を要求する際のサーバーの動作を制御します。有効な値 は
required
、optional
、none
です。required
はクライアントに証明書を提示させることを強制し、optional
はクライアント証明書を要求しますが、クライアントは提示する必要はありません。デフォルトはrequired
。 xpack.security.transport.ssl.verification_mode
- (Static) TLS接続で他の当事者が提示した証明書を検証する方法を定義します:
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
xpack.security.transport.ssl.cipher_suites
- (Static) 使用する Java のバージョンによってサポートされる暗号スイートが異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。
トランスポート TLS/SSL キーと信頼された証明書の設定
次の設定は、SSL/TLS 接続を介して通信する際に使用されるプライベートキー、証明書、および信頼される証明書を指定するために使用されます。プライベートキーと証明書を構成する必要があります。
PEM エンコードファイル
PEMエンコードファイルを使用する場合、以下の設定を使用します:
xpack.security.transport.ssl.key
- (Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。 xpack.security.transport.ssl.key_passphrase
- (Static) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。 [7.17.0] 7.17.0 で非推奨。代わりに
ssl.secure_key_passphrase
を使用してください。
この設定とssl.secure_key_passphrase
を同時に使用することはできません。 xpack.security.transport.ssl.secure_key_passphrase
- (Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
xpack.security.transport.ssl.certificate
- (Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。 xpack.security.transport.ssl.certificate_authorities
- (Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。
Java キーストアファイル
Javaキーストアファイル(JKS)を使用する場合、プライベートキー、証明書、および信頼される証明書を含むファイルを使用する場合、以下の設定を使用します:
xpack.security.transport.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.transport.ssl.keystore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。 xpack.security.transport.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.transport.ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。 xpack.security.transport.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.transport.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.transport.ssl.truststore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。 xpack.security.transport.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
PKCS#12 ファイル
Elasticsearchは、プライベートキー、証明書、および信頼される証明書を含むPKCS#12コンテナファイル(.p12
または.pfx
ファイル)を使用するように構成できます。
PKCS#12ファイルは、Javaキーストアファイルと同じ方法で構成されます:
xpack.security.transport.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.transport.ssl.keystore.type
- (Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。 xpack.security.transport.ssl.keystore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_password
を使用してください。 xpack.security.transport.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.transport.ssl.keystore.key_password
- (Static) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.keystore.secure_key_password
を使用してください。
この設定とssl.keystore.secure_password
を同時に使用することはできません。 xpack.security.transport.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.transport.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.transport.ssl.truststore.type
- (Static) トラストストアが PKCS#12 ファイルであることを示すには、これを
PKCS12
に設定します。 xpack.security.transport.ssl.truststore.password
- (Static) キーストアのパスワード。 [7.17.0] 7.17.0で非推奨。 代わりに
ssl.truststore.secure_password
を使用してください。
この設定とssl.truststore.secure_password
を同時に使用することはできません。 xpack.security.transport.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
リモートクラスターサーバー (API キーベースモデル) TLS/SSL 設定
以下のTLS/SSL設定を構成できます。
xpack.security.remote_cluster_server.ssl.enabled
- (Static) リモートクラスターサーバーのネットワーキング層で TLS/SSL を有効または無効にするために使用されます。Elasticsearch がリモートクラスタークライアントと通信するために使用します。デフォルトは
true
。 xpack.security.remote_cluster_server.ssl.supported_protocols
- (Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。 xpack.security.remote_cluster_server.ssl.client_authentication
- (Static) クライアント接続から証明書を要求する際のサーバーの動作を制御します。有効な値 は
required
、optional
、none
です。required
はクライアントに証明書を提示させることを強制し、optional
はクライアント証明書を要求しますが、クライアントは提示する必要はありません。デフォルトはnone
。 xpack.security.remote_cluster_server.ssl.verification_mode
- (Static)
xpack.security.remote_cluster_server.ssl
の SSL 設定は、TLS のサーバーコンテキストを制御し、TLS 接続の設定を定義します。TLS サーバーでのverification_mode
の使用は推奨されません。他の当事者が TLS 接続で提示する証明書を検証する方法を定義します:
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
xpack.security.remote_cluster_server.ssl.cipher_suites
- (Static) 使用する Java のバージョンによってサポートされる暗号スイートが異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。
リモートクラスターサーバー (API キーベースモデル) TLS/SSL キーと信頼された証明書の設定
次の設定は、SSL/TLS 接続を介して通信する際に使用されるプライベートキー、証明書、および信頼される証明書を指定するために使用されます。プライベートキーと証明書を構成する必要があります。
PEM エンコードファイル
PEMエンコードファイルを使用する場合、以下の設定を使用します:
xpack.security.remote_cluster_server.ssl.key
- (Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。 xpack.security.remote_cluster_server.ssl.secure_key_passphrase
- (Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
xpack.security.remote_cluster_server.ssl.certificate
- (Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。 xpack.security.remote_cluster_server.ssl.certificate_authorities
- (Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。
Java キーストアファイル
Javaキーストアファイル(JKS)を使用する場合、プライベートキー、証明書、および信頼される証明書を含むファイルを使用する場合、以下の設定を使用します:
xpack.security.remote_cluster_server.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.remote_cluster_server.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.remote_cluster_server.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.remote_cluster_server.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.remote_cluster_server.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
PKCS#12 ファイル
Elasticsearchは、プライベートキー、証明書、および信頼される証明書を含むPKCS#12コンテナファイル(.p12
または.pfx
ファイル)を使用するように構成できます。
PKCS#12ファイルは、Javaキーストアファイルと同じ方法で構成されます:
xpack.security.remote_cluster_server.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.remote_cluster_server.ssl.keystore.type
- (Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。 xpack.security.remote_cluster_server.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.remote_cluster_server.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.remote_cluster_server.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.remote_cluster_server.ssl.truststore.type
- (Static) トラストストアが PKCS#12 ファイルであることを示すには、これを
PKCS12
に設定します。 xpack.security.remote_cluster_server.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
リモートクラスタークライアント (APIキーベースモデル) TLS/SSL設定
以下のTLS/SSL設定を構成できます。
xpack.security.remote_cluster_client.ssl.enabled
- (Static) リモートクラスタークライアントのネットワーク層でTLS/SSLを有効または無効にするために使用され、Elasticsearchがリモートクラスターサーバーと通信するために使用します。デフォルトは
true
です。 xpack.security.remote_cluster_client.ssl.supported_protocols
- (Static) サポートされているプロトコルとバージョン。有効なプロトコル:
SSLv2Hello
、SSLv3
、TLSv1
、TLSv1.1
、TLSv1.2
、TLSv1.3
。JVMのSSLプロバイダーがTLSv1.3をサポートしている場合、デフォルトはTLSv1.3,TLSv1.2,TLSv1.1
です。それ以外の場合、デフォルトはTLSv1.2,TLSv1.1
です。
Elasticsearchは、JDKのSSLおよびTLSの実装に依存しています。詳細については、JDKバージョンによるサポートされているSSL/TLSバージョンを参照してください。xpack.security.fips_mode.enabled
がtrue
の場合、SSLv2Hello
またはSSLv3
を使用することはできません。FIPS 140-2を参照してください。 xpack.security.remote_cluster_client.ssl.verification_mode
- (Static) TLS接続で他の当事者が提示した証明書を検証する方法を定義します:
有効な値full
- 提供された証明書が、
not_before
およびnot_after
の日付内に発行されていることを検証します。信頼できる認証局(CA)にチェーンされていること。証明書内の名前と一致するhostname
またはIPアドレスを持っていること。 certificate
- 提供された証明書を検証し、信頼できる認証機関(CA)によって署名されていることを確認しますが、証明書
hostname
をチェックしません。 none
- 証明書の検証を行いません。
証明書の検証をnone
に設定すると、SSL/TLSの多くのセキュリティ上の利点が無効になります。これは非常に危険です。この値を設定するのは、Elastic Supportから指示された場合のみ、TLSエラーを解決するための一時的な診断メカニズムとして行ってください。
デフォルトはfull
です。
xpack.security.remote_cluster_client.ssl.cipher_suites
- (Static) 使用する Java のバージョンによってサポートされる暗号スイートが異なります。たとえば、バージョン 12 のデフォルト値は
TLS_AES_256_GCM_SHA384
、TLS_AES_128_GCM_SHA256
、TLS_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
、TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
、TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
、TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
、TLS_RSA_WITH_AES_256_GCM_SHA384
、TLS_RSA_WITH_AES_128_GCM_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA256
、TLS_RSA_WITH_AES_128_CBC_SHA256
、TLS_RSA_WITH_AES_256_CBC_SHA
、TLS_RSA_WITH_AES_128_CBC_SHA
です。
詳細については、OracleのJava Cryptography Architectureドキュメントを参照してください。
リモートクラスタークライアント (APIキーベースモデル) TLS/SSLキーと信頼された証明書設定
以下の設定は、SSL/TLS接続を介して通信する際に使用されるプライベートキー、証明書、および信頼される証明書を指定するために使用されます。プライベートキーと証明書はオプションであり、サーバーがPKI認証のためにクライアント認証を要求する場合に使用されます。
PEMエンコードファイル
PEMエンコードファイルを使用する場合、以下の設定を使用します:
xpack.security.remote_cluster_client.ssl.key
- (Static) プライベートキーを含むPEMエンコードファイルへのパス。
HTTPクライアント認証が必要な場合、これを使用します。この設定とssl.keystore.path
を同時に使用することはできません。 xpack.security.remote_cluster_client.ssl.secure_key_passphrase
- (Secure) プライベートキーを復号化するために使用されるパスフレーズ。キーが暗号化されていない可能性があるため、この値はオプションです。
xpack.security.remote_cluster_client.ssl.certificate
- (Static) キーに関連付けられたPEMエンコード証明書(または証明書チェーン)のパスを指定します。
この設定はssl.key
が設定されている場合にのみ使用できます。 xpack.security.remote_cluster_client.ssl.certificate_authorities
- (Static) 信頼されるPEMエンコード証明書ファイルへのパスのリスト。
この設定とssl.truststore.path
を同時に使用することはできません。
Javaキーストアファイル
Javaキーストアファイル(JKS)を使用する場合、プライベートキー、証明書、および信頼される証明書を含むファイルを使用する場合、以下の設定を使用します:
xpack.security.remote_cluster_client.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.remote_cluster_client.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.remote_cluster_client.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.remote_cluster_client.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.remote_cluster_client.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
PKCS#12ファイル
Elasticsearchは、プライベートキー、証明書、および信頼される証明書を含むPKCS#12コンテナファイル(.p12
または.pfx
ファイル)を使用するように構成できます。
PKCS#12ファイルは、Javaキーストアファイルと同じ方法で構成されます:
xpack.security.remote_cluster_client.ssl.keystore.path
- (Static) プライベートキーと証明書を含むキーストアファイルへのパス。
Javaキーストア(jks)またはPKCS#12ファイルである必要があります。この設定とssl.key
を同時に使用することはできません。 xpack.security.remote_cluster_client.ssl.keystore.type
- (Static) キーストアファイルの形式。
jks
またはPKCS12
のいずれかである必要があります。キーストアパスが”.p12”、”.pfx”、または”.pkcs12”で終わる場合、この設定はPKCS12
にデフォルト設定されます。それ以外の場合、jks
にデフォルト設定されます。 xpack.security.remote_cluster_client.ssl.keystore.secure_password
- (Secure) キーストアのパスワード。
xpack.security.remote_cluster_client.ssl.keystore.secure_key_password
- (Secure) キーストア内のキーのパスワード。デフォルトはキーストアのパスワードです。
xpack.security.remote_cluster_client.ssl.truststore.path
- (Static) 信頼する証明書を含むキーストアへのパス。Javaキーストア(jks)またはPKCS#12ファイルのいずれかである必要があります。
この設定とssl.certificate_authorities
を同時に使用することはできません。 xpack.security.remote_cluster_client.ssl.truststore.type
- (Static) トラストストアが PKCS#12 ファイルであることを示すには、これを
PKCS12
に設定します。 xpack.security.remote_cluster_client.ssl.truststore.secure_password
- (Secure) トラストストアのパスワード。
トランスポートプロファイルTLS/SSL設定
デフォルトのトランスポートに利用可能な設定は、各トランスポートプロファイルでも利用可能です。デフォルトでは、トランスポートプロファイルの設定は、指定されない限りデフォルトのトランスポートと同じになります。
例として、キー設定を見てみましょう。デフォルトのトランスポートでは、これはxpack.security.transport.ssl.key
です。この設定をトランスポートプロファイルで使用するには、プレフィックスtransport.profiles.$PROFILE.xpack.security.
を使用し、xpack.security.transport.
の後の設定部分を追加します。キー設定の場合、これはtransport.profiles.$PROFILE.xpack.security.ssl.key
になります。
IPフィルタリング設定
IPフィルタリングのために次の設定を構成できます。
xpack.security.transport.filter.allow
- (Dynamic) 許可するIPアドレスのリスト。
xpack.security.transport.filter.deny
- (Dynamic) 拒否するIPアドレスのリスト。
xpack.security.http.filter.allow
- (Dynamic) HTTPのみに許可するIPアドレスのリスト。
xpack.security.http.filter.deny
- (Dynamic) HTTPのみに拒否するIPアドレスのリスト。
transport.profiles.$PROFILE.xpack.security.filter.allow
- (Dynamic) このプロファイルに許可するIPアドレスのリスト。
transport.profiles.$PROFILE.xpack.security.filter.deny
- (Dynamic) このプロファイルに拒否するIPアドレスのリスト。
xpack.security.remote_cluster.filter.allow
- (Dynamic) APIキーをベースにしたモデルで構成されたリモートクラスターサーバーのみに許可するIPアドレスのリスト。
xpack.security.remote_cluster.filter.deny
- (Dynamic) APIキーをベースにしたモデルで構成されたリモートクラスターサーバーのみに拒否するIPアドレスのリスト。
ユーザーキャッシュとパスワードハッシュアルゴリズム
特定のレルムは、ユーザーの資格情報をメモリに保存します。資格情報の盗難を制限し、資格情報の侵害を軽減するために、キャッシュはメモリにユーザーの資格情報のハッシュバージョンのみを保存します。デフォルトでは、ユーザーキャッシュは塩付きsha-256
ハッシュアルゴリズムでハッシュ化されます。次の値のいずれかに設定することで、異なるハッシュアルゴリズムを使用できます。static cache.hash_algo
レルム設定を次の値のいずれかに設定します:
アルゴリズム | 説明 | ||
ssha256 |
塩付きsha-256 アルゴリズムを使用します (デフォルト)。 |
||
md5 |
MD5 アルゴリズムを使用します。 |
||
sha1 |
SHA1 アルゴリズムを使用します。 |
||
bcrypt |
1024ラウンドで生成された塩を使用したbcrypt アルゴリズムを使用します。 |
||
bcrypt4 |
16ラウンドで生成された塩を使用したbcrypt アルゴリズムを使用します。 |
||
bcrypt5 |
32ラウンドで生成された塩を使用したbcrypt アルゴリズムを使用します。 |
||
bcrypt6 |
64ラウンドで生成された塩を使用したbcrypt アルゴリズムを使用します。 |
||
bcrypt7 |
128ラウンドで生成された塩を使用したbcrypt アルゴリズムを使用します。 |
||
bcrypt8 |
256ラウンドで生成された塩を使用したbcrypt アルゴリズムを使用します。 |
||
bcrypt9 |
512ラウンドで生成された塩を使用したbcrypt アルゴリズムを使用します。 |
||
pbkdf2 |
HMAC-SHA512 を使用したPBKDF2 キー導出関数を使用し、10000回の反復を使用します。 |
||
pbkdf2_1000 |
HMAC-SHA512 を使用したPBKDF2 キー導出関数を使用し、1000回の反復を使用します。 |
||
pbkdf2_10000 |
HMAC-SHA512 を使用したPBKDF2 キー導出関数を使用し、10000回の反復を使用します。 |
||
pbkdf2_50000 |
HMAC-SHA512 を使用したPBKDF2 キー導出関数を使用し、50000回の反復を使用します。 |
||
pbkdf2_100000 |
HMAC-SHA512 を使用したPBKDF2 キー導出関数を使用し、100000回の反復を使用します。 |
||
pbkdf2_500000 |
PBKDF2 を使用したHMAC-SHA512 キー導出関数を使用し、500000回の反復を使用します。 |
||
pbkdf2_1000000 |
PBKDF2 を使用したHMAC-SHA512 キー導出関数を使用し、1000000回の反復を使用します。 |
||
pbkdf2_stretch |
初期入力をSHA512でハッシュ化した後、10000回の反復を使用してPBKDF2 キー導出関数を使用します。 |
||
pbkdf2_stretch_1000 |
初期入力をSHA512でハッシュ化した後、1000回の反復を使用してPBKDF2 キー導出関数を使用します。 |
||
pbkdf2_stretch_10000 |
初期入力をSHA512でハッシュ化した後、10000回の反復を使用してPBKDF2 キー導出関数を使用します。 |
||
pbkdf2_stretch_50000 |
初期入力をSHA512でハッシュ化した後、50000回の反復を使用してPBKDF2 キー導出関数を使用します。 |
||
pbkdf2_stretch_100000 |
初期入力をSHA512でハッシュ化した後、100000回の反復を使用してPBKDF2 キー導出関数を使用します。 |
||
pbkdf2_stretch_500000 |
初期入力をSHA512でハッシュ化した後、500000回の反復を使用してPBKDF2 キー導出関数を使用します。 |
||
pbkdf2_stretch_1000000 |
初期入力をSHA512でハッシュ化した後、1000000回の反復を使用してPBKDF2 キー導出関数を使用します。 |
||
noop ,clear_text |
資格情報をハッシュ化せず、メモリに平文で保持します。注意:平文を保持することは安全ではなく、OSレベルで侵害される可能性があります (例えば、メモリダンプやptrace を使用して)。 |
同様に、パスワードを保存するレルムは、暗号的に強力でパスワード固有の塩値を使用してハッシュ化します。パスワードハッシュのアルゴリズムは、static xpack.security.authc.password_hashing.algorithm
設定を次のいずれかに設定することで構成できます:
表2. パスワードハッシュアルゴリズム
| アルゴリズム | | | 説明 |
| :— | :— | :— | :— |
| bcrypt
| | | 1024ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します (デフォルト)。 |
| bcrypt4
| | | 16ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt5
| | | 32ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt6
| | | 64ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt7
| | | 128ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt8
| | | 256ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt9
| | | 512ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt10
| | | 1024ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt11
| | | 2048ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt12
| | | 4096ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt13
| | | 8192ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| bcrypt14
| | | 16384ラウンドで生成された塩を使用したbcrypt
アルゴリズムを使用します。 |
| pbkdf2
| | | HMAC-SHA512
を使用したPBKDF2
キー導出関数を使用し、10000回の反復を使用します。 |
| pbkdf2_1000
| | | PBKDF2
を使用したHMAC-SHA512
キー導出関数を使用し、1000回の反復を使用します。 |
| pbkdf2_10000
| | | PBKDF2
を使用したHMAC-SHA512
キー導出関数を使用し、10000回の反復を使用します。 |
| pbkdf2_50000
| | | PBKDF2
を使用したHMAC-SHA512
キー導出関数を使用し、50000回の反復を使用します。 |
| pbkdf2_100000
| | | PBKDF2
を使用したHMAC-SHA512
キー導出関数を使用し、100000回の反復を使用します。 |
| pbkdf2_500000
| | | PBKDF2
を使用したHMAC-SHA512
キー導出関数を使用し、500000回の反復を使用します。 |
| pbkdf2_1000000
| | | PBKDF2
を使用したHMAC-SHA512
キー導出関数を使用し、1000000回の反復を使用します。 |
| pbkdf2_stretch
| | | 初期入力をSHA512でハッシュ化した後、10000回の反復を使用してPBKDF2
キー導出関数を使用します。 |
| pbkdf2_stretch_1000
| | | 初期入力をSHA512でハッシュ化した後、1000回の反復を使用してPBKDF2
キー導出関数を使用します。 |
| pbkdf2_stretch_10000
| | | 初期入力をSHA512でハッシュ化した後、10000回の反復を使用してPBKDF2
キー導出関数を使用します。 |
| pbkdf2_stretch_50000
| | | 初期入力をSHA512でハッシュ化した後、50000回の反復を使用してPBKDF2
キー導出関数を使用します。 |
| pbkdf2_stretch_100000
| | | 初期入力をSHA512でハッシュ化した後、100000回の反復を使用してPBKDF2
キー導出関数を使用します。 |
| pbkdf2_stretch_500000
| | | 初期入力をSHA512でハッシュ化した後、500000回の反復を使用してPBKDF2
キー導出関数を使用します。 |
| pbkdf2_stretch_1000000
| | | 初期入力をSHA512でハッシュ化した後、1000000回の反復を使用してPBKDF2
キー導出関数を使用します。 |