首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在elasticsearch中限制用户行为

在elasticsearch中限制用户行为
EN

Stack Overflow用户
提问于 2016-10-15 06:03:56
回答 1查看 77关注 0票数 0

如何禁止普通用户使用除GET之外的任何请求。

这应该适用于终端和web浏览器。

例如,普通用户应该不能在终端中使用以下命令:

代码语言:javascript
复制
curl -XDELETE 'http://www.example.com:9200/customer/external/1?pretty' 

这足以实现目标吗?https://www.elastic.co/guide/en/elasticsearch/reference/current/url-access-control.html或我是否必须设置其他参数才能达到上述目标。

另外,如何限制普通用户使用GET请求获取过多数据。例如:

代码语言:javascript
复制
curl 'https://www.example.com:9200/dummyindex1/_search?q=*:*&pretty'

谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-10-15 17:43:42

Shield绝对是elastic的企业级安全产品,elastic提供了大量的安全功能和认证功能。它与授权、SSL和LDAP集成在一起。

您可以下载盾牌并开始玩it.You,您可以直接跳转到Field and Document level security部分,在这里您可以设置用户的访问权限,使其只能根据您设置的认证规则读取索引。

您可以使用elastic REST api动态修改这些规则,也可以在部署期间在配置文件中配置它们。

用于遵循rest api动态更改身份验证规则。

代码语言:javascript
复制
POST /_shield/role/my_fls_role
{
  "indices": [
    {
      "names": [ "index1", "index2" ],
      "privileges": ["read"], 
      "fields": [ "title", "body" ]
    }
  ]
}

这还支持复杂的身份验证规则,您还可以为特定角色设置字段规则

代码语言:javascript
复制
POST /_shield/role/customer_care
{
  "indices": [
    {
      "names": [ "*" ],
      "privileges": ["read"],
      "fields": [
            "issue_id",
            "description",
            "customer_handle",
            "customer_email",
            "customer_address",
            "customer_phone"
      ]
    }
  ]
}

您可以为不同接入层的多个客户端应用程序配置多个角色,如果您正在寻找更多的企业级安全解决方案,您也可以从LDAP配置这些角色,elastic可以很好地处理这些角色,因为它们缓存了通过网络从LDAP接收的用户凭据,以提高性能。

此外,如果您不是在寻找这种级别的安全解决方案,您可以在将搜索请求抛到集群之前查看nginx/apache reverse proxy来对其进行身份验证。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40052645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档