JuiceFS v1.3-Beta2:集成 Apache Ranger,实现更精细化的权限控制
在大数据场景中,文件系统和应用组件的权限管理至关重要。在最新发布的 JuiceFS 社区版 v1.3-Beta 2 中,JuiceFS 引入了与 Apache Ranger 的集成,提供了更为灵活和细粒度的权限控制解决方案。
本文将介绍 JuiceFS 社区版如何与 Apache Ranger 进行集成,并探讨其权限管理的实现方式。该功能由多点 DMALL 数据平台团队李铭贡献,特此感谢她对社区的贡献。
01 JuiceFS 文件系统权限管理概述
JuiceFS 作为一个 POSIX 文件系统,其权限管理方式与本地文件系统类似。每个文件或目录都通过用户和用户组进行管理。具体来说:
用户和用户组管理:每个文件或目录都有一个所属用户和用户组。这些用户和用户组的信息存储在 JuiceFS 的元数据中,通常以 UID(用户 ID)和 GID(组 ID)的形式存储,而不是直接存储用户名或组名。由于不同机器上相同的 UID 可能对应不同的用户名,因此在使用 JuiceFS 时,通常需要确保所有节点上的 UID/GID 与用户名的映射关系保持一致。
ACL(访问控制列表):除了基本的用户和用户组权限管理外,JuiceFS 还支持 ACL。ACL 允许用户为特定文件或目录设置更为细粒度的权限。例如,可以直接为某个用户赋予对某个文件的读写权限,而不需要将该用户添加到文件所属的用户组中。
02 JuiceFS 与 Apache Ranger 的集成
为了方便用户以细粒度的方式管理文件权限,并通过 web ui 集中管理。JuiceFS 选择支持 Hadoop 生态系统常用的 Apache Ranger。
Apache Ranger 简介
Apache Ranger 是一个用于 Hadoop 生态系统的集中式安全管理框架,提供了对 HDFS、Hive、HBase 等组件的细粒度权限控制。Ranger 通过 Web 界面进行策略管理,并将这些策略存储在数据库中。HDFS NameNode 等组件通过 Ranger 的插件定期拉取策略,并在内存中进行权限校验。

JuiceFS 与 Ranger 的集成架构
JuiceFS 社区版与 Apache Ranger 的集成主要依赖于 Ranger 的插件机制。由于 JuiceFS 社区版没有服务端,所有的权限校验逻辑都在客户端完成。具体架构如下:

Ranger 插件:JuiceFS 客户端中集成了 Ranger 插件,该插件负责从 Ranger 服务端拉取权限策略,并在本地进行权限校验。
策略同步:为了避免多个 JuiceFS 客户端同时从 Ranger 服务端拉取策略导致 Ranger Admin 压力过大,JuiceFS 采用了一种优化策略:只有一个客户端会定期从 Ranger 服务端拉取策略,并将其写入 JuiceFS 的某个目录中。其他客户端则直接从 JuiceFS 文件系统中读取策略,从而减少对 Ranger 服务端的压力。
权限校验流程:当用户访问某个目录或文件时,JuiceFS 客户端首先会检查 Ranger 策略中是否对该目录或文件有明确的权限设置。如果有明确的允许或拒绝规则,则按照规则执行;如果没有明确规则,则回退到 POSIX 的权限管理机制(即基于 UID/GID 的权限校验)。

配置步骤
配置也比较简单,通过 JuiceFS 命令行增加如下配置
# format 的时候指定 ranger 配置
juicefs format META-URL NAME --ranger-rest-url http://localhost:6080 --ranger-service jfs
# 已有的文件系统增加 ranger 配置
juicefs config META-URL --ranger-rest-url http://localhost:6080 --ranger-service jfs
Ranger 服务地址:指定 Ranger 服务端的地址,JuiceFS 客户端将通过该地址与Ranger服务端通信。
Ranger 服务名称:指定 Ranger 中对应的服务名称,JuiceFS 客户端将根据该名称拉取相应的权限策略。
注意事项
日志管理:JuiceFS 社区版的权限校验逻辑在客户端完成,且客户端数量可能非常多,目前不支持审计日志。
安全性: 由于权限校验逻辑在客户端执行且代码开源,权限校验的强制性相对较弱。用户可以通过修改代码或其他手段绕过权限校验。因此,在实际使用中,需要通过管理措施来确保权限控制的有效性。
仅 Java 客户端支持:目前,Ranger 的客户端代码是基于Java 的,因此 JuiceFS 与 Ranger 的集成主要适用于 Hadoop SDK 。
03 总结
JuiceFS 社区版与 Apache Ranger 的集成为大数据环境下的文件系统权限管理提供了一种灵活且细粒度的解决方案。通过 Ranger 的集中式策略管理,用户可以方便地为 JuiceFS 中的文件和目录设置访问控制规则。JuiceFS 与 Ranger 的集成能够为大数据平台提供强有力的安全保障。
JuiceFS v1.3-Beta2:集成 Apache Ranger,实现更精细化的权限控制的更多相关文章
- Apache Ranger对HDFS的访问权限控制的原理分析(一)
介绍 Aapche Ranger是以插件的形式集成到HDFS中,由Ranger Admin管理访问策略,Ranger插件定期轮询Admin更新策略到本地,并根据策略信息进行用户访问权限的判定.Rang ...
- JuiceFS v1.0.0 Beta1 发布,加强数据安全能力
在 JuiceFS 开源一周年之际,我们迎来了首个里程碑版本 JuiceFS v1.0.0 Beta1,并将开源许可从 AGPL v3 修改为 Apache License 2.0. JuiceFS ...
- JuiceFS v1.0 beta3 发布,支持 etcd、Amazon MemoryDB、Redis Cluster
JuiceFS v1.0 beta3 在元数据引擎方面继续增强,新增 etcd 支持小于 200 万文件的使用场景,相比 Redis 可以提供更好的可用性和安全性.同时支持了 Amazon Memor ...
- apache ranger源码编译
官方文档 http://ranger.apache.org/quick_start_guide.html Quick Start Guide Build Process 1. Check out th ...
- 大数据权限管理工具 Apache Ranger 初识
资料参考: Apache Ranger – Introduction http://ranger.apache.org/ 阿里云 Ranger简介 Apache Ranger初识 - 阿里云 大数据权 ...
- CentOS7集成Apache和SVN
本文主要介绍如何在CentOS7环境下集成Apache和SVN,完成后可以通过浏览器访问SVN仓库. 1.查看系统环境,关闭防火墙和SELinux. [root@Docker /]# systemct ...
- Apache ranger整合hive报错记录
版本信息如下: hadoop2.9.2 hive 2.x ranger 最新版2.1.0 在hive端部署完ranger 插件以后,在使用beeline连接查询数据库时报错,报错信息如下: verbo ...
- Apache Ranger && HDFS
Apache Ranger && HDFS 标签(空格分隔): Hadoop HDFS HDFS对于任何Hadoop大数据平台来说都是核心组成部分,为了加强对Hadoop平台的数据保护 ...
- 【】Apache Ranger剖析:Hadoop生态圈的安全管家
前言 2016年,Hadoop迎来了自己十周岁生日.过去的十年,Hadoop雄霸武林盟主之位,号令天下,引领大数据技术生态不断发展壮大,一时间百家争鸣,百花齐放.然而,兄弟多了不好管,为了抢占企业级市 ...
- Apache Ranger 编译安装部署
1. 概述 Apache Ranger是大数据领域的一个集中式安全管理框架,目的是通过制定策略(policies)实现对Hadoop组件的集中式安全管理.用户可以通过Ranger实现对集群中数据的安全 ...
随机推荐
- dockerfile 由于公钥不可用,无法验证以下签名
报错 当我在打包 docker镜像时,发生了报错 $ sudo docker build -t dcgm-exporter:3.2.5 . 1.772 The following signatures ...
- go errors转string
前言 在 Go 中如果声明了两个字符相同的错误,但命名是新的变量,此时两个错误不相等 package main import ( "errors" "fmt" ...
- 基于OpenSSL的密码管理系统-应用密码学课程报告
第1章 概要设计 1.1 设计目的 本研究旨在设计并实现一个基于OpenSSL的密码管理系统,该系统具备密钥对的生成.密钥上传.密钥的核对.身份认证.文件与邮件的加密和解密.数字签名及数字证书管理等常 ...
- pve节点频繁宕机问题排查
1.时间: 我是大概20220521日上午11:03分收到这个事情开始跟进: 再这之前一直是其他同事在处理,由于最近比较忙,没有安排的事情基本也都没有深入跟进,只是知道个大概. 2.问题现象: q ...
- Windows下安装使用OpenLDAP
LDAP:(轻量级目录访问协议,Lightweight Directory Access Protocol)它是基于 X.500标准的,但是简单多了并且可以根据需要定制.与X.500不同,LDAP支持 ...
- Pydantic字段元数据指南:从基础到企业级文档增强
title: Pydantic字段元数据指南:从基础到企业级文档增强 date: 2025/3/28 updated: 2025/3/28 author: cmdragon excerpt: 通过Py ...
- 万字长文详解Text-to-SQL
什么是Text-to-SQL 在各个企业数据量暴涨的现在,Text-to-SQL越来越重要了,所以今天就来聊聊Text-to-SQL. Text-to-SQL是一种将自然语言查询转换为数据库查询的技术 ...
- el-tree 动态图标
举个栗子 https://jsfiddle.net/taadis/x9crjsum/ https://jsrun.net/MYXKp - 上面看不了的,可以看这个...
- 浅谈Ubuntu中的软件包
1. 前言 还记得大学第一次接触Ubuntu和Linux的时候,觉得用apt安装想要的软件非常方便.但是有时候出现了问题,各种报错,自己又不懂原理,就会非常抓狂.现在稍微理解一点了,故以较为容易理解的 ...
- Golang高性能引擎:ZKmall开源商城支撑百万级日活交易流畅运行
在电商业务高并发.低延迟的严苛场景下,技术栈的选择直接决定系统上限.ZKmall开源商城基于Golang技术生态,以协程级并发.毫秒级响应为核心优势,为百万级日活电商平台提供高性能解决方案.本文从架构 ...