1 介紹
ELK日志管理屬於基礎設施平台,接入多個應用系統是正常現象,如果接入多個系統的索引文件沒有進行權限划分,那么很大程度會出現索引文件誤處理現象,為了避免這種情況發生,多用戶及權限設置必不可少。
通過Filebeat采集應用日志,發送到redis(或者kafka),通過在filebeat.yml中設置fields.log_type
屬性來確定是哪個應用生成的日志文件,然后在logstash中針對不同的fields.log_type發往elasticsearch時創建不同的索引文件。
針對不同用戶只能查看各自系統的索引文件.
前提條件:已對ElasticSearch集群配置TLS加密通信及身份驗證功能,否則kibana界面在Management下面的Kibana最后不會出現Security
只有出現這個Security才能繼續下面的步驟
2 步驟
- 創建第一個應用系統app1index-log 角色,選擇對應的索引文件,分配對應的權限read
在Management下面的Kibana最后出現一個Security,有User和Role點擊Role,
注意:若是在這一步中的Run As Privileges中選中角色kibana_user,則在創建用戶的時候就不用再選擇kibana_user角色了
輸入角色名(Role name):app1index-log
選擇權限(Privileges):read
選擇查看的索引(Indices):secure-*
然后點擊最后的Creat role
- 創建第二個系統app2index-log角色,選擇對應的索引文件,分配對應的權限read
在Management下面的Kibana最后出現一個Security,有User和Role,點擊Role,
注意:若是在這一步中的Run As Privileges中選中角色kibana_user,則在創建用戶的時候就不用再選擇kibana_user角色了
輸入角色名(Role name):app2index-log
選擇權限(Privileges):read
選擇查看的索引(Indices):message-*
然后點擊最后的Creat role
- 創建兩個用戶app1index/app1index(用戶名/密碼),app2index/app2index, 然后分配對應系統角色和kibana_user角色
在Management下面的Kibana最后出現一個Security,有User和Role,點擊User
右上角有Creat User
輸入用戶賬號,密碼,重復密碼,用戶全名,郵箱,選擇用戶角色
app1index用戶角色為app1index-log和kibana_user
app2index用戶角色為app2index-log和kibana_user
分別添加后可以在用戶列表中查看到效果
- 用戶創建完后,可以進行登錄驗證
登錄app1index用戶,只能在logs中查詢app1的索引日志
雖然app1index用戶可以看到其他的索引index-pattern, 但是無法查詢到數據。所以保證了其他系統索引文件的安全。
登錄app2index用戶,只能在logs中查詢app2index 索引日志,其他索引無法查詢到數據。
app2index 用戶選擇其他未分配權限的索引,無法查詢到數據。