我正在开发一个搜索服务。我的Sping Boot 搜索服务位于我的内部用户库和Amazon Elastic Search集群之间。我想启用fine-grained access control,但是我不能依赖AWS IAM,因为我们有一个内部服务来管理身份验证和授权。有没有什么方法可以启用细粒度的搜索访问控制,而无需将系统中的所有用户Map到任一IAM,Cognito还是Kibana内部数据库?
我正在开发一个搜索服务。我的Sping Boot 搜索服务位于我的内部用户库和Amazon Elastic Search集群之间。我想启用fine-grained access control,但是我不能依赖AWS IAM,因为我们有一个内部服务来管理身份验证和授权。有没有什么方法可以启用细粒度的搜索访问控制,而无需将系统中的所有用户Map到任一IAM,Cognito还是Kibana内部数据库?
1条答案
按热度按时间8dtrkrch1#
我们应对这一挑战的方法是:
1.**创建角色并为角色分配权限。**这不像逐个添加用户那样麻烦,而且很容易实现,因为通常只有一组角色可以使用和重用。相关文档可以在here中找到。
1.为每个角色创建一个用户并将其Map到该角色。在此您可以了解如何执行此操作。
1.创建应用程序要使用的服务用户
1.使用服务用户模拟与我们需要的角色关联的用户(按照步骤2)。用户模拟文档可以在here中找到。
1.让调用应用程序使用内部服务进行身份验证,然后模拟相关角色。
即使不是特别优雅,这个解决方案的工作和它的安全。