許可權功能

更新時間:
Copy as MD

本文介紹JindoFSnamespace的儲存模式(BlockCache)支援的檔案系統許可權功能。Block模式和Cache模式不支援切換。

背景資訊

根據您namespace的儲存模式,JindoFS支援的系統許可權如下:

  • 當您namespace的儲存模式是Block模式時,支援UnixRanger許可權。

    • Unix許可權:您可以設定檔案的777許可權,以及OwnerGroup。

    • Ranger許可權:您可以執行複雜或進階操作。例如使用路徑萬用字元。

  • 當您namespace的儲存模式是Cache模式時,僅支援Ranger許可權。

    您可以執行複雜或進階操作。例如使用路徑萬用字元。

JindoFS許可權

啟用JindoFS Unix許可權

  1. 進入SmartData服務。
    1. 登入阿里雲E-MapReduce控制台
    2. 在頂部功能表列處,根據實際情況選擇地區和資源群組
    3. 單擊上方的集群管理頁簽。
    4. 集群管理頁面,單擊相應叢集所在行的详情
    5. 在左側導覽列,選擇集群服务 > SmartData
  2. 進入namespace服務配置。

    1. 單擊配置頁簽。

    2. 單擊 namespace

  3. 單擊自定义配置,在新增配置项對話方塊中,設定Keyjfs.namespaces.<namespace>.permission.methodValueunix,單擊确定

  4. 儲存配置。

    1. 單擊右上方的保存

    2. 确认修改對話方塊中,輸入執行原因,開啟自動更新配置

    3. 單擊确定

  5. 重啟配置。

    1. 單擊右上方的操作 > 重啟 Jindo Namespace Service

    2. 輸入執行原因,單擊确定

    開啟檔案系統許可權後,使用方式跟HDFS一樣。支援以下命令。

    hadoop fs -chmod 777 jfs://{namespace_name}/dir1/file1
    hadoop fs -chown john:staff jfs://{namespace_name}/dir1/file1

    如果使用者對某一個檔案沒有許可權,將返回如下錯誤資訊。

    [root@emr-header-1 ~]# hadoop fs -ls jfs://test/user/
    ls: java.security.AccessControlException: Permission denied. Server Exception

啟用JindoFS Ranger許可權

您可以在Apache Ranger組件上配置使用者權限,在JindoFS上開啟Ranger外掛程式後,就可以在Ranger上對JindoFS許可權(和其它組件許可權)進行一站式管理。

  1. 添加Ranger。

    1. namespace頁簽,單擊自定义配置

    2. 新增配置项對話方塊中,設定Keyjfs.namespaces.<namespace>.permission.methodValueranger

    3. 儲存配置。

      1. 單擊右上方的保存

      2. 确认修改對話方塊中,輸入執行原因,開啟自動更新配置

      3. 單擊确定

    4. 重啟配置。

      1. 單擊右上方的操作 > 重啟 Jindo Namespace Service

      2. 輸入執行原因,單擊确定

  2. 配置Ranger。

    1. 進入Ranger UI頁面。

      詳情請參見概述

    2. Ranger UI添加HDFS service。

      Access Manager > Service Manager 頁面,找到 HDFS 面板,單擊右上方的 + 按鈕。

    3. 配置相關參數。

      參數

      描述

      Service Name

      固定格式:jfs-{namespace_name}。

      例如:jfs-test。

      Username

      自訂。

      Password

      自訂。

      Namenode URL

      輸入jfs://{namespace_name}/

      Authorization Enabled

      使用預設值No。

      Authentication Type

      使用預設值Simple。

      dfs.datanode.kerberos.principal

      不填寫。

      dfs.namenode.kerberos.principal

      dfs.secondary.namenode.kerberos.principal

      Add New Configurations

    4. 單擊Add

啟用JindoFS Ranger許可權+LDAP使用者組

如果您在Ranger UserSync上開啟了從LDAP同步處理的使用者組資訊的功能,則JindoFS也需要修改相應的配置,以擷取LDAP的使用者組資訊,從而對目前使用者組進行Ranger許可權的校正。

  1. namespace頁簽,單擊自定义配置

  2. 新增配置项對話方塊中,參見以下樣本設定參數來配置LDAP,單擊确定

    以下配置項請遵循開源HDFS內容,詳情請參見core-default.xml

    參數

    樣本

    hadoop.security.group.mapping

    org.apache.hadoop.security.CompositeGroupsMapping

    hadoop.security.group.mapping.providers

    shell4services,ad4users

    hadoop.security.group.mapping.providers.combined

    true

    hadoop.security.group.mapping.provider.shell4services

    org.apache.hadoop.security.ShellBasedUnixGroupsMapping

    hadoop.security.group.mapping.provider.ad4users

    org.apache.hadoop.security.LdapGroupsMapping

    hadoop.security.group.mapping.ldap.url

    ldap://emr-header-1:10389

    hadoop.security.group.mapping.ldap.search.filter.user

    (&(objectClass=person)(uid={0}))

    hadoop.security.group.mapping.ldap.search.filter.group

    (objectClass=groupOfNames)

    hadoop.security.group.mapping.ldap.base

    o=emr

  3. 儲存配置。

    1. 單擊右上方的保存

    2. 确认修改對話方塊中,輸入執行原因,開啟自動更新配置

    3. 單擊确定

  4. 重啟配置。

    1. 單擊右上方的操作 > 重啟 All Components

    2. 輸入執行原因,單擊确定

  5. 通過SSH登入emr-header-1節點,配置Ranger UserSync並啟用LDAP選項。

    詳情請參見Ranger Usersync整合LDAP