組み込みユーザー
Elastic Stackのセキュリティ機能は、組み込みのユーザー資格情報を提供し、すぐに使用を開始できるようにします。これらのユーザーは固定された特権のセットを持ち、パスワードが設定されるまで認証されません。elastic
ユーザーは、すべての組み込みユーザーのパスワードを設定するために使用できます。
最小限の特権を持つユーザーを作成する
組み込みユーザーは特定の目的に使用され、一般的な使用を意図していません。特に、クラスタへの完全なアクセスが絶対に必要でない限り、elastic
スーパーユーザーを使用しないでください。自己管理型のデプロイメントでは、elastic
ユーザーを使用して、活動に必要な最小限の役割または特権を持つユーザーを作成します。
Elastic Cloudでは、オペレーター特権が有効になっています。これらの特権は、役割がユーザーに管理タスクを完了することを許可する場合でも、一部のインフラ機能を制限します。
elastic
- 組み込みのスーパーユーザー。
elastic
ユーザーとしてログインできる人は、.security
などの制限されたインデックスに直接読み取り専用アクセスを持っています。このユーザーは、セキュリティを管理し、無制限の特権を持つ役割を作成する能力も持っています。 kibana_system
- KibanaがElasticsearchに接続して通信するために使用するユーザー。
logstash_system
- LogstashがElasticsearchに監視情報を保存する際に使用するユーザー。
beats_system
- BeatsがElasticsearchに監視情報を保存する際に使用するユーザー。
apm_system
- APMサーバーがElasticsearchに監視情報を保存する際に使用するユーザー。
remote_monitoring_user
- MetricbeatがElasticsearchに監視情報を収集して保存する際に使用するユーザー。
remote_monitoring_agent
およびremote_monitoring_collector
の組み込み役割を持っています。
組み込みユーザーの動作
これらの組み込みユーザーは、Elasticsearchによって管理される特別な.security
インデックスに保存されています。組み込みユーザーが無効化されるか、パスワードが変更されると、その変更はクラスタ内の各ノードに自動的に反映されます。ただし、.security
インデックスが削除されるかスナップショットから復元されると、適用した変更は失われます。
同じAPIを共有していますが、組み込みユーザーはnative realmによって管理されるユーザーとは別個のものです。native realmを無効にしても、組み込みユーザーには影響しません。組み込みユーザーは、ユーザー無効化APIを使用して個別に無効化できます。
Elasticブートストラップパスワード
Elasticsearchをインストールするとき、elastic
ユーザーにまだパスワードがない場合、デフォルトのブートストラップパスワードが使用されます。ブートストラップパスワードは、すべての組み込みユーザーのパスワードを設定するツールを実行できる一時的なパスワードです。
デフォルトでは、ブートストラップパスワードは、インストール中にキーストアに追加されるランダム化されたkeystore.seed
設定から派生します。このブートストラップパスワードを知ったり変更したりする必要はありません。ただし、キーストアにbootstrap.password
設定を定義している場合、その値が代わりに使用されます。キーストアとの対話に関する詳細は、セキュア設定を参照してください。
組み込みユーザーのパスワードを設定した後、特にelastic
ユーザーのために、ブートストラップパスワードはもはや使用されません。
組み込みユーザーパスワードの設定
すべての組み込みユーザーのパスワードを設定する必要があります。
#### シェル
``````shell
bin/elasticsearch-setup-passwords interactive
`
コマンドオプションに関する詳細は、elasticsearch-setup-passwordsを参照してください。
また、Kibanaの**管理 > ユーザー**ページや[パスワード変更API](/read/elasticsearch-8-15/38a275c7a4aed047.md)を使用して、組み込みユーザーの初期パスワードを設定することもできます。これらの方法はより複雑です。KibanaにログインするかAPIを実行するには、`````elastic`````ユーザーとそのブートストラップパスワードを提供する必要があります。この要件により、`````keystore.seed`````設定から派生したデフォルトのブートストラップパスワードを使用することはできません。代わりに、Elasticsearchを開始する前にキーストアに`````bootstrap.password`````設定を明示的に設定する必要があります。たとえば、次のコマンドは新しいブートストラップパスワードを入力するように求めます:
#### シェル
``````shell
bin/elasticsearch-keystore add "bootstrap.password"
`
その後、ElasticsearchとKibanaを起動し、elastic
ユーザーとブートストラップパスワードを使用してKibanaにログインし、パスワードを変更できます。あるいは、各組み込みユーザーのパスワード変更APIリクエストを送信することもできます。これらの方法は、初期設定が完了した後にパスワードを変更するのに適しており、その時点でブートストラップパスワードはもはや必要ありません。
Kibanaに組み込みユーザーパスワードを追加する
#### Yaml
``````yaml
elasticsearch.password: kibanapassword
`
Kibanaのセキュリティ設定を参照してください。
Logstashに組み込みユーザーパスワードを追加する
Logstashでこの機能を有効にするには、`````xpack.monitoring.elasticsearch.password`````を`````logstash.yml`````設定ファイルに設定して、新しいパスワードでLogstashの設定を更新する必要があります:
#### Yaml
``````yaml
xpack.monitoring.elasticsearch.password: logstashpassword
`
古いバージョンのElasticsearchからアップグレードした場合、logstash_system
ユーザーはセキュリティ上の理由から無効にデフォルト設定されている可能性があります。パスワードが変更された後、次のAPI呼び出しを使用してユーザーを有効にできます:
Python
resp = client.security.enable_user(
username="logstash_system",
)
print(resp)
Js
const response = await client.security.enableUser({
username: "logstash_system",
});
console.log(response);
コンソール
PUT _security/user/logstash_system/_enable
Logstash監視のための資格情報の設定を参照してください。
Beatsに組み込みユーザーパスワードを追加する
Beatsでこの機能を有効にするには、各Beatsの設定を更新して正しいユーザー名とパスワードを参照する必要があります。たとえば:
#### Yaml
``````yaml
xpack.monitoring.elasticsearch.username: beats_system
xpack.monitoring.elasticsearch.password: beatspassword
`
たとえば、Metricbeatの監視を参照してください。
remote_monitoring_user
は、MetricbeatがElastic Stackの監視データを収集して保存する際に使用されます。本番環境での監視を参照してください。
古いバージョンのElasticsearchからアップグレードした場合、beats_system
またはremote_monitoring_user
ユーザーのパスワードを設定していない可能性があります。この場合、Kibanaの管理 > ユーザーページやパスワード変更APIを使用して、これらのユーザーのパスワードを設定する必要があります。
APMに組み込みユーザーパスワードを追加する
APMでこの機能を有効にするには、`````apm-server.yml`````設定ファイルを更新して正しいユーザー名とパスワードを参照する必要があります。たとえば:
#### Yaml
``````yaml
xpack.monitoring.elasticsearch.username: apm_system
xpack.monitoring.elasticsearch.password: apmserverpassword
`
古いバージョンのElasticsearchからアップグレードした場合、apm_system
ユーザーのパスワードを設定していない可能性があります。この場合、Kibanaの管理 > ユーザーページやパスワード変更APIを使用して、これらのユーザーのパスワードを設定する必要があります。
デフォルトパスワード機能の無効化
この設定は非推奨です。elasticユーザーにはもはやデフォルトのパスワードはありません。ユーザーを使用する前にパスワードを設定する必要があります。Elasticブートストラップパスワードを参照してください。