旋转加密密钥 API
编辑旋转加密密钥 API编辑
[预览] 此功能处于技术预览阶段,可能会在将来的版本中更改或删除。Elastic 将努力解决任何问题,但技术预览中的功能不受官方 GA 功能的支持 SLA 的约束。 旋转加密保存对象的加密密钥。
有关最新 API 详细信息,请参阅 开放 API 规范。
如果保存对象无法使用主加密密钥解密,则 Kibana 将尝试使用指定的 仅解密密钥 解密它。在大多数情况下,这种开销可以忽略不计,但如果您处理大量保存对象并遇到性能问题,您可能需要旋转加密密钥。
批量密钥旋转会消耗大量资源,因此只有具有 superuser
角色的用户才能触发它。
请求编辑
POST <kibana 主机>:<端口>/api/encrypted_saved_objects/_rotate_key
查询参数编辑
-
type
- (可选,字符串) 将加密密钥旋转限制为具有指定类型的保存对象。默认情况下,Kibana 尝试为所有可能包含加密属性的保存对象类型旋转加密密钥。
-
batch_size
- (可选,数字) 指定 Kibana 在单个批次中可以处理的最大保存对象数量。批量密钥旋转是一个迭代过程,因为 Kibana 可能无法一次性获取和处理所有必需的保存对象,并将处理分成后续批次。默认情况下,批次大小为 10000,这也是允许的最大值。
响应主体编辑
-
total
- (数字) 指示所有加密保存对象的总数(可选地按请求的
type
过滤),无论 Kibana 用于加密的密钥是什么。 -
successful
-
(数字) 指示所有加密保存对象的总数(可选地按请求的
type
过滤),无论 Kibana 用于加密的密钥是什么。在大多数情况下,即使
failed
为零,total
也将大于successful
。原因是 Kibana 可能不需要或可能无法为所有加密保存对象旋转加密密钥。 -
failed
- (数字) 指示仍然使用 Kibana 无法使用主密钥重新加密的旧加密密钥之一加密的保存对象的数量。
示例编辑
使用默认参数的加密密钥旋转编辑
$ curl -X POST /api/encrypted_saved_objects/_rotate_key
API 返回以下内容
{ "total": 1000, "successful": 300, "failed": 0 }
结果表明,已成功为 1000 个具有加密属性的保存对象中的 300 个旋转了加密密钥,而 700 个保存对象要么不需要密钥旋转,要么使用未知加密密钥加密。
针对特定类型的加密密钥旋转,并减少批次大小编辑
默认参数针对速度进行了优化。仅在必要时更改参数。但是,如果您遇到此 API 的任何问题,您可能需要减小批次大小或仅为特定类型旋转加密密钥。在这种情况下,您可能需要连续多次运行密钥旋转。
在此示例中,密钥旋转针对所有具有 alert
类型的保存对象执行,批次大小为 5000。
$ curl -X POST /api/encrypted_saved_objects/_rotate_key?type=alert&batch_size=5000
API 返回以下内容
{ "total": 100, "successful": 100, "failed": 0 }
结果表明,已成功为所有 100 个具有 alert
类型的保存对象旋转了加密密钥。