許可權功能
本文介紹JindoFS的namespace的儲存模式(Block或Cache)支援的檔案系統許可權功能。Block模式和Cache模式不支援切換。
背景資訊
根據您namespace的儲存模式,JindoFS支援的系統許可權如下:
-
當您namespace的儲存模式是Block模式時,支援Unix和Ranger許可權。
-
Unix許可權:您可以設定檔案的777許可權,以及Owner和Group。
-
Ranger許可權:您可以執行複雜或進階操作。例如使用路徑萬用字元。
-
-
當您namespace的儲存模式是Cache模式時,僅支援Ranger許可權。
您可以執行複雜或進階操作。例如使用路徑萬用字元。

啟用JindoFS Unix許可權
- 進入SmartData服務。
- 登入阿里雲E-MapReduce控制台。
- 在頂部功能表列處,根據實際情況選擇地區和資源群組。
- 單擊上方的集群管理頁簽。
- 在集群管理頁面,單擊相應叢集所在行的详情。
- 在左側導覽列,選擇。
- 登入阿里雲E-MapReduce控制台。
-
進入namespace服務配置。
-
單擊配置頁簽。
-
單擊 namespace 。
-
-
單擊自定义配置,在新增配置项對話方塊中,設定Key為jfs.namespaces.<namespace>.permission.method,Value為unix,單擊确定。
-
儲存配置。
-
單擊右上方的保存。
-
在确认修改對話方塊中,輸入執行原因,開啟自動更新配置。
-
單擊确定。
-
-
重啟配置。
-
單擊右上方的。
-
輸入執行原因,單擊确定。
開啟檔案系統許可權後,使用方式跟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許可權(和其它組件許可權)進行一站式管理。
-
添加Ranger。
-
在namespace頁簽,單擊自定义配置。
-
在新增配置项對話方塊中,設定Key為jfs.namespaces.<namespace>.permission.method,Value為ranger。
-
儲存配置。
-
單擊右上方的保存。
-
在确认修改對話方塊中,輸入執行原因,開啟自動更新配置。
-
單擊确定。
-
-
重啟配置。
-
單擊右上方的。
-
輸入執行原因,單擊确定。
-
-
-
配置Ranger。
-
進入Ranger UI頁面。
詳情請參見概述。
-
Ranger UI添加HDFS service。
在 Access Manager > Service Manager 頁面,找到 HDFS 面板,單擊右上方的 + 按鈕。
-
配置相關參數。
參數
描述
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
-
單擊Add。
-
啟用JindoFS Ranger許可權+LDAP使用者組
如果您在Ranger UserSync上開啟了從LDAP同步處理的使用者組資訊的功能,則JindoFS也需要修改相應的配置,以擷取LDAP的使用者組資訊,從而對目前使用者組進行Ranger許可權的校正。
-
在namespace頁簽,單擊自定义配置。
-
在新增配置项對話方塊中,參見以下樣本設定參數來配置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
-
儲存配置。
-
單擊右上方的保存。
-
在确认修改對話方塊中,輸入執行原因,開啟自動更新配置。
-
單擊确定。
-
-
重啟配置。
-
單擊右上方的。
-
輸入執行原因,單擊确定。
-
-
通過SSH登入emr-header-1節點,配置Ranger UserSync並啟用LDAP選項。
詳情請參見Ranger Usersync整合LDAP。