elasticsearch-service-tokens
elasticsearch-service-tokens
コマンドを使用して、ファイルベースのサービスアカウントトークンを作成、リスト、および削除します。
Synopsis
Shell
bin/elasticsearch-service-tokens
([create <service_account_principal> <token_name>]) |
([list] [<service_account_principal>]) |
([delete <service_account_principal> <token_name>])
Description
サービストークンを管理する推奨方法は、サービスアカウントトークンの作成 APIを介して行うことです。ファイルベースのトークンは、Elastic Cloud EnterpriseやElastic Cloud on Kubernetesなどのオーケストレーターと一緒に使用することを目的としています。
このコマンドは、最初のサービスアカウントトークンを作成するときに、$ES_HOME/config
ディレクトリにservice_tokens
ファイルを作成します。このファイルはデフォルトでは存在しません。Elasticsearchはこのファイルの変更を監視し、動的に再読み込みします。
このコマンドは、ローカルノードのservice_tokens
ファイルにのみ変更を加えます。サービストークンがクラスター内の複数のノードに対するリクエストの認証に使用される場合は、service_tokens
ファイルを各ノードにコピーする必要があります。
サービスアカウントの動作やサービストークンの管理に関する詳細情報については、サービスアカウントを参照してください。
Elasticsearchが起動時にサービスアカウントトークン情報を読み取れるようにするには、Elasticsearchを実行するのと同じユーザーとしてelasticsearch-service-tokens
を実行してください。このコマンドをroot
または他のユーザーとして実行すると、service_tokens
ファイルの権限が更新され、Elasticsearchがアクセスできなくなります。
Parameters
create
- 指定されたサービスアカウントのためのサービスアカウントトークンを作成します。
- `````<service_account_principal>
- (必須、文字列)
<namespace>/<service>
の形式を持つサービスアカウントプリンシパルで、namespace
はサービスアカウントのトップレベルグループであり、service
はサービスの名前です。例えば、elastic/fleet-server
。
サービスアカウントプリンシパルは、既知のサービスアカウントと一致する必要があります。 <token_name>
- (必須、文字列) トークン名の識別子です。
トークン名は1文字以上256文字以下でなければなりません。英数字(a-z
、A-Z
、0-9
)、ダッシュ(-
)、およびアンダースコア(_
)を含むことができますが、アンダースコアで始めることはできません。
トークン名は、関連するサービスアカウントのコンテキスト内で一意でなければなりません。
list
`````list`````のプロパティ
- `````<service_account_principal>
- (オプション、文字列)
<namespace>/<service>
の形式を持つサービスアカウントプリンシパルで、namespace
はサービスアカウントのトップレベルグループであり、service
はサービスの名前です。例えば、elastic/fleet-server
。
サービスアカウントプリンシパルは、既知のサービスアカウントと一致する必要があります。
delete
- 指定されたサービスアカウントのためのサービスアカウントトークンを削除します。
- `````<service_account_principal>
- (必須、文字列)
<namespace>/<service>
の形式を持つサービスアカウントプリンシパルで、namespace
はサービスアカウントのトップレベルグループであり、service
はサービスの名前です。例えば、elastic/fleet-server
。
サービスアカウントプリンシパルは、既知のサービスアカウントと一致する必要があります。 <token_name>
- (必須、文字列) 既存のトークンの名前です。
Examples
次のコマンドは、elastic/fleet-server
サービスアカウントのためにmy-token
という名前のサービスアカウントトークンを作成します。
Shell
bin/elasticsearch-service-tokens create elastic/fleet-server my-token
出力はベアラートークンで、Base64エンコードされた文字列です。
Shell
SERVICE_TOKEN elastic/fleet-server/my-token = AAEAAWVsYXN0aWM...vZmxlZXQtc2VydmVyL3Rva2VuMTo3TFdaSDZ
このベアラートークンを使用して、Elasticsearchクラスターに認証します。
Shell
curl -H "Authorization: Bearer AAEAAWVsYXN0aWM...vZmxlZXQtc2VydmVyL3Rva2VuMTo3TFdaSDZ" http://localhost:9200/_cluster/health
ノードにxpack.security.http.ssl.enabled
がtrue
に設定されている場合、リクエストURLにhttps
を指定する必要があります。
次のコマンドは、service_tokens
ファイルに定義されているすべてのサービスアカウントトークンをリストします。
Shell
bin/elasticsearch-service-tokens list
すべてのサービスアカウントトークンのリストがターミナルに表示されます:
Txt
elastic/fleet-server/my-token
elastic/fleet-server/another-token
次のコマンドは、elastic/fleet-server
サービスアカウントのためのmy-token
サービスアカウントトークンを削除します:
Shell
bin/elasticsearch-service-tokens delete elastic/fleet-server my-token