Apache Sentry 初识
1、Apache Sentry是什么?
? ? ?一句話:提供了細粒度級、基于角色的授權以及多租戶的管理模式。
? ? ?對于Hadoop和Hive來說,引入Sentry提升數據安全是非常必要的。
2、Apache Sentry有什么作用?
? ? ?1)安全授權 :Sentry可以控制數據訪問,并對已通過驗證的用戶提供數據訪問特權。
? ? ?2)細粒度訪問控制 :Sentry支持細粒度的Hadoop數據和元數據訪問控制。Sentry在服務器、數據庫、表和視圖范圍提供了不同特權級別的訪問控制,包括查找、插入等,允許管理員使用視圖限制對行或列的訪問。管理員也可以通過Sentry和帶選擇語句的視圖或UDF,根據需要在文件內屏蔽數據。
? ? ?3)基于角色的管理 :Sentry通過基于角色的授權簡化了管理,將訪問同一數據集的不同特權級別授予多個組。
? ? ?4)多租戶管理 :Sentry允許為委派給不同管理員的不同數據集設置權限。Sentry可以在數據庫/schema級別進行權限管理。
? ? ?5)統一平臺 :Sentry為確保數據安全,提供了一個統一平臺,使用現有的Hadoop Kerberos實現安全認證。
? ? ?這里順提Hadoop Kerberos安全認證:解決了主機和用戶級的安全認證
? ? 1)解決服務器到服務器的認證
? ? ? ? ? ?由于kerberos對集群里的所有機器都分發了keytab,相互之間使用密鑰進行通信,確保不會冒充服務器的情況。集群中的機器就是它們所宣稱的,是可靠的。
? ? ? ? ? ?防止了用戶偽裝成Datanode,Tasktracker,去接受JobTracker,Namenode的任務指派。
? ? 2)解決client到服務器的認證
? ? ? ? ? Kerberos對可信任的客戶端提供認證,確保他們可以執行作業的相關操作。防止用戶惡意冒充client提交作業的情況。
? ? ? ? ? 用戶無法偽裝成其他用戶入侵到一個HDFS 或者MapReduce集群上
? ? ? ? ? 用戶即使知道datanode的相關信息,也無法讀取HDFS上的數據
? ? ? ? ? 用戶無法發送對于作業的操作到JobTracker上
3、Apache Sentry怎么組成呢?
? ? ?
? ? ? ?1)Sentry Server: The Sentry RPC server manages the authorization metadata. It supports interface to securely retrieve and manipulate the metadata;
? ? ? ? ? ? ?主腦,管理著認證元數據。
? ? ? ? 2)Data Engine: This is a data processing application such as Hive or Impala that needs to authorize access to data or metadata resources. The data engine loads the Sentry plugin and all client requests for accessing resources are intercepted and routed to the Sentry plugin for validation;
? ? ? ? ? ? ? ?引擎,驗證訪問權限。 ??
? ? ? ? 3)Sentry Plugin: The Sentry plugin runs in the data engine. It offers interfaces to manipulate authorization metadata stored in the Sentry server, and includes the authorization policy engine that evaluates access requests using the authorization metadata retrieved from the server.
? ? ? ? ? ? ? ? 集成接口。
4、Apache Sentry的關鍵概念
? ? ? 1)Authentication - Verifying credentials to reliably identify a user
? ? ? 2)Authorization - Limiting the user’s access to a given resource
? ? ? 3)User - Individual identified by underlying authentication system
? ? ?4)Group - A set of users, maintained by the authentication system
? ? ?5)Privilege - An instruction or rule that allows access to an object
? ? ?6)Role - A set of privileges; a template to combine multiple access rules
? ? ?7)Authorization models - Defines the objects to be subject to authorization rules and the granularity of actions allowed. For example, in the SQL model, the objects can be databases or tables, and the actions are SELECT, INSERT, CREATE and so on. For the Search model, the objects are indexes, collections and documents; the access modes are query, update and so on.
5、Apache Sentry和Hadoop生態的集成
? ??
? ? ?具體不一一擴展。
6、Apache Sentry部署
? ? ?由于環境暫不具備,后續部署后單獨發文說明。
? ? ?參考:http://www.360doc.com/content/16/1026/09/37466175_601432990.shtml
官網:http://sentry.apache.org/
總結
以上是生活随笔為你收集整理的Apache Sentry 初识的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (转载)详解Hive配置Kerberos
- 下一篇: 机器学习知识点(二十四)隐马尔可夫模型H