JuiceFS v1.2-beta1,Gateway 升级,多用户场景权限管理更灵活

JuiceFS v1.2-beta1 今天正式发布。在这个版本中,除了进行了大量使用体验优化和 bug 修复外,新增三个特性:

  1. Gateway 功能扩展:新增了“身份和访问管理(Identity and Access Management,IAM)” 与 “事件通知” ,为用户提供更安全、灵活和自动化的数据管理和监控能力,适用于多用户环境和复杂的业务场景;

  2. 支持 POSIX ACL:使用 Linux 自带的 ACL 工具(setfacl/getfacl)即可实现更加强大的用户权限管理;

  3. 支持平滑升级:在相同的挂载点再次挂载 JuiceFS 即可实现业务无感的平滑升级;此外,这种方式也可用来在线调整挂载参数。

本次版本更新,共有 41 名贡献者参与,合入 354 次代码。感谢每位贡献者的付出!

在近期的博客中,我们将逐一为大家介绍这些特性的原理及应用。

01 JuiceFS Gateway 简介

JuiceFS 将文件分块存储到底层的对象存储中,向用户提供 POSIX 接口访问 JuiceFS 中的文件。当用户需要同时用 S3 兼容接口访问文件时,就需要用 JuiceFS Gateway。

tu

在本次 JuiceFS 1.2-beta1 版本中,我们对 Gateway 功能新增了两项备受期待的模块:

  1. 身份和访问管理(IAM):支持多用户的管理和访问控制,支持匿名访问控制;

  2. 事件通知:可以使用桶事件通知来监控桶中对象发生的事件。

02 实现

JuiceFS Gateway 的核心服务是将 POSIX 文件系统通过 S3 接口对外提供访问。在 v1.2 版本以前,我们的实现方式是将 MinIO Gateway 模块集成到我们的代码中,当时该模块是基于 Apache 许可证的版本。这种集成方式使得 JuiceFS 的运行机制与 MinIO 的原生命令 minio gateway NAS 相似。对于用户来说,JuiceFS 可被视为 MinIO Gateway 的一种实现方式。此外,MinIO 的其他后端实现还包括 NAS、Hadoop 等。

在 v1.2 版本中,我们直接实现了 MinIO object 接口 ,并将 JuiceFS 作为其服务的后端存储。这样做让用户获得了近乎原生 MinIO 体验,并继承了 MinIO 许多高级功能。JuiceFS 在这里充当了 MinIO 服务器命令的一块本地盘,整体的原理类似于 minio server /data1

用户可以使用 MinIO 的 mc 工具直接管理 Juicefs Gateway。由于 MinIO 目前是遵循 AGPL 许可证进行发布的,而 JuiceFS 是使用的是其 Apache 许可证的版本,因此我们建议使用与之相匹配的 Apache 许可版本的 mc工具,以避免潜在的兼容性问题,可以点击这里下载。

本次新增的两个模块的使用方法基本与 MinIO 相应模块的使用方法基本一致,用户可参考 MinIO 相关文档或 JuiceFS 文档来了解详细信息。接下来,我们将简要介绍这些新功能及其使用方法。

03 新增功能

身份和访问管理

用户管理

juicefs gateway 允许使用 mc admin user add 添加新的用户。添加的用户可以使用 mc admin user 进行管理,支持添加,关闭,启用,删除用户,也支持查看所有用户以及展示用户信息和查看用户的策略。

服务账户

允许为某个用户添加服务账户,每个服务账户都与用户身份相关联,并继承附加到其父用户或父用户所属组的策略。每个访问密钥还支持可选的内联策略,可进一步限制对父用户可用的操作和资源子集的访问。具体使用 mc admin user svcacct 命令来进行服务账户的管理。

AssumeRole 安全令牌服务

AssumeRole 会返回一组临时安全凭证,用户可以使用这些凭证访问 Gateway 资源。AssumeRole 需要现有 Gateway 用户的授权凭据,返回的临时安全凭证包括访问密钥、秘密密钥和安全令牌。应用程序可以使用这些临时安全凭证对 Gateway API 操作进行签名调用。应用于这些临时凭据的策略继承自 Gateway 用户凭据。具体使用方法请参考使用文档。

权限管理

默认新创建的用户是没有任何权限的,需要使用 mc admin policy 为其赋权后才可使用。该命令支持权限的增删改查以及为用户添加删除更新权限操作。另外 gateway 还内置了以下 4 种常用的策略。

  • readonly:只读用户
  • readwrite:可读写用户
  • writeonly:只写用户
  • consoleAdmin:可读可写可管理,可管理指可以调用管理 API,比如创建用户等等。如需设置自定义的策略,可以使用 mc admin policy add 添加。
用户组管理

JuiceFS Gateway 支持创建用户组,类似于 Linux 用户组的概念,使用 mc admin group 管理。你可以把一个或者多个用户设置为一个组,然后为组统一赋权。

匿名访问管理
以上是针对有用户记录的管理,但是有时我们希望特定的对象或桶可以被任何人访问,这时就需要匿名访问管理了,这部分功能使用 mc policy 命令管理。Gateway 默认内置了 4 种匿名权限:

  • none: 不允许匿名访问(一般用来清除已有的权限)
  • download:允许任何人读取
  • upload:允许任何人写入
  • public:允许任何人读写

桶事件通知

有时用户需要根据桶上发生的事件来触发一些行为,这时就需要桶时间通知该功能了。存储桶事件通知可以用来监视存储桶中对象上发生的事件。

目前支持的对象事件类型有:

  • s3:ObjectCreated:Put
  • s3:ObjectCreated:CompleteMultipartUpload
  • s3:ObjectAccessed:Head
  • s3:ObjectCreated:Post
  • s3:ObjectRemoved:Delete
  • s3:ObjectCreated:Copy
  • s3:ObjectAccessed:Get

支持的全局事件有:

  • s3:BucketCreated
  • s3:BucketRemoved

可以使用 mc 客户端工具通过 event 子命令设置和监听事件通知。MinIO 发送的用于发布事件的通知消息是JSON 格式的,JSON 结构参考这里。

目前存储桶事件可以支持发布到以下目标:

  • Redis
  • MySQL
  • PostgreSQL
  • WebHooks

具体用法请参考使用文档。

其他功能

  1. 支持对象标签(object-tagging) 允许用户为对象设置自定义标签,可以使用 mc tag 进行管理

  2. 后台运行 支持 gateway 以后台模式运行,在启动时添加 -d 参数即可

👆👆以上是 JuiceFS 1.2-beta1 Gateway 新功能的介绍,欢迎大家下载试用:https://github.com/juicedata/juicefs/releases/tag/v1.2.0-beta1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/598315.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

泛型编程四:栈、堆,内存管理

文章目录 前言一、栈、堆栈(Stack)堆(Heap) 二、static生命期三、heap生命期四、new、delete的作用机制五、动态分配的内存(in VC)如图,第一列为调试模式下的复数的内存分配,复数有两…

电子合同:纸质合同的未来替代者?

随着科技的迅猛发展,电子合同作为一种新兴的合同形式,逐渐在各行各业中崭露头角。那么,电子合同是否会替代纸质合同,成为未来合同形式的主流呢?本文将就此话题展开探讨。 首先,我们来看电子合同的优势。电…

cookie没有携带的问题

背景: build-model应用在hcs迁移的时候,前、后端各自部署了一个新应用,但是调试时候发现没有cookie,导致鉴权失败! 注: 后端通过cookie中的token做鉴权的,前端调用接口的时候,查看&…

SPD1179 电路设计---汽车电机控制设计

概述 SPD1179 是旋智针对汽车应用推出的一颗高度集成的片上系统(SOC) 微控制器,内置 32 位高性能 ARMCortex-M4F 内核,最高 100MHz 的软件可编程时钟频率, 32KB SRAM, 128KB 嵌入式 FLASH, 1KB …

04-18 周四 为LLM_inference项目配置GitHub CI过程记录

04-18 周四 为LLM_inference项目配置GitHub CI过程记录 时间版本修改人描述2024年4月18日10:30:13V0.1宋全恒新建文档 简介和相关文档 04-15 周一 GitHub仓库CI服务器配置过程文档actions-runner 是托管与GitHub上的仓库,下载最新的客户端程序即可。self hosted r…

多C段的美国站群服务器有什么用途?

多C段的美国站群服务器有什么用途? 多C段的美国站群服务器是一种常见的网络运营策略,其用途主要体现在以下几个方面: 多C段的美国站群服务器有什么用途? 1. 提高站点排名和流量 部署多个站点在不同的C段IP地址上,可以通过不同的IP地址发布…

BGP协议应用:SW1、SW2、SW3、RT1、RT2之间运行BGP协议

8.SW1、SW2、SW3、RT1、RT2之间运行BGP协议,SW1、SW2、RT1 AS号65001、RT2 AS号65002、SW3 AS号65003。 (1)SW1、SW2、SW3、RT1、RT2之间通过Loopback1建立IPv4 BGP邻居。SW1和SW2之间财务通过Loopback2建立IPv4 BGP邻居,SW1和SW2的Loopback2互通采用静态路由。 (2)SW1…

运行一个jar包

目录 传送门前言一、Window环境二、Linux环境1、第一步:环境配置好,安装好jdk2、第二步:打包jar包并上传到Linux服务器3、第三步:运行jar包 三、docker环境1、Linux下安装docker和docker compose2、Dockerfile方式一运行jar包2.1、…

优思学院|HR部门如何制定公司的精益六西格玛培训计划?

在许多企业中,精益六西格玛作为一种提升效率和质量的重要方法论,越来越受到重视。HR部门在推广和实施精益六西格玛培训计划中其实也扮演着关键角色。以下是HR部门可以采取的几个步骤,以有效地制定和实施这样的培训计划。 1. 需求分析 首先&…

人工智能学习+Python的优势

1.人工智能的发展阶段 1.1 强人工智能: 1.2 弱人工智能: 2.符号学习 符号学习的本质就是:规定好的逻辑和顺序,根据这个模板告诉机器接下来需要做什么,遵循if...then原则——>缺点:不能根据新的场景…

本地主机访问服务器的Redis -- 配置 ssh 端口转发

前言 在进行Java开发时,高度的依赖 Windows 上的开发软件 idea ,那么我们想访问位于服务器上的 redis 怎么办呢?在平时我们想访问位于服务器上的程序,只需要开放它的端口即可,比如我们创建的网站,比如 tomc…

Go通过CRUD实现学生管理系统

虽然这个项目没有什么含金量,但是可以熟悉go的语法和go开发项目的一般流程 项目结构 项目实现了五个功能: (1)增加一个学生 (2)删除一个学生 (3)修改一个学生的信息 (4&#xf…

基于微信小程序的图书馆预约系统的设计与实现

个人介绍 hello hello~ ,这里是 code袁~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 🦁作者简介:一名喜欢分享和记录学习的…

【一起深度学习吧!!!!!】24/05/03

卷积层里的多输入输出通道 1、 多输入通道:代码演示: 多输出通道:代码实现: 1、 多输入通道: 当输入包含多个通道时,需要构造一个输入通道与之相等的卷积核,以便进行数据互相关计算。 例如李沐…

责任链模式和观察者模式

1、责任链模式 1.1 概述 在现实生活中,常常会出现这样的事例:一个请求有多个对象可以处理,但每个对象的处理条件或权限不同。例如,公司员工请假,可批假的领导有部门负责人、副总经理、总经理等,但每个领导…

XMall-Front:基于Vue.js的XMall商城前台页面的开发实践

XMall-Front:基于Vue.js的XMall商城前台页面的开发实践 摘要 随着电子商务的蓬勃发展,用户体验逐渐成为决定电商平台成功与否的关键因素。作为XMall商城项目的一部分,XMall-Front是基于Vue.js的前端页面开发,其目标是为用户提供…

《深入解析WIndows操作系统》第10章读书笔记

1、大页面和小页面:虚拟地址空间被划分成以页面为单位,这是因为硬件内存管理单元在页面的粒度上,将虚拟地址转译为物理地址。Windows支持两种页面尺寸:大页面和小页面,根据处理器体系结构不同,实际尺寸值有…

HAL PWM 配置 占空比 频率 stm32 学习笔记

title: HALPWM配置占空比频率 tags: STM32ClionHal 1.STM32CubeMX学习笔记(13)——PWM输出(呼吸灯)使用 2.STM32标准库HAL库 | 高精度动态调节PWM输出频率占空比 看你cubemx 里面的配置时钟频率是多少 参照第二篇文章描述修改 下面俩个参数就行 uin…

SAP生产订单常用状态以及

常用系统状态: 状态 状态 CRTD 已建立 REL 已核发 CNF 已确认 PCNF 已部份确认 DLV 已交货 DLT 删除指示码 LKD 已锁住 TECO 技术完成 GMPS 已发料 关闭 关闭 工单结案前的生产报表分析 路径:后勤系统- 生产- 现场控制- 信息系统-订单信息系…

NFS共享存储服务配置实践

一、NFS 1.NFS定义 NFS(Network File System)网络文件服务:基于TCP/IP传输的网络文件系统协议,NFS服务的实现依赖于RPC(Remote Process Call)远端过程调用:通过使用NFS协议,客户机…