权限功能

更新时间:
复制为 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. 在左侧导航栏,选择集群服务
  2. 进入namespace服务配置。

    1. 单击配置页签。

    2. 单击namespace

      namespace_smartdata

  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

    如果用户对某一个文件没有权限,将返回如下错误信息。error

启用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。

      Ranger UI

    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