文章轉載自:https://elasticstack.blog.csdn.net/article/details/118152293
有一個很好的 Dashboard,我們想分析這個 Dashboard 給沒有訪問權限的人進行查看。當然這種也使用大屏幕 Canvas 可視化。我們可以讓一個實時動態的 Canvas 給大眾訪問。在這種情況下,我們必須使用一種匿名的訪問方式才能完成。
安裝
首先,我們先要安裝 Elasticsearch 及 Kibana。還需要給 Elasticsearch 及 Kibana 配置好安全。這樣當我們訪問 Elasticsearch 或者 Kibana 的時候,我們需要輸入用戶名及密碼。
創建一個 Space
在這里,我們希望創建一個完全不同於 Default 的一個 Space。在這個 Space 里,我們只能展示可視化的部分和一些基本的管理部分。打開 Kibana:
如上所示,我們在 Analytics 的部分值啟動了 Dashboard。為了下面的操作方便,我同時也啟動了 Management。我們在完成我們的目的過后,可以把這個也去掉。點擊上面的 Create space 按鈕。
在上面的瀏覽器的 url 中,我們可以看到一個以 /app 為起始的字符串。我們把這個字符串拷貝下來。針對我的情況是:
/app/dashboards#/view/edf84fe0-e1a0-11e7-b6d5-4dc382ef7f5b?_g=(filters:!())&_a=(description:'Analyze%20mock%20web%20traffic%20log%20data%20for%20Elastic!'s%20website',filters:!(),fullScreenMode:!f,options:(hidePanelTitles:!f,useMargins:!t),query:(language:kuery,query:''),tags:!(),timeRestore:!t,title:'%5BLogs%5D%20Web%20Traffic',viewMode:view)
重新回到 Stack Management/Advanced settings 頁面:
從上面,我們可以看到每當這個 visualization space 被打開的時候,這個 Dashboard 就會自動被打開。
創建 role
接下來創建一個叫做 kibana_data_analyst 的 role。當然我們必須切回到 Default 的 space 下來完成這個工作。在進行下面的操作之前,我們也必須仿照之前在 visualization_only space 下加載 kibana_sample_data_logs 索引一樣的方法來進行加載。給這個角色配置命令空間權限。
創建一個用戶
在上面我們已經創建了一個叫做 kibana_data_analyst 的 role。如果沒有一個用戶使用這個 role,上面的 role 是沒有任何意義的。我們點擊 Stack Management/Users 來創建一個 user:
在上面,我們創建一個叫做 kibana-dashboard-only-user 的用戶,並設置它的密碼為 password。點擊上面的 Create user 按鈕,這樣,我們就創建了一個叫做 kibana-dashboard-only-user 的用戶。
匿名登錄 Kibana
將使用剛才已經被創建好的 kibana-dashboard-only-user 用戶匿名來登錄 Kibana。這樣當一個用戶訪問我們的 Kibana 時,它會自動登錄,並展示我們想要的 Dashboard 頁面。我們先停下 Kibana 的運行,並在 Kibana 的配置中做如下的修改:
config/kibana.yml
xpack.security.authc.providers:
anonymous.anonymous1:
order: 1
credentials:
username: "kibana-dashboard-only-user"
password: "password"
等修改完后,我們重新啟動 Kibana,並同時訪問我們的 Kibana 地址 http://localhost:5601。這個時候,我們可以看到如下的畫面:
顯然這個就是我們之前想要的畫面。雖然我們的 Elasticsearch 及 Kibana 都設置有用戶名和密碼,但是我們還是可以在不使用用戶名及密碼的情況下訪問 Kibana 的部分資源。上面的應用場景針對一些實時事件展示,或者一些大屏幕數據展示都是非常用的,盡管訪問者可以不需要使用任何的登錄。