【最佳实践】Elasticsearch 数据源的用户权限设置


Administrator
飞致云 发布于 2022-10-25 / 1016 阅读 / 0 评论 /
在 DataEase 中使用 Elasticsearch 类型的数据源时,有的用户不希望给查询 Elasticsearch 数据的账号开放过高的权限,希望开放最小的权限满足 DataEase 的访问需求即可,如果你有这样的需求,那么你可以参考下面的步骤进行操作,在 ES 中创建一个只读角色,然后创建

在 DataEase 中使用 Elasticsearch 类型的数据源时,有的用户不希望给查询 Elasticsearch 数据的账号开放过高的权限,希望开放最小的权限满足 DataEase 的访问需求即可,如果你有这样的需求,那么你可以参考下面的步骤进行操作,在 ES 中创建一个只读角色,然后创建一个用户并将此用户设置为只读角色。

1 ES 创建只读角色 readonly_role (对所有的 index 可读)

curl  -XPOST -u elastic:Password123@elastic -s http://@10.1.13.102:9200/_xpack/security/role/readonly_role -H "Content-Type: application/json" -d'
{
    "cluster": ["all"],
    "indices": [{
        "names": ["*"],
        "privileges": ["read", "view_index_metadata", "monitor"],
        "allow_restricted_indices": false
    }]
}'

image-1666692926490

2 查看刚才创建的只读角色 readonly_role

curl -XGET -u elastic:Password123@elastic http://@10.1.13.102:9200/_xpack/security/role/readonly_role?pretty

image-1666692941964

3 ES 创建只读角色下的只读用户 readonly_user

curl -XPOST -u elastic:Password123@elastic -s http://@10.1.13.102:9200/_xpack/security/user/readonly_user -H "Content-Type: application/json" -d'
{
"password" : "Password@readonly",
"roles" : [ "readonly_role" ],
"full_name" : "Readonly Role",
"email" : "readonlt@fit2cloud.com",
"metadata" : {}
}'

image-1666692955788

4 下面提供一些ES常用的查询命令

4.1 ES 查看所有索引

curl -XGET -u elastic:Password123@elastic http://@10.1.13.102:9200/_cat/indices?v

image-1666692998619

4.2 ES查看指定角色的所有权限信息

curl -XGET -u elastic:Password123@elastic http://@10.1.13.102:9200/_xpack/security/role/superuser?pretty

image-1666693004228

4.3 ES查看所有用户及用户所属的角色

curl -XGET -u elastic:Password123@elastic http://@10.1.13.102:9200/_xpack/security/user?pretty

image-1666693011269



是否对你有帮助?