作者:齊樂
Space 功能介紹
Space 功能可以將 Kibana 劃分為多個工作空間,並基於權限控制使不同的用戶看到不同的工作空間。空間可管理的對象包含 Dashboards 等可視化內容以及 Kibana 自帶的標籤頁功能如 Dev 和 Monitoring 等。
Space 功能默認自動開啟,且會自動創建 Default 空間,當創建了其他空間之後,登錄 Kibana 時會要求你選擇工作空間。如果想要關閉 Space 功能,只需將 kibana.yml 配置文件中的xpack.spaces.enabled 設置為 false 即可。
Space 實現原理
Space 的權限控制由 Elasticsearch 的 Security 模塊提供的 Application privileges 實現。此功能對 Elasticsearch 存儲的數據無任何權限控制,是專門為其他自定義應用程序,存儲其權限在 Elasticsearch 的 Role 中而設置。主要包含三部分結構:
- application:表示應用程序名稱,Space 權限命名為 kibana-.kibana。
- privileges:表示權限,Space 細分為各個小功能的三種權限:ALL、READ 和 NONE。
- resources:表示權限應用範圍,Space 用於區分空間。
示例如下圖所示:通過 GET _security/role/a 命令獲取 Role a 的權限,擁有此 Role 的用戶具有 A 空間的部分權限和 B 空間的全部權限。
圖1 Role 中存儲的 Space 權限
負責管理 Space 功能的管理員用戶,需要賦予 kibana_admin 角色的權限,其設置如下圖所示:
圖2 kibana_admin 的權限
Space 操作實踐
Space 的創建、修改和刪除
通過 Kibana 界面的 Stack Management >> Kibana >> Spaces 標籤頁進行相關操作
圖3 Space 管理界面
創建或修改 Space 信息包含如下內容:
- Space 基本信息:包含名字、URL 地址信息(切換 Space 工作空間會修改 Kibana 的 URL地址為對應 Space,一旦設置不可修改)、描述信息(可為空)和頭像照片。
圖4 Space基本信息
- Space 功能可見性:控制當前 Space 空間中 Kibana 各個功能標籤頁的可見性,可以將其隱藏以防止用戶使用,如果想禁用需要控制 Role 權限實現。
圖5 Space 功能可見性
需要注意的是刪除 Space 會同時刪除空間內存儲的工作對象。
設置角色的 Space 權限
通過 Kibana 界面的 Stack Management >> Security >> Roles 標籤頁進行相關操作
此標籤頁除了可以設置 Role 的 Elasticsearch 相關權限 ( cluster / index 等)外,還可以設置 Kibana 的 Space 權限。如上文所述,其信息存在 Role 的 Application 之中, 且可以為不同的 Space 設置不同的權限如下圖所示
圖6 Role 中的多個 Space
具體 Space 權限設置如圖8所示:可以直接設置全部權限為 All 或者 Read ,也可以使用自定義方式設置每個小功能獨立權限。
圖7 Role 中 Space 權限設置
管理並分享 Spaces 之間的工作對象
通過 Kibana 界面的 Stack Management >> Kibana >> Saved Objects 標籤頁進行相關操作
Space 功能的目的就是將 Kibana 的工作對象分到不同空間,所以多個 Spaces 之間的對象複製是必不可少的操作,具體操作如下圖:選擇對象的 Copy to space 選項,然後選擇要複製到的目的 Space 。
圖8 選擇要遷移的對象
圖9 選擇遷移的目的空間
並且還可以將工作對象導出到文件,用於批量遷移工作對象到其他 Space 或者遷移到其他的 Kibana 實例。具體操作如下圖:選擇要導出的對象,然後點擊 Export 導出到文件;切換 Space 或者在其他 Kibana 實例中通過 Import 可以導入文件存儲的 Kibana 工作對象。
圖10 選擇要導出的工作對象
圖11 Import 選擇文件進行對象導入
Space 自定義配置
通過 Kibana 界面的 Stack Management >> Kibana >> Advanced Settings 標籤頁進行相關操作
我們可以修改一些 Kibana 的默認配置,但大部分配置只應用於當前 Space。例如可以修改進入 Space 的初始路由界面:從默認 Home 界面修改為 Dashboards 界面:
圖12 Space 默認配置修改