- Elasticsearch 指南其他版本
- 8.17 中的新功能
- Elasticsearch 基础
- 快速入门
- 设置 Elasticsearch
- 升级 Elasticsearch
- 索引模块
- 映射
- 文本分析
- 索引模板
- 数据流
- 摄取管道
- 别名
- 搜索您的数据
- 重新排名
- 查询 DSL
- 聚合
- 地理空间分析
- 连接器
- EQL
- ES|QL
- SQL
- 脚本
- 数据管理
- 自动缩放
- 监视集群
- 汇总或转换数据
- 设置高可用性集群
- 快照和还原
- 保护 Elastic Stack 的安全
- Watcher
- 命令行工具
- elasticsearch-certgen
- elasticsearch-certutil
- elasticsearch-create-enrollment-token
- elasticsearch-croneval
- elasticsearch-keystore
- elasticsearch-node
- elasticsearch-reconfigure-node
- elasticsearch-reset-password
- elasticsearch-saml-metadata
- elasticsearch-service-tokens
- elasticsearch-setup-passwords
- elasticsearch-shard
- elasticsearch-syskeygen
- elasticsearch-users
- 优化
- 故障排除
- 修复常见的集群问题
- 诊断未分配的分片
- 向系统中添加丢失的层
- 允许 Elasticsearch 在系统中分配数据
- 允许 Elasticsearch 分配索引
- 索引将索引分配过滤器与数据层节点角色混合,以在数据层之间移动
- 没有足够的节点来分配所有分片副本
- 单个节点上索引的分片总数已超过
- 每个节点的分片总数已达到
- 故障排除损坏
- 修复磁盘空间不足的数据节点
- 修复磁盘空间不足的主节点
- 修复磁盘空间不足的其他角色节点
- 启动索引生命周期管理
- 启动快照生命周期管理
- 从快照恢复
- 故障排除损坏的存储库
- 解决重复的快照策略失败问题
- 故障排除不稳定的集群
- 故障排除发现
- 故障排除监控
- 故障排除转换
- 故障排除 Watcher
- 故障排除搜索
- 故障排除分片容量健康问题
- 故障排除不平衡的集群
- 捕获诊断信息
- REST API
- API 约定
- 通用选项
- REST API 兼容性
- 自动缩放 API
- 行为分析 API
- 紧凑和对齐文本 (CAT) API
- 集群 API
- 跨集群复制 API
- 连接器 API
- 数据流 API
- 文档 API
- 丰富 API
- EQL API
- ES|QL API
- 功能 API
- Fleet API
- 图表探索 API
- 索引 API
- 别名是否存在
- 别名
- 分析
- 分析索引磁盘使用量
- 清除缓存
- 克隆索引
- 关闭索引
- 创建索引
- 创建或更新别名
- 创建或更新组件模板
- 创建或更新索引模板
- 创建或更新索引模板(旧版)
- 删除组件模板
- 删除悬挂索引
- 删除别名
- 删除索引
- 删除索引模板
- 删除索引模板(旧版)
- 存在
- 字段使用情况统计信息
- 刷新
- 强制合并
- 获取别名
- 获取组件模板
- 获取字段映射
- 获取索引
- 获取索引设置
- 获取索引模板
- 获取索引模板(旧版)
- 获取映射
- 导入悬挂索引
- 索引恢复
- 索引段
- 索引分片存储
- 索引统计信息
- 索引模板是否存在(旧版)
- 列出悬挂索引
- 打开索引
- 刷新
- 解析索引
- 解析集群
- 翻转
- 收缩索引
- 模拟索引
- 模拟模板
- 拆分索引
- 解冻索引
- 更新索引设置
- 更新映射
- 索引生命周期管理 API
- 推理 API
- 信息 API
- 摄取 API
- 许可 API
- Logstash API
- 机器学习 API
- 机器学习异常检测 API
- 机器学习数据帧分析 API
- 机器学习训练模型 API
- 迁移 API
- 节点生命周期 API
- 查询规则 API
- 重新加载搜索分析器 API
- 存储库计量 API
- 汇总 API
- 根 API
- 脚本 API
- 搜索 API
- 搜索应用程序 API
- 可搜索快照 API
- 安全 API
- 身份验证
- 更改密码
- 清除缓存
- 清除角色缓存
- 清除权限缓存
- 清除 API 密钥缓存
- 清除服务帐户令牌缓存
- 创建 API 密钥
- 创建或更新应用程序权限
- 创建或更新角色映射
- 创建或更新角色
- 批量创建或更新角色 API
- 批量删除角色 API
- 创建或更新用户
- 创建服务帐户令牌
- 委托 PKI 身份验证
- 删除应用程序权限
- 删除角色映射
- 删除角色
- 删除服务帐户令牌
- 删除用户
- 禁用用户
- 启用用户
- 注册 Kibana
- 注册节点
- 获取 API 密钥信息
- 获取应用程序权限
- 获取内置权限
- 获取角色映射
- 获取角色
- 查询角色
- 获取服务帐户
- 获取服务帐户凭据
- 获取安全设置
- 获取令牌
- 获取用户权限
- 获取用户
- 授予 API 密钥
- 具有权限
- 使 API 密钥失效
- 使令牌失效
- OpenID Connect 准备身份验证
- OpenID Connect 身份验证
- OpenID Connect 注销
- 查询 API 密钥信息
- 查询用户
- 更新 API 密钥
- 更新安全设置
- 批量更新 API 密钥
- SAML 准备身份验证
- SAML 身份验证
- SAML 注销
- SAML 失效
- SAML 完成注销
- SAML 服务提供商元数据
- SSL 证书
- 激活用户配置文件
- 禁用用户配置文件
- 启用用户配置文件
- 获取用户配置文件
- 建议用户配置文件
- 更新用户配置文件数据
- 具有用户配置文件权限
- 创建跨集群 API 密钥
- 更新跨集群 API 密钥
- 快照和还原 API
- 快照生命周期管理 API
- SQL API
- 同义词 API
- 文本结构 API
- 转换 API
- 使用情况 API
- Watcher API
- 定义
- 迁移指南
- 发行说明
- Elasticsearch 版本 8.17.0
- Elasticsearch 版本 8.16.1
- Elasticsearch 版本 8.16.0
- Elasticsearch 版本 8.15.5
- Elasticsearch 版本 8.15.4
- Elasticsearch 版本 8.15.3
- Elasticsearch 版本 8.15.2
- Elasticsearch 版本 8.15.1
- Elasticsearch 版本 8.15.0
- Elasticsearch 版本 8.14.3
- Elasticsearch 版本 8.14.2
- Elasticsearch 版本 8.14.1
- Elasticsearch 版本 8.14.0
- Elasticsearch 版本 8.13.4
- Elasticsearch 版本 8.13.3
- Elasticsearch 版本 8.13.2
- Elasticsearch 版本 8.13.1
- Elasticsearch 版本 8.13.0
- Elasticsearch 版本 8.12.2
- Elasticsearch 版本 8.12.1
- Elasticsearch 版本 8.12.0
- Elasticsearch 版本 8.11.4
- Elasticsearch 版本 8.11.3
- Elasticsearch 版本 8.11.2
- Elasticsearch 版本 8.11.1
- Elasticsearch 版本 8.11.0
- Elasticsearch 版本 8.10.4
- Elasticsearch 版本 8.10.3
- Elasticsearch 版本 8.10.2
- Elasticsearch 版本 8.10.1
- Elasticsearch 版本 8.10.0
- Elasticsearch 版本 8.9.2
- Elasticsearch 版本 8.9.1
- Elasticsearch 版本 8.9.0
- Elasticsearch 版本 8.8.2
- Elasticsearch 版本 8.8.1
- Elasticsearch 版本 8.8.0
- Elasticsearch 版本 8.7.1
- Elasticsearch 版本 8.7.0
- Elasticsearch 版本 8.6.2
- Elasticsearch 版本 8.6.1
- Elasticsearch 版本 8.6.0
- Elasticsearch 版本 8.5.3
- Elasticsearch 版本 8.5.2
- Elasticsearch 版本 8.5.1
- Elasticsearch 版本 8.5.0
- Elasticsearch 版本 8.4.3
- Elasticsearch 版本 8.4.2
- Elasticsearch 版本 8.4.1
- Elasticsearch 版本 8.4.0
- Elasticsearch 版本 8.3.3
- Elasticsearch 版本 8.3.2
- Elasticsearch 版本 8.3.1
- Elasticsearch 版本 8.3.0
- Elasticsearch 版本 8.2.3
- Elasticsearch 版本 8.2.2
- Elasticsearch 版本 8.2.1
- Elasticsearch 版本 8.2.0
- Elasticsearch 版本 8.1.3
- Elasticsearch 版本 8.1.2
- Elasticsearch 版本 8.1.1
- Elasticsearch 版本 8.1.0
- Elasticsearch 版本 8.0.1
- Elasticsearch 版本 8.0.0
- Elasticsearch 版本 8.0.0-rc2
- Elasticsearch 版本 8.0.0-rc1
- Elasticsearch 版本 8.0.0-beta1
- Elasticsearch 版本 8.0.0-alpha2
- Elasticsearch 版本 8.0.0-alpha1
- 依赖项和版本
创建跨集群 API 密钥 API
编辑创建跨集群 API 密钥 API
编辑为 基于 API 密钥的远程集群访问创建类型为 cross_cluster
的 API 密钥。 cross_cluster
API 密钥不能通过 REST 接口进行身份验证。相反,REST API 密钥旨在通过 REST 接口使用,不能用于基于 API 密钥的远程集群访问。
请求
编辑POST /_security/cross_cluster/api_key
先决条件
编辑- 要使用此 API,您必须至少拥有
manage_security
集群权限。
要验证此请求,您必须使用 不是 API 密钥的凭据。即使您使用具有所需权限的 API 密钥,API 也会返回错误。
描述
编辑跨集群 API 密钥由 Elasticsearch API 密钥服务创建,该服务会自动启用。有关禁用 API 密钥服务的说明,请参阅 API 密钥服务设置。
成功请求将返回一个 JSON 结构,其中包含 API 密钥、其唯一 ID 及其名称。如果适用,它还会返回 API 密钥的过期信息(以毫秒为单位)。
默认情况下,API 密钥永不过期。您可以在创建 API 密钥时指定过期信息。
有关与 API 密钥服务相关的配置设置,请参阅 API 密钥服务设置。
跨集群 API 密钥只能使用 更新跨集群 API 密钥 API 进行更新。尝试使用 更新 REST API 密钥 API 或 批量更新 REST API 密钥 API 更新它们将导致错误。可以使用 获取 API 密钥 API、查询 API 密钥 API 和 使 API 密钥无效 API 来检索和使它们失效。
请求正文
编辑以下参数可以在 POST 请求的正文中指定
-
name
- (必需,字符串) 指定此 API 密钥的名称。
-
access
-
(必需,对象) 要授予此 API 密钥的访问权限。访问权限由跨集群搜索和跨集群复制的权限组成。必须至少指定其中一个。
-
search
-
(可选,列表) 跨集群搜索的索引权限条目列表。
-
names
- (必需,列表) 此条目中的权限适用的索引或名称模式列表。
-
field_security
- (可选,对象) 角色所有者具有读取访问权限的文档字段。当也定义了
replication
字段时,可能不会设置此字段。有关更多信息,请参阅 使用跨集群 API 密钥的字段和文档级安全性。 -
query
- (可选) 定义角色所有者具有读取访问权限的文档的搜索查询。指定索引中的文档必须与此查询匹配,才能由角色所有者访问。当也定义了
replication
字段时,可能不会设置此字段。有关更多信息,请参阅 使用跨集群 API 密钥的字段和文档级安全性。 -
allow_restricted_indices
- (可选,布尔值) 如果
names
字段中的模式应涵盖 系统索引,则需要将其设置为true
(默认为false
)。
-
-
replication
-
(可选,列表) 跨集群复制的索引权限条目列表。
-
names
- (必需,列表) 此条目中的权限适用的索引或名称模式列表。
-
-
不应为搜索或复制访问指定显式的 权限。创建过程会自动将 access
规范转换为一个 角色描述符,该描述符会相应地分配相关权限。 access
值及其对应的 role_descriptors
将在 获取 API 密钥 API 和 查询 API 密钥 API 的响应中返回。
与 REST API 密钥不同,跨集群 API 密钥不会捕获已验证用户的权限。API 密钥的有效权限与使用 access
参数指定的完全相同。
-
expiration
- (可选,字符串) API 密钥的过期时间。默认情况下,API 密钥永不过期。
-
metadata
- (可选,对象) 您希望与 API 密钥关联的任意元数据。它支持嵌套的数据结构。在
metadata
对象中,以_
开头的键保留供系统使用。
示例
编辑以下示例创建了一个跨集群 API 密钥
resp = client.perform_request( "POST", "/_security/cross_cluster/api_key", headers={"Content-Type": "application/json"}, body={ "name": "my-cross-cluster-api-key", "expiration": "1d", "access": { "search": [ { "names": [ "logs*" ] } ], "replication": [ { "names": [ "archive*" ] } ] }, "metadata": { "description": "phase one", "environment": { "level": 1, "trusted": True, "tags": [ "dev", "staging" ] } } }, ) print(resp)
const response = await client.transport.request({ method: "POST", path: "/_security/cross_cluster/api_key", body: { name: "my-cross-cluster-api-key", expiration: "1d", access: { search: [ { names: ["logs*"], }, ], replication: [ { names: ["archive*"], }, ], }, metadata: { description: "phase one", environment: { level: 1, trusted: true, tags: ["dev", "staging"], }, }, }, }); console.log(response);
POST /_security/cross_cluster/api_key { "name": "my-cross-cluster-api-key", "expiration": "1d", "access": { "search": [ { "names": ["logs*"] } ], "replication": [ { "names": ["archive*"] } ] }, "metadata": { "description": "phase one", "environment": { "level": 1, "trusted": true, "tags": ["dev", "staging"] } } }
成功调用将返回一个 JSON 结构,其中提供 API 密钥信息。
{ "id": "VuaCfGcBCdbkQm-e5aOx", "name": "my-cross-cluster-api-key", "expiration": 1544068612110, "api_key": "ui2lp2axTNmsyakw9tvNnw", "encoded": "VnVhQ2ZHY0JDZGJrUW0tZTVhT3g6dWkybHAyYXhUTm1zeWFrdzl0dk5udw==" }
此 API 密钥的唯一 |
|
此 API 密钥的可选过期时间(以毫秒为单位) |
|
生成的 API 密钥密钥 |
|
API 密钥凭据,它是 |
可以使用 获取 API 密钥 API 检索 API 密钥信息。
resp = client.security.get_api_key( id="VuaCfGcBCdbkQm-e5aOx", ) print(resp)
const response = await client.security.getApiKey({ id: "VuaCfGcBCdbkQm-e5aOx", }); console.log(response);
GET /_security/api_key?id=VuaCfGcBCdbkQm-e5aOx
成功调用将返回一个 JSON 结构,其中包含 API 密钥的信息
{ "api_keys": [ { "id": "VuaCfGcBCdbkQm-e5aOx", "name": "my-cross-cluster-api-key", "type": "cross_cluster", "creation": 1548550550158, "expiration": 1548551550158, "invalidated": false, "username": "myuser", "realm": "native1", "metadata": { "description": "phase one", "environment": { "level": 1, "trusted": true, "tags": ["dev", "staging"] } }, "role_descriptors": { "cross_cluster": { "cluster": [ "cross_cluster_search", "cross_cluster_replication" ], "indices": [ { "names": [ "logs*" ], "privileges": [ "read", "read_cross_cluster", "view_index_metadata" ], "allow_restricted_indices": false }, { "names": [ "archive*" ], "privileges": [ "cross_cluster_replication", "cross_cluster_replication_internal" ], "allow_restricted_indices": false } ], "applications": [ ], "run_as": [ ], "metadata": { }, "transient_metadata": { "enabled": true } } }, "access": { "search": [ { "names": [ "logs*" ], "allow_restricted_indices": false } ], "replication": [ { "names": [ "archive*" ], "allow_restricted_indices": false } ] } } ] }
API 密钥的 ID |
|
API 密钥的名称 |
|
API 密钥的类型 |
|
为跨集群 API 密钥生成的角色描述符。它始终包含一个名为 |
|
所需跨集群访问所需的集群权限。如果仅需要跨集群搜索,则该值为 |
|
与所需跨集群搜索访问对应的索引权限。 |
|
与所需跨集群复制访问对应的索引权限。 |
|
|
要使用生成的 API 密钥,请将其配置为基于 API 密钥的远程集群配置的一部分的集群凭据。