Apache Ranger 是一個用在 Hadoop 平臺上並提供操做、監控、管理綜合數據安全的框架。Ranger 的願景是在 Apache Hadoop 生態系統中提供全面的安全性。 目前,Apache Ranger 支持如下 Apache 項目的細粒度受權和審計:安全
Apache Hadoop架構
Apache Hiveapp
Apache HBase框架
Apache Stormide
Apache Knoxoop
Apache Solrspa
Apache Kafka插件
YARNorm
對於上面那些受支持的 Hadoop 組件,Ranger 經過訪問控制策略提供了一種標準的受權方法。做爲標準,Ranger提供了一種集中式的組件,用於審計用戶的訪問行爲和管理組件間的安全交互行爲。blog
Ranger 使用了一種基於屬性的方法定義和強制實施安全策略。當與 Apache Hadoop 的數據治理解決方案和元數據倉儲組件Apache Atlas一塊兒使用時,它能夠定義一種基於標籤的安全服務,經過使用標籤對文件和數據資產進行分類,並控制用戶和用戶組對一系列標籤的訪問。
Ranger 的整體架構以下圖所示,主要由如下三個組件構成:
AdminServer: 以RESTFUL形式提供策略的增刪改查接口,同時內置一個Web管理頁面。
AgentPlugin: 嵌入到各系統執行流程中,按期從AdminServer拉取策略,根據策略執行訪問決策樹,而且按期記錄訪問審計。插件的實現原理將在後文詳細介紹。
UserSync: 按期從LDAP/File中加載用戶,上報給AdminServer。
整個過程以下: