是否可以在HDFS的文件级上进行用户访问控制?目前,每个人都可以在点击像http://<domain>/webhdfs/v1/xxx.txt?op=OPEN
这样的链接时访问数据。
我是否可以设置某些人组,而他们只能访问某些文件或目录?这样做的目的是,不让其他人访问不属于他们的文件。
如果不能在HDFS上设置,有什么建议吗?
发布于 2018-11-19 09:52:00
当安全设置为off时,通过身份验证的用户是在user.name查询参数中指定的用户名。如果未设置user.name参数,服务器可能会将经过身份验证的用户设置为默认web用户(如果有),或者返回错误响应。
启用安全性后,将通过Hadoop委派令牌或Kerberos SPNEGO执行身份验证。如果在委派查询参数中设置了令牌,则通过身份验证的用户是在令牌中编码的用户。如果未设置委派参数,则由Kerberos SPNEGO对用户进行身份验证。
下面是使用curl命令工具的示例。
安全关闭时的身份验证:
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?[user.name=<USER>&]op=..."
安全开启时使用Kerberos SPNEGO进行身份验证:
curl -i --negotiate -u : "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?op=..."
安全开启时使用Hadoop委派令牌进行身份验证:
curl -i "http://<HOST>:<PORT>/webhdfs/v1/<PATH>?delegation=<TOKEN>&op=..."
参考:https://hadoop.apache.org/docs/r2.9.0/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Authentication
https://stackoverflow.com/questions/53370469
复制