注:Elasticsearch 和 Kibana 使用版本为 7.2.0,其它版本暂未测试过
免费版的 ES 的默认配置中没有权限控制,需要手动开启
启动 ES 中的安全设置
打开 ES 的配置文件
vi elasticsearch/config/elasticsearch.yml
添加配置
xpack.security.enabled: true
xpack.security.authc.accept_default_password: false
添加单节点发现模式
discovery.type: single-node
设置密码
输入
elasticsearch/bin/elasticsearch-setup-passwords interactive
按照提示输入密码
给用户配置权限
例如先创建一个对"events"开头的 index 拥有所有权限的角色 events_admin,并可以在 Kibana 中作图和做报表,然后将用户名加入该角色即可
curl -XPOST -u elastic 'localhost:9200/_security/role/events_admin' -H "Content-Type: application/json" -d '{
"indices" : [
{
"names" : [ "events*" ],
"privileges" : [ "all" ]
},
{
"names" : [ ".kibana*" ],
"privileges" : [ "manage", "read", "index" ]
}
]
}'
curl -XPOST -u elastic 'localhost:9200/_security/user/your_name' -H "Content-Type: application/json" -d '{
"password" : "userpassword",
"full_name" : "Full Name",
"email" : "fullname@anony.mous",
"roles" : [ "events_admin" ]
}'
配置 Kibana
打开 Kibana 配置文件
vi kibana/config/kibana.yml
添加下列配置,配置密码,以及一个任意的长度在 32 以上的字符串
elasticsearch.username: "kibana"
elasticsearch.password: "kibanapassword"
xpack.security.encryptionKey: "something_at_least_32_characters"
在 Kibana 中配置权限
重新启动 Kibana,看到登录界面
输入账户名密码登录,进入 Kibana 后在左边工具栏点击 Management
然后可以在 Security 下配置账户