管理数据访问
kumosearch 主要通过REST-ful HTTP API读取和写入数据,对此 API 的访问受 API 密钥的控制。
除了GET /health节点外,所有 API 端点都需要提供 API 密钥,作为 X-KUMOSEARCH-API-KEY HTTP 标头或作为查询参数 ?x-kumosearch-api-key。
接下来,我们将讨论如何创建 API 密钥以及如何限制对特定 API 端点和数据的访问。
引导 API 密钥
启动 kumosearch 集群时,可以使用 api-key服务器配置参数提供一个引导密钥。
此引导密钥对所有端点和数据具有管理员权限,不应在正常操作过程中使用。相反,建议使用此密钥通过
/keys API 端点创建另一个管理 API 密钥,然后使用该密钥进行日常操作。
这样,您就可以根据需要轮换/撤销 管理密钥。
限制对 API 端点的访问
当创建 API 密钥时,可以使用actions 参数控制该密钥可以访问哪些 API 端点。
以这个密钥配置为例:
{
"actions": ["documents:search"],
"collections": ["*"],
...
}
此操作可以配置一个 API 密钥仅用于搜索 API 端点。
详细了解可用的操作。
限制索引表的访问
当您创建API密钥时,可以使用collections 参数控制密钥可以访问哪些特定索引表。
我们以这个密钥配置为例:
{
"actions": ["*"],
"collections": ["contacts_.*"],
...
}