我正在尝试遵循本指南有关用户限制访问数据的内容。
它解释了我应该为每个用户创建一个安全的 API 密钥来管理谁可以阅读某些文档。
我不明白的是,我们已经有了 Search-Only API 密钥,它具有所有索引的搜索权限,并且应该在前端公开。因此,虽然我可以为每个用户单独生成安全 API 密钥,但如果用户知道仅搜索 API 密钥,他仍然可以使用它来搜索生成的安全 API 密钥中不允许的文档。
我找不到限制整个索引的仅搜索 API 密钥的搜索权限的方法。也许这个想法是不公开仅搜索 API 密钥,但这似乎不是一种安全的方式,因为这明确意味着要在前端使用?
我在这里缺少什么?
正确。如果您打算使用安全 API 密钥来限制搜索,您将执行此操作而不是使用默认搜索 API 密钥。
所有搜索都应使用安全密钥,“默认”密钥是生成的安全 API 密钥,其范围仅限于访问公共内容,或者如果仅在用户登录时才可搜索内容,则始终生成用户特定的安全密钥.对于此用例,您永远不应该在前端公开默认的仅搜索键。