本文介紹JindoFS的Block模式支持的文件系統(tǒng)權(quán)限功能,包括Unix權(quán)限和Ranger權(quán)限兩種。

背景信息

您可以在Apache Ranger組件上配置用戶權(quán)限,在JindoFS上開啟Ranger插件后,就可以在Ranger上對JindoFS權(quán)限(和其它組件權(quán)限)進行一站式管理。JindoFS權(quán)限
Block模式支持Unix權(quán)限和Ranger權(quán)限兩種文件系統(tǒng)權(quán)限功能:
  • Unix權(quán)限:可以使用文件的777權(quán)限。
  • Ranger權(quán)限:可以使用Ranger路徑通配符等高級配置。

啟用JindoFS Unix權(quán)限

  1. 進入SmartData服務(wù)。
    1. 登錄阿里云E-MapReduce控制臺
    2. 在頂部菜單欄處,根據(jù)實際情況選擇地域(Region)和資源組
    3. 單擊上方的集群管理頁簽。
    4. 集群管理頁面,單擊相應(yīng)集群所在行的詳情
    5. 在左側(cè)導(dǎo)航欄單擊集群服務(wù) > SmartData
  2. 進入namespace服務(wù)配置。
    1. 單擊配置頁簽。
    2. 單擊namespace
      namespace
  3. 單擊自定義配置,在新增配置項對話框中,設(shè)置Keyjfs.namespaces.<namespace>.permission.methodValueunix,單擊確定
  4. 保存配置。
    1. 單擊右上角的保存
    2. 確認修改對話框中,輸入執(zhí)行原因,開啟自動更新配置
    3. 單擊確定
  5. 重啟配置。
    1. 單擊右上角的操作 > 重啟 Jindo Namespace Service
    2. 輸入執(zhí)行原因,單擊確定
    開啟文件系統(tǒng)權(quán)限后,使用方式跟HDFS一樣。支持以下命令。
    hadoop fs -chmod 777 jfs://{namespace_name}/dir1/file1
    hadoop fs -chown john:staff jfs://{namespace_name}/dir1/file1
    如果用戶對某一個文件沒有權(quán)限,將返回如下錯誤信息。error

啟用JindoFS Ranger權(quán)限

  1. 添加Ranger。
    1. namespace頁簽,單擊自定義配置
    2. 新增配置項對話框中,設(shè)置Keyjfs.namespaces.<namespace>.permission.methodValueranger
    3. 保存配置。
      1. 單擊右上角的保存
      2. 確認修改對話框中,輸入執(zhí)行原因,開啟自動更新配置
      3. 單擊確定
    4. 重啟配置。
      1. 單擊右上角的操作 > 重啟 Jindo Namespace Service
      2. 輸入執(zhí)行原因,單擊確定
  2. 配置Ranger。
    1. 進入Ranger UI頁面。
      詳情請參見概述
    2. Ranger UI添加HDFS service。
      Ranger UI
    3. 配置相關(guān)參數(shù)。
      參數(shù) 說明
      Service Name jfs-{namespace_name}。
      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權(quán)限+LDAP用戶組

如果您在Ranger UserSync上開啟了從LDAP同步用戶組信息的功能,則JindoFS也需要修改相應(yīng)的配置,才能獲取LDAP的用戶組信息,從而對當前用戶組進行Ranger權(quán)限的校驗。

  1. namespace頁簽,單擊自定義配置
  2. 新增配置項對話框中,設(shè)置以下參數(shù)配置LDAP,單擊確定
    參數(shù) 示例
    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
    說明 配置項請遵循開源HDFS內(nèi)容。
  3. 保存配置。
    1. 單擊右上角的保存
    2. 確認修改對話框中,輸入執(zhí)行原因,開啟自動更新配置
    3. 單擊確定
  4. 重啟配置。
    1. 單擊右上角的操作 > 重啟 All Components
    2. 輸入執(zhí)行原因,單擊確定。
  5. 通過SSH登錄emr-header-1節(jié)點,配置Ranger UserSync并啟用LDAP選項。
    詳情請參見Ranger Usersync集成LDAP