最近在學習hadoop security方面的內容,但注意了,本文今天不是介紹kerberos認證機制的。今天分享乙個service level的認證機制,可以說它是一種預先認證行為,比我們常說的hdfs許可權驗證等等都要更早一些。一句話簡單地來講,它是service/service,service/client之間建立連線時候的認證。ok,下面筆者來簡單聊聊這套認證體系。
這裡所提到的service級別認證的概念來自於hadoop專案中早期實現的乙個功能。這套認證模式的初衷是為了做初始的連線驗證,保證客戶端與服務端的連線是正確的,客戶端是被認證過有效的,合法的。然後服務端才允許後面的訊息通訊。
注意這裡有乙個很大的不同點,這裡區分出了「協議」,通訊「協議」在這裡代表的是不同端到端的連線(在hdfs裡,可能nn/dn,nn/普通client)。也就是說不同協議間的通訊連線可以有不同的認證規則,然後可以定義不同的允許訪問的使用者和位址列表。
這裡不介紹service級別認證的具體實現,簡單闡述它的一些粗略實現。根據上小節提到的認證模式,過程主要如下:
1)管理員定義好具體協議的使用者組,ip位址列表白/黑名單。
2)服務端載入上面配置好的規則資訊。
3)客戶端發起連線時,將當前的協議,位址,使用者資訊,附加到connection裡面。
4)服務端監聽到客戶端的連線請求,從連線資訊中反解析出協議,位址,使用者資訊,與之前載入過的規則資訊做比較,判斷是否合法。如果不合法,斷開此次連線。
下面是部分協議規則資訊的配置檔案樣例:
配置名含義
security.client.protocol.acl
acl for clientprotocol, which is used by user code via the distributedfilesystem.
security.client.datanode.protocol.acl
acl for clientdatanodeprotocol, the client-to-datanode protocol for block recovery.
security.datanode.protocol.acl
acl for datanodeprotocol, which is used by datanodes to communicate with the namenode.
[1].
[2].
hadoop 基於Streaming實現的編譯
hadoop入門教程 基於streaming實現的編譯,在streaming介面實現的程式中,使用者的map和reduce都是單獨的可執行程式,在上節實現中是使用c 實現的,包括map程式wordcountmap.cpp,reduce程式wordcountreduce.cpp。由於寫streamin...
基於hadoop的BI架構
bi系統,是企業利用資料驅動運營的乙個典型系統。bi系統通過發掘企業執行過程中的資料,發現企業的潛在風險 為企業的各項決策提供資料支撐。傳統的bi系統通常構建於關係型資料庫之上。隨著企業業務量的增大和對使用者行為實時提取分析的需要越來越高,傳統的bi架構對實時性的分析和大資料量的分析已經無法滿足,新...
Hadoop基於SLA許可權認證
在core site.xml中配置以下屬性 hadoop.security.authorization true 配置hadoop policy.xml 引數格式 使用者名稱與使用者組之間用空格分開 使用者使用者之間用 tom,cat super,no 屬性說明 security.client.pr...