您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關怎么進行Cloudera訪問授權,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
01
—
Cloudera訪問授權概述
授權是任何計算環境的基本安全要求之一。其目標是確保只有適當的人員或流程才能訪問,查看,使用,控制或更改特定的資源,服務或數據。在使用各種CDH組件(Hive,HDFS,Impala等)部署來滿足特定工作負載的任何集群中,不同的授權機制可以確保只有授權的用戶或進程才能根據需要訪問數據,系統和其他資源。理想情況下,授權機制可以利用身份驗證機制,以便當用戶登錄系統(例如集群)時,將根據他們在系統中對應用程序,數據和其他資源的授權,對他們進行透明授權。。
例如,可以將Cloudera CDH集群配置為利用組織的Active Directory(或其他LDAP可訪問目錄)實例中存在的用戶帳戶和組帳戶。
02
—
Hadoop中的授權機制
Hadoop支持多種授權機制,包括:
對文件和目錄的傳統POSIX樣式權限。每個目錄和文件都有一個具有基本權限的所有者和組,可以將其設置為讀取,寫入和執行(在文件級別)。目錄具有附加權限,該權限允許訪問子目錄。
訪問控制列表(ACL),用于管理服務和資源。例如,Apache HBase使用ACL來授權各種操作(讀,寫,創建,管理)(按列,列族和列族限定符)。將HBase ACL授予并撤消給用戶和組。可以使用Apache HDFS ACL將細粒度權限應用于HDFS文件,以設置特定命名用戶和命名組的權限。
Apache Ranger通過管理訪問控制,并確保跨集群服務進行一致的策略管理。
Apache Ranger還提供了一個集中式框架,用于收集訪問審核歷史記錄和報告數據,包括過濾各種參數。
在Hadoop集群上運行的大多數服務,例如命令行界面(CLI)或使用Hadoop API的客戶端應用程序,都可以直接訪問HDFS中存儲的數據。HDFS對目錄和文件使用POSIX樣式的權限;每個目錄和文件都分配有一個所有者和組。每個分配都有一組基本的可用權限。文件權限被讀取,寫入和執行,并且目錄具有附加權限來確定對子目錄的訪問。
給定HDFS資產的所有權和組成員資格確定用戶的特權。如果給定用戶未通過這些條件之一,則將拒絕他們訪問。對于可能嘗試訪問多個文件的服務(例如MapReduce,Cloudera Search等),將為每次文件訪問嘗試分別確定數據訪問。HDFS中的文件權限由NameNode管理。
除了每個服務內和HDFS中的數據外,Hadoop還為服務本身維護常規訪問控制。服務訪問控制列表(ACL)通常在全局hadoop-policy.xml文件中定義,范圍從NameNode訪問到客戶端到DataNode通信。在MapReduce和YARN的上下文中,用戶和組標識符構成確定作業提交或修改權限的基礎。
此外,借助MapReduce和YARN,可以使用由調度程序控制的隊列來提交作業,調度程序是組成集群內資源管理功能的組件之一。管理員使用ACL定義對各個隊列的權限。ACL也可以按工作定義。像HDFS權限一樣,本地用戶帳戶和組必須在每個執行服務器上都存在,否則,除超級用戶帳戶外,隊列將無法使用。
Apache HBase還使用ACL進行數據級授權。HBase ACL按列,列族和列族限定符授權各種操作(讀取,寫入,創建,管理)。HBase ACL被授予和撤銷給用戶和組。類似于HDFS權限,本地用戶帳戶是正確授權所必需的。
Apache ZooKeeper還維護對存儲在ZooKeeper數據樹的DataNodes中的信息的ACL。
03
—
與身份驗證機制的集成
像許多分布式系統一樣,Hadoop項目和工作負載通常由協同工作的一系列流程組成。在某些情況下,初始用戶流程會在整個工作負載或作業的整個生命周期中進行授權。但是對于產生其他流程的流程,授權可能會帶來挑戰。在這種情況下,將生成的進程設置為好像已通過身份驗證的用戶(即setuid)一樣執行,因此僅具有該用戶的特權。總體系統需要映射到已驗證的主體,并且該用戶帳戶必須在本地主機系統上存在才能使setuid成功。
重要
Cloudera強烈建議您不要使用Hadoop的 LdapGroupsMapping提供程序。LdapGroupsMapping僅應在無法進行OS級集成的情況下使用。生產集群需要一個身份提供程序,該身份提供程序必須能夠與所有應用程序(而不只是Hadoop)良好地配合使用。因此,通常首選的機制是使用SSSD,VAS或Centrify之類的工具來復制LDAP組。
Cloudera不支持在生產環境中使用Winbind。Winbind使用低效的方法來進行用戶/組映射,這可能會導致性能下降或集群故障,因為集群的大小以及用戶和組的數量會增加。
無論使用哪種機制,都必須在所有集群主機上一致地應用用戶/組映射,以便于維護。
系統和服務授權 -某些Hadoop服務僅限于服務之間的交互,并不打算供最終用戶訪問。這些服務確實支持身份驗證,以防止未經授權或惡意的用戶。但是,任何具有登錄憑據并可以向該服務進行身份驗證的用戶,或更通常是另一個服務,都有權執行目標服務允許的所有操作。例如,ZooKeeper(由YARN,Cloudera Search和HBase等內部系統使用)和Flume(由Hadoop管理員直接配置,因此不提供用戶控件)。
每當這些“系統”服務訪問其他服務(例如HDFS,HBase和MapReduce)時,都會對經過身份驗證的Kerberos主體進行檢查,因此必須授權使用這些資源。因此,Flume沒有明確的授權模型這一事實并不意味著Flume可以不受限制地訪問HDFS和其他服務。仍然必須對Flume服務主體進行HDFS文件系統特定位置的授權。Hadoop管理員可以為諸如Flume之類的服務建立單獨的系統用戶,以對特定Flume應用程序的文件系統的各個部分進行分段和施加訪問權限。
04
—
Hadoop項目中的授權
項目 | 授權能力 |
---|---|
HDFS | File Permissions, Ranger |
MapReduce | File Permissions, Ranger |
YARN | File Permissions, Ranger |
Accumulo | Ranger |
HBase | HBase ACLs, Ranger |
HiveServer2 | File Permissions, Ranger |
Hue | Hue authorization mechanisms (assigning permissions to Hue apps) |
Impala | Ranger |
Oozie | ACLs |
Pig | File Permissions |
Search | File Permissions |
Spark | File Permissions, Ranger |
Sqoop | N/A |
Sqoop2 | None |
ZooKeeper | ACLs |
Cloudera Manager | Cloudera Manager roles |
Backup and Disaster Recovery | N/A |
關于怎么進行Cloudera訪問授權就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。