search-guard 配置用户

路径: /opt/export/app/elasticsearch-6.4.2/plugins/search-guard-6/sgconfig

生成密码

执行以下命令, 输入明文

1
plugins/search-guard-6/tools/hasher.sh -p mycleartextpassword
1. 配置用户及密码

文件: sg_internal_users.yml

1
2
3
4
zhangsan:
hash: $2y$12$yKXk785zSTtB3kE7g.XnbOPrc690g9JE50Znwum924i2M/xYGG4qq
roles:
- trans_group

格式:

1
2
3
4
姓名:
密码: XXXX(明文的hash, 使用search-guard的工具生成)
角色:
- 角色名称
2. 配置权限

文件: sg_roles.xml

配置’?kibana’ 及’?kibana-6’ 权限是为了保证用户在kibana中能够正常使用kibana

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
sg_trans_group:
cluster:
- cluster:monitor/nodes
- cluster:monitor/health
indices:
'log-system':
'*':
- indices:admin/mappings/fields/get
- indices:admin/validate/query
- indices:data/read/search
- indices:data/read/msearch
- indices:admin/get
- indices:data/read/field_stats
'?kibana':
'*':
- MANAGE
- INDEX
- READ
- DELETE
'?kibana-6':
'*':
- MANAGE
- INDEX
- READ
- DELETE

格式:

1
2
3
4
5
6
7
权限名称:
集群:
- 集群名称:权限
索引:
'索引名称':
'类型':
- 权限
3. 配置角色映射

文件: sg_roles_mapping.yml

配置完用户的账户密码, 以及相应角色权限之后, 需要将用户和权限进行关联, 关联之后即可使用

1
2
3
sg_trans_group:
backendroles:
- trans_group

格式:

1
2
3
映射名称:
角色:
- 用户的角色

也可以使用以下方式进行关联:

1
2
3
4
5
6
7
8
sg_trans_group:
users:
- zhangsan
- lisi
# 即
映射名称:
用户名称:
- 用户名
4. 使配置生效

使用以下命令

1
./sgadmin.sh -cn 集群名称 -cd ../sgconfig -ks ../../../config/sgadmin-keystore.jks -kspass changeit -ts ../../../config/truststore.jks -tspass changeit -nhnv