讓 KIBANA 使用者可以匯出 CSV 並下載
Kibana 匯出報表功能預設使用舊版角色 reporting_user 控管,權限較粗略。
本文介紹如何啟用新版權限 feature_reporting.generate,讓報表匯出權限更細緻可控。
建立測試資料
首先,我們先在 Elasticsearch 匯入一筆測試資料,這個步驟只是為了有資料可以測試下載,隨便寫些甚麼都好:
1 | POST /test-export-csv/_doc |
關閉舊版 Reporting 權限機制
在 kibana.yml
中新增以下設定:
1 | xpack.reporting.roles.enabled: false |
若使用 Docker Compose,可以在 docker-compose.yml
中加入環境變數:
1 | kibana: |
這樣設定之後,便可以使用 自訂角色與功能權限(如 feature_reporting.generate
) 來細節控管使用者是否能夠產生報表。
測試流程與結果
本地 POC 測試流程如下:
新增一個角色,並給予以下權限:
- Discover:all
- Dashboard:all
- Canvas:all
- Visualize:all
新增使用者並套用該角色,登入後可以看到 Stack Management 出現。
在 Discover 頁面,可以使用「Generate CSV」產生報表:
進入 Stack Management > Reporting,可看到剛剛產生的 CSV 報表,點右側 Icon 可下載: