日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

配置OSS/OSS-HDFS開啟Ranger權(quán)限控制

Apache Ranger作為集中式權(quán)限管理框架,允許對(duì)Hadoop生態(tài)系統(tǒng)中的多個(gè)組件實(shí)施細(xì)粒度訪問(wèn)控制。本文介紹如何配置阿里云OSS或OSS-HDFS開啟Ranger權(quán)限控制。

前提條件

已創(chuàng)建EMR-5.15.0及之后版本,或者EMR-3.49.0及之后版本的DataLake或Custom集群,開啟了Kerberos身份認(rèn)證,并且選擇了Ranger和Ranger-plugin服務(wù),創(chuàng)建集群詳情請(qǐng)參見創(chuàng)建集群。

說(shuō)明

開啟Kerberos認(rèn)證后,無(wú)法關(guān)閉此功能,因此請(qǐng)謹(jǐn)慎選擇。在啟用Kerberos后,集群內(nèi)所有大數(shù)據(jù)組件的服務(wù)均需經(jīng)過(guò)Kerberos認(rèn)證,提交至集群的大數(shù)據(jù)作業(yè)也將首先進(jìn)行身份認(rèn)證。有關(guān)Kerberos的詳細(xì)信息,請(qǐng)參見Kerberos概述。

使用限制

該功能支持的集群版本如下:

  • EMR-5.15.0及后續(xù)版本

  • EMR-3.49.0及后續(xù)版本

OSS/OSS-HDFS集成Ranger

  1. 進(jìn)入集群服務(wù)頁(yè)面。

    1. 登錄E-MapReduce控制臺(tái)。

    2. 在EMR on ECS頁(yè)面,單擊目標(biāo)集群操作列的集群服務(wù)。

  2. Ranger啟用OSS/OSS-HDFS。

    1. 集群服務(wù)頁(yè)面,單擊Ranger-plugin服務(wù)區(qū)域的狀態(tài)。

    2. 服務(wù)概述區(qū)域,打開enableOSS開關(guān)。

    3. 在彈出的對(duì)話框中,單擊確定。

  3. 部署客戶端配置。

    1. 集群服務(wù)頁(yè)面,選擇more > HADOOP-COMMON。

    2. 單擊配置頁(yè)簽。

    3. 單擊部署客戶端配置

    4. 在彈出的對(duì)話框中,輸入執(zhí)行原因,單擊確定。

    5. 確認(rèn)對(duì)話框中,單擊確定

  4. 重啟HiveServer2。

    1. 集群服務(wù)頁(yè)面,選擇more > Hive。

    2. 單擊狀態(tài)頁(yè)簽。

    3. 組件列表區(qū)域,單擊HiveServer操作列的重啟。

    4. 在彈出的對(duì)話框中,輸入執(zhí)行原因,單擊確定。

    5. 確認(rèn)對(duì)話框中,單擊確定。

  5. 創(chuàng)建Principal。

    1. 通過(guò)SSH方式以root用戶身份連接到集群的Master節(jié)點(diǎn),詳情請(qǐng)參見登錄集群。

    2. 執(zhí)行如下命令,進(jìn)入Kerberos admin工具。

      kadmin.local
    3. 執(zhí)行如下命令,創(chuàng)建名為test的Principal。

      本示例密碼設(shè)置為123456。

      addprinc -pw 123456 test
      說(shuō)明

      需要記錄名稱和密碼,在創(chuàng)建TGT時(shí)會(huì)用到。如果希望避免手動(dòng)輸入名稱和密碼,則可以執(zhí)行以下命令,將Principal的認(rèn)證信息導(dǎo)出至keytab文件中。

      ktadd -k /root/test.keytab test
    4. 執(zhí)行quit命令,退出Kerberos admin工具。

  6. 創(chuàng)建TGT。

    1. 使用root用戶執(zhí)行以下命令,創(chuàng)建test用戶。

      useradd test
    2. 執(zhí)行以下命令,切換為test用戶。

      su - test
    3. 生成TGT。

      • 方式一:使用用戶名和密碼方式。

        執(zhí)行kinit命令,回車后輸入test的密碼123456。

      • 方式二:使用keytab文件。

        test.keytab文件已經(jīng)保存在Master節(jié)點(diǎn)的/root/目錄下,需要先使用cp /root/test.keytab /home/test/命令拷貝到當(dāng)前機(jī)器的/home/test/目錄下,再執(zhí)行以下命令創(chuàng)建TGT。

        kinit -kt /home/test/test.keytab test
    4. (可選)查看TGT。

      使用klist命令,返回如下信息。

      Ticket cache: FILE:/tmp/krb5cc_1025
      Default principal: test@EMR.C-24DF259BB32****.COM
      
      Valid starting       Expires              Service principal
      08/29/2024 18:19:14  08/30/2024 18:19:14  krbtgt/EMR.C-24DF259BB32****.COM@EMR.C-24DF259BB32****.COM
              renew until 09/05/2024 18:19:14

權(quán)限配置示例

本文以EMR-5.17.1版本操作為例,授予test用戶指定路徑的訪問(wèn)權(quán)限,其余版本請(qǐng)以實(shí)際界面為準(zhǔn)。

  1. 進(jìn)入Ranger UI頁(yè)面,詳情請(qǐng)參見訪問(wèn)Ranger UI

  2. 在Ranger UI頁(yè)面,單擊配置好的emr-oss

    image

  3. 創(chuàng)建新策略。

    1. 單擊右上角的Add New Policy

    2. Create Policy頁(yè)面,根據(jù)您的實(shí)際需求配置相關(guān)參數(shù)。

      參數(shù)

      描述

      Policy Name

      策略名稱,可以自定義。

      Resource Path

      OSS或OSS-HDFS的路徑。路徑無(wú)需oss://前綴,格式為<bucketname>/<path>。例如,本示例為bucket-test/user。

      重要
      • 路徑末尾無(wú)需帶正斜線(/)。

      • 禁止關(guān)閉recursive開關(guān)。

      recursive

      子目錄或文件是否集成權(quán)限。

      Select User

      指定添加此策略的用戶。本示例設(shè)置為test用戶。

      Permissions

      選擇授予的權(quán)限。

      本示例設(shè)置訪問(wèn)權(quán)限為ALL(Read、Write和Execute)。

    3. 單擊Add。

      添加Policy后,實(shí)現(xiàn)了對(duì)test用戶的授權(quán)。test用戶對(duì)配置的路徑擁有了Read、Write和Execute權(quán)限。

      說(shuō)明

      添加、刪除或修改Policy后,需要等待約一分鐘至授權(quán)生效。

  4. 訪問(wèn)OSS或OSS-HDFS。

    1. 通過(guò)SSH方式連接集群的Master節(jié)點(diǎn),詳情請(qǐng)參見登錄集群。

    2. 執(zhí)行以下命令,切換為本文示例創(chuàng)建的test用戶。

      su - test
    3. 執(zhí)行以下命令,訪問(wèn)OSS或OSS-HDFS目錄。

      • 訪問(wèn)OSS目錄。

        hadoop fs -ls oss://bucket-test/user
      • 訪問(wèn)OSS-HDFS目錄。

        hadoop fs -ls oss://bucket-test.cn-hangzhou.oss-dls.aliyuncs.com/user

        如果您訪問(wèn)Ranger未授權(quán)的路徑,將會(huì)提示以下錯(cuò)誤信息。

        org.apache.hadoop.security.AccessControlException: Permission denied: user=test, access=READ_EXECUTE, resourcePath="bucket-test/"