gpt4 book ai didi

security - 是否可以在 Azure 搜索上实现基于用户的安全性?

转载 作者:行者123 更新时间:2023-12-04 04:10:41 27 4
gpt4 key购买 nike

在 Azure 搜索中,我们可以为不同的搜索结果创建多个索引,并且我们有两种类型的 api-key。一种用于管理,另一种用于查询。但使用相同的 api-key 用户可以搜索所有索引。

在我的解决方案中,我需要设计一个系统,以便使用该系统的不同用户将根据其权限获得不同的结果。我认为这个问题可以通过每个角色的专用索引来解决,但用户仍然可以根据需要查询其他索引。

我如何确定每个用户只能在特定索引上进行搜索。

最佳答案

开箱即用,无法限制特定索引的 key 使用。您需要自己做一些事情。

另一种可能性是创建不同的搜索服务帐户,然后在其中创建索引,而不是使用一个帐户。然后,您可以向您的用户授予适当的搜索服务帐户的访问权限。

更新

根据您的评论,您实际上希望通过用户角色来限制搜索结果(文档),即比索引更深一层。要实现此目的,您可以做的就是将此角色条件作为 OData Filter 动态附加到您的搜索查询中。例如,假设您的索引针对每种角色类型(管理员、用户等)都有 bool 字段,并且用户搜索某个关键字。然后您可以做的是创建一个 OData Filter $filter 来检查这些条件。因此您的搜索网址将类似于:

https://<search-service-name>.search.windows.net/indexes/<index-name>/docs?search=<search-string>&$filter=Administrator%20eq%20true

这样,搜索服务就会执行所有过滤,您无需在代码中执行任何操作。

您可以在此处了解有关查询选项的更多信息:https://msdn.microsoft.com/en-us/library/azure/dn798927.aspx .

关于security - 是否可以在 Azure 搜索上实现基于用户的安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31803021/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com