加载中

elasticsearch-service-tokens

使用 elasticsearch-service-tokens 命令可以创建、列出和删除基于文件的服务帐户令牌。

bin/elasticsearch-service-tokens
([create <service_account_principal> <token_name>]) |
([list] [<service_account_principal>]) |
([delete <service_account_principal> <token_name>])
注意

管理服务令牌的推荐方法是使用创建服务帐户令牌 API。基于文件的令牌 intended for use with orchestrators such as Elastic Cloud Enterprise and Elastic Cloud on Kubernetes

此命令在您创建第一个服务帐户令牌时,会在 $ES_HOME/config 目录中创建一个 service_tokens 文件。此文件默认不存在。Elasticsearch 会监视此文件的更改并动态重新加载它。

此命令仅对本地节点上的 service_tokens 文件进行更改。如果服务令牌将用于向集群中的多个节点进行身份验证,则必须将 service_tokens 文件复制到每个节点。

有关服务帐户的行为和服务令牌管理的更多信息,请参阅服务帐户

重要提示

为确保 Elasticsearch 在启动时能够读取服务帐户令牌信息,请使用运行 Elasticsearch 的同一用户来运行 elasticsearch-service-tokens。以 root 或其他用户身份运行此命令会更新 service_tokens 文件的权限,并阻止 Elasticsearch 访问它。

为指定的服务帐户创建服务帐户令牌。

create 的属性:

<service_account_principal>

(必需, string) 服务帐户主体,其格式为 <namespace>/<service>,其中 namespace 是服务帐户的顶级分组,service 是服务的名称。例如,elastic/fleet-server

服务帐户主体必须与已知服务帐户匹配。

<token_name>

(必需, string) 令牌名称的标识符。

令牌名称必须至少为 1 个字符,最多为 256 个字符。它们可以包含字母数字字符 (a-z, A-Z, 0-9)、连字符 (-) 和下划线 (_),但不能以下划线开头。

注意

在关联服务帐户的上下文中,令牌名称必须是唯一的。

列出 service_tokens 文件中定义的所有服务帐户令牌。如果指定了服务帐户主体,则该命令仅列出属于指定服务帐户的令牌。

list 的属性:

<service_account_principal>

(可选, string) 服务帐户主体,其格式为 <namespace>/<service>,其中 namespace 是服务帐户的顶级分组,service 是服务的名称。例如,elastic/fleet-server

服务帐户主体必须与已知服务帐户匹配。

删除指定服务帐户的服务帐户令牌。

delete 的属性:

<service_account_principal>

(必需, string) 服务帐户主体,其格式为 <namespace>/<service>,其中 namespace 是服务帐户的顶级分组,service 是服务的名称。例如,elastic/fleet-server

服务帐户主体必须与已知服务帐户匹配。

<token_name>
(必需, string) 现有令牌的名称。

以下命令为 elastic/fleet-server 服务帐户创建了一个名为 my-token 的服务帐户令牌。

bin/elasticsearch-service-tokens create elastic/fleet-server my-token

输出是一个 bearer 令牌,它是 Base64 编码的字符串。

SERVICE_TOKEN elastic/fleet-server/my-token = AAEAAWVsYXN0aWM...vZmxlZXQtc2VydmVyL3Rva2VuMTo3TFdaSDZ

使用此 bearer 令牌与您的 Elasticsearch 集群进行身份验证。

curl -H "Authorization: Bearer AAEAAWVsYXN0aWM...vZmxlZXQtc2VydmVyL3Rva2VuMTo3TFdaSDZ" https://:9200/_cluster/health
注意

如果您的节点设置了 xpack.security.http.ssl.enabledtrue,那么您必须在请求 URL 中指定 https

以下命令列出了在 service_tokens 文件中定义的所有服务帐户令牌。

bin/elasticsearch-service-tokens list

您的终端将显示所有服务帐户令牌的列表。

elastic/fleet-server/my-token
elastic/fleet-server/another-token

以下命令删除 elastic/fleet-server 服务帐户的 my-token 服务帐户令牌。

bin/elasticsearch-service-tokens delete elastic/fleet-server my-token
© . This site is unofficial and not affiliated with Elasticsearch BV.