
創作人:齊樂
審稿人:吳斌
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 預設配置修改
創作人簡介:
齊樂,從事大資料開發工作近四年,主要方向為 ES,已認證 ECE 認證,近期在研究
Spark 和 Flink。 歡迎一起學習,一起讨論,共同進步。
部落格:
https://www.jianshu.com/u/cc7ee7454afc