溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Ranger Hive-HDFS ACL同步的示例分析

發(fā)布時(shí)間:2021-12-09 11:13:21 來(lái)源:億速云 閱讀:267 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)Ranger Hive-HDFS ACL同步的示例分析的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。


Ranger Hive-HDFS ACL同步概述

Ranger資源映射服務(wù)器(Resource Mapping Server:RMS)可以將訪問(wèn)策略從Hive自動(dòng)轉(zhuǎn)換為HDFS。


關(guān)于Hive-HDFS ACL同步

舊版CDH用戶使用Apache Sentry中的Hive策略,該策略自動(dòng)將Hive權(quán)限與HDFS ACL鏈接在一起。這對(duì)于Spark或Hive使用的外部表數(shù)據(jù)特別方便。

以前,Ranger僅支持分別管理Hive策略和HDFS策略?,F(xiàn)在使用Ranger RMS,您可以使用為Hive表定義的策略來(lái)授權(quán)對(duì)HDFS目錄和文件的訪問(wèn)。RMS是啟用Hive-HDFS ACL同步的服務(wù)。

RMS會(huì)定期連接到Hive Metastore,并將Hive元數(shù)據(jù)(數(shù)據(jù)庫(kù)名稱、表名)提取到HDFS的文件名映射。Ranger HDFS插件(在NameNode中運(yùn)行)已通過(guò)附加的HivePolicyEnforcer模塊進(jìn)行了擴(kuò)展。HDFS插件從Ranger Admin下載Hive策略,并從Ranger RMS下載映射。HDFS訪問(wèn)由HDFS策略和Hive策略共同決定。

Ranger Hive-HDFS ACL同步的示例分析

Ranger Hive-HDFS ACL同步的示例分析

Ranger RMS的假設(shè)和限制

  • 假定表的所有分區(qū)都在為表指定的位置下。因此,表的權(quán)限將不會(huì)授權(quán)訪問(wèn)將數(shù)據(jù)存儲(chǔ)在表指定位置之外的分區(qū)。例如,如果一個(gè)表位于HDFS目錄/warehouse/foo中,則該表的所有分區(qū)必須具有該/warehouse/foo目錄下的位置 。

  • 部署CDP私有云基礎(chǔ)版群集時(shí),不會(huì)自動(dòng)設(shè)置Ranger RMS服務(wù)。您必須分別安裝和配置Ranger RMS。

  • 在啟動(dòng)RMS并從Hive Metastore(HMS)運(yùn)行第一次同步之前,應(yīng)該先配置Ranger策略(具有rangerrms 用戶訪問(wèn)權(quán)限)。

  • Ranger RMS ACL同步功能支持單個(gè)邏輯HMS,以評(píng)估通過(guò)Hive權(quán)限訪問(wèn)HDFS。這與CDH中的Sentry實(shí)現(xiàn)邏輯保持一致。

  • 視圖(傳統(tǒng)視圖和物化視圖)上授予的權(quán)限不會(huì)擴(kuò)展到HDFS訪問(wèn)。這與CDH中的Sentry實(shí)現(xiàn)保持一致。

  • 如果私有云基礎(chǔ)版部署通過(guò)單個(gè)Ranger支持多個(gè)邏輯HMS,則Ranger ACL同步僅適用于其中一個(gè)邏輯HMS。在其他邏輯HMS實(shí)例中對(duì)數(shù)據(jù)庫(kù)/表授予的權(quán)限將不被視為授權(quán)HDFS訪問(wèn)。

Ranger Hive-HDFS ACL同步的示例分析

與Sentry HDFS ACL同步的比較

RMS ACL同步功能類似于Sentry HDFS ACL同步功能,它下載并跟蹤Hive表到HDFS位置映射的方式。

它與Sentry的不同之處在于,它完全透明地支持Ranger策略代表的所有功能。因此,此實(shí)現(xiàn)包括對(duì)基于標(biāo)記的策略、安全區(qū)域、掩碼和行過(guò)濾以及審核日志記錄的支持。

此外,通過(guò)在HDFS端進(jìn)行簡(jiǎn)單配置即可啟用或禁用此功能,從而使每個(gè)安裝都可以選擇打開(kāi)或關(guān)閉此功能。

原文鏈接:https://docs.cloudera.com/cdp-private-cloud-base/7.1.5/security-ranger-rms-configuring-and-using/topics/security-ranger-rms-overview.html

Ranger Hive-HDFS ACL同步的示例分析

配置Hive-HDFS ACL同步的高可用性

使用以下步驟為Ranger資源映射服務(wù)器(RMS)和Hive-HDFS ACL Sync配置高可用性。

  1. 在Cloudera Manager中,選擇“ Ranger RMS”,然后選擇“操作”>“添加角色實(shí)例”。

Ranger Hive-HDFS ACL同步的示例分析

  1. 在“添加角色實(shí)例”頁(yè)面上,單擊“選擇主機(jī)”。

Ranger Hive-HDFS ACL同步的示例分析

  1. 在“所選主機(jī)”頁(yè)面上,選擇備份Ranger RMS主機(jī)。所選主機(jī)的“添加的角色”列中將顯示“ Ranger RM(RR)”圖標(biāo)。單擊確定繼續(xù)。

Ranger Hive-HDFS ACL同步的示例分析

  1. 新的備份主機(jī)將重新顯示“添加角色實(shí)例”頁(yè)面。點(diǎn)擊 繼續(xù)

Ranger Hive-HDFS ACL同步的示例分析

  1. 在“查看更改”頁(yè)面上查看設(shè)置,然后單擊“繼續(xù)”。

Ranger Hive-HDFS ACL同步的示例分析

  1. 新角色實(shí)例將顯示在“ Ranger RMS”頁(yè)面上。

Ranger Hive-HDFS ACL同步的示例分析

  1. 在Cloudera Manager中,選擇Ranger RMS,然后單擊Configuration。

    1. 選擇“ Ranger RMS服務(wù)器高可用性”復(fù)選框。在“ Ranger RMS服務(wù)器ID”框中,為每個(gè)RMS服務(wù)器添加以逗號(hào)分隔的ID列表。

Ranger Hive-HDFS ACL同步的示例分析

    1. 使用Ranger-rms-conf / ranger-rms-site.xml屬性的Ranger RMS服務(wù)器高級(jí)配置代碼片段(安全閥)的添加(+)圖標(biāo)可為每個(gè)RMS主機(jī)及其相應(yīng)的服務(wù)器ID添加條目。

  • ranger-rms.server.address.id1 = <用于ID1的RMS服務(wù)器的主機(jī)名>:8383

  • ranger-rms.server.address.id2 = <用于ID2的RMS服務(wù)器的主機(jī)名>:8383

注意

如果啟用了SSL,請(qǐng)使用端口8484。

Ranger Hive-HDFS ACL同步的示例分析

  1. 點(diǎn)擊保存更改,然后點(diǎn)擊重新啟動(dòng)圖標(biāo)。

  2. 在Stale Configurations頁(yè)面上,單擊Restart Stale Services。

  3. 在“重新啟動(dòng)舊服務(wù)”頁(yè)面上,選中“重新部署客戶端配置”復(fù)選框,然后單擊“立即重新啟動(dòng)”

  4. 重新啟動(dòng)服務(wù)時(shí),將顯示進(jìn)度指示器頁(yè)面。服務(wù)重新啟動(dòng)后,單擊完成。

原文鏈接:https://docs.cloudera.com/cdp-private-cloud-base/7.1.5/security-ranger-rms-configuring-and-using/topics/security-ranger-rms-configure-ha.html

Ranger Hive-HDFS ACL同步的示例分析

配置Hive-HDFS ACL同步

安裝后應(yīng)完全配置Ranger資源映射服務(wù)器(RMS)。本主題提供有關(guān)RMS配置設(shè)置和工作流的更多信息。

重要配置信息

  • Ranger RMS通過(guò)Ranger Hive策略啟用HDFS訪問(wèn)。必須使用HDFS的名稱和Hive服務(wù)(AKA Repos)來(lái)配置Ranger RMS。在您的安裝中,可能為HDFS和Hive創(chuàng)建了多個(gè)Ranger服務(wù)。這些可以從Ranger Admin Web UI中看到。RMS ACL同步旨在用于特定的一對(duì)HDFS和Hive Ranger服務(wù)。因此,在安裝Ranger RMS之前識(shí)別這些服務(wù)名稱很重要。這些名稱應(yīng)在Ranger RMS的安裝過(guò)程中進(jìn)行配置。Ranger HDFS服務(wù)名稱的默認(rèn)值為cm_hdfs,而Ranger Hive服務(wù)的默認(rèn)名稱為cm_hive。

  • 在開(kāi)始Ranger RMS安裝之前,請(qǐng)確保上面安裝中標(biāo)識(shí)的Hive服務(wù)允許rangerrms用戶 select默認(rèn)訪問(wèn)所有數(shù)據(jù)庫(kù)以及Hive服務(wù)的所有安全區(qū)域中的所有表。

  • 默認(rèn)情況下,Ranger RMS僅跟蹤Hive中的外部表。要將Ranger RMS配置為也跟蹤托管的Hive表,請(qǐng)將以下配置設(shè)置添加到Ranger RMS。

ranger-rms.HMS.map.managed.tables=true

  • 在Cloudera Manager中,為ranger-hdfs-security.xml選擇HDFS>配置> HDFS服務(wù)高級(jí)配置代碼段(安全閥),然后確認(rèn)以下設(shè)置:

ranger.plugin.hdfs.chained.services = cm_hive

ranger.plugin.hdfs.chained.services.cm_hive.impl = org.apache.ranger.chainedplugin.hdfs.hive.RangerHdfsHiveChainedPlugin

注意

如果啟動(dòng)Ranger RMS并與Hive Metastore同步后更改了這些配置中的任何一個(gè),則讓Ranger RMS使用新配置的唯一方法是執(zhí)行以下步驟:

  1. 停止Ranger RMS。

  2. 登錄到Ranger RMS數(shù)據(jù)庫(kù),然后運(yùn)行delete from x_rms_mapping_provider;以從該表中刪除唯一的行。

  3. 啟動(dòng)Ranger RMS。

重新啟動(dòng)后,Ranger RMS將重新同步Hive Metastore中的所有數(shù)據(jù)。這可能會(huì)花費(fèi)大量時(shí)間,具體取決于Hive Metastore中Hive表的數(shù)量。

Ranger Hive-HDFS ACL同步的示例分析

了解Ranger的RMS策略

在較高級(jí)別上,Ranger RMS工作流程如下:

  • 將評(píng)估HDFS服務(wù)的Ranger策略。如果任何策略明確拒絕訪問(wèn),則拒絕訪問(wèn)。

  • Ranger檢查以查看所訪問(wèn)的位置是否映射到Hive表。

  • 如果是,則會(huì)為映射的Hive表評(píng)估Hive策略。如果存在允許訪問(wèn)的HDFS策略,則允許訪問(wèn)。否則,默認(rèn)的HDFS ACL確定訪問(wèn)。

  • 請(qǐng)求的HDFS權(quán)限映射到Hive權(quán)限,如下所示:

HDFS ‘read’ ==> Hive ‘select’HDFS ‘write’ ==> Hive ‘update’ or ‘a(chǎn)lter’HDFS ‘execute’ ==> 任何Hive權(quán)限
  • 如果沒(méi)有明確允許訪問(wèn)映射表的Hive策略,則拒絕訪問(wèn),否則允許訪問(wèn)。

在HDFS訪問(wèn)評(píng)估期間以及在Hive訪問(wèn)評(píng)估階段(如果需要)都考慮了適當(dāng)?shù)臉?biāo)記策略。同樣,將生成一個(gè)或多個(gè)日志記錄,以指示由哪個(gè)策略(如果有)做出訪問(wèn)決定。

以下方案說(shuō)明了如何確定訪問(wèn)權(quán)限。所有方案都假定Ranger HDFS策略未明確拒絕訪問(wèn)HDFS位置。

  • 位置與Hive表不對(duì)應(yīng)。

    • 在這種情況下,僅當(dāng)Ranger HDFS策略允許訪問(wèn)或HDFS 原生ACL允許訪問(wèn)時(shí),才授予訪問(wèn)權(quán)限。審核日志將顯示哪個(gè)策略(或Hadoop-acl)做出了決定。

  • 位置對(duì)應(yīng)于一個(gè)Hive表。

    • 對(duì)于從原始HDFS請(qǐng)求派生的任何訪問(wèn),Ranger Hive策略均明確拒絕訪問(wèn)映射表。Hive政策將拒絕訪問(wèn)。

    • 沒(méi)有匹配的Ranger Hive策略。

    • 訪問(wèn)將被拒絕。審核日志將不指定策略。

    • 游標(biāo)策略會(huì)屏蔽映射表中的某些列。

    • 訪問(wèn)將被拒絕。審核日志將顯示Hive屏蔽策略。

    • 映射的Hive表具有行過(guò)濾器策略

    • 訪問(wèn)將被拒絕。審核日志將顯示Hive行過(guò)濾器策略。

    • Ranger Hive策略允許訪問(wèn)映射表,以進(jìn)行從原始HDFS訪問(wèn)請(qǐng)求派生的訪問(wèn)。

    • 訪問(wèn)將被授予。如果訪問(wèn)最初是由HDFS策略授予的,則審核日志將顯示HDFS策略。

感謝各位的閱讀!關(guān)于“Ranger Hive-HDFS ACL同步的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI