跳到主要内容

· 阅读需 2 分钟

悦库企业网盘5.6.5版本发布了,新增用户自定义排序功能,管理员可以对用户添加编号,用户会优先按照编号进行排序。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073-39b57d80ead9e076f7592fe5706a791c

一、版本更新内容

  1. 新增用户自定义排序功能,管理员可以对用户添加编号。
  2. 修复协同编辑时打开文件报错的问题。
  3. 修复员工离职时文件没有正常交接的问题。
  4. 修复为根组织设置权限时权限不生效的问题。
  5. 修复计划任务定时备份不执行的问题。
  6. 修复病毒扫描执行任务后,显示扫描文件数量不准确的问题。

二、主要界面

▼ 用户自定义排序功能,管理员可以对用户添加编号

image-20240301133636709

三、服务端下载入口

https://www.ydisk.cn/page/download.html

客户端下载入口

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

image-20230922141918146

· 阅读需 9 分钟

本文总结了悦库企业网盘2023年产品发展情况,制定了2024年产品主要规划方向。

预祝各位用户 新年快乐,新的一年安康幸福 ~

2023年总结

  1. 产品迭代

    2023年度累计发版10次,迭代节奏依然保持良好。平均5~6周左右发布一次新版本,在推出新功能的同时及时解决了用户反馈的紧急问题。

    image-20240202100647924

  2. 产品能力

  3. 官网改进

    • 重构官网博客平台,更友好SEO支持,定期发布原创文章增加客户对悦库品牌认可度。

      image-20240202161649303

  • 重构产品文档平台,大量文档内容的添加和样式优化。

    目前官网文档内容已经超过10万字,这相当于一部中篇小说的体量。其中包含全面的多平台部署教程、扩展组件部署、使用手册、开发手册、运维文档等内容,通过客户对产品的使用和问题反馈,我们也在不断的优化文档内容,给用户更好的支持。

    image-20240202163027333

2024年规划

当前信息时代,文件数据是企业资产的重要组成部分,确保文件安全管理就是确保企业的资产安全。2024年度,悦库企业网盘将确立以文件安全访问为核心竞争力的产品发展方向,实现产品的原生分布式存储能力以支持高达PB级海量数据存储,更好的为中、大型企业客户提供专业的文件管理系统。

  1. 安全访问

    为了更好的支持安全访问,在23年10月我们已经开始重构权限模型,其中包含对文件权限、组织权限、角色、集团化组织等功能的开发和改造工作。预计将于今年4月份完成首次版本发布,这真是一个大工程。首版发布后续也需要多个迭代的细节调整优化才能逐渐完善。 相关的原创文章:

    大型组织文件管理的研究V3

  2. 原生分布式存储

    为了更好的支持海量数据存储和良好的数据持久性,我们将在24年支持悦库原生的分布式存储引擎,实现数据热备、自修复、横向扩展存储集群能力。

  3. 官网和文档

    重构权限模型和原生分布式存储实施完毕后,应该将其理念文案化作用于官网和文档中。

    对官网进行大的改进,表达悦库对文件安全访问专业的产品理念,同时也需要表达悦库原生分布式存储对大型企业客户海量数据的存储能力。

    对文档的用户手册进行完善,让用户更好的理解新的权限模型带来的崭新的安全特征和控制能力。增加原生分布式存储的部署文档,指导用户快速完成产品部署和测试工作。

  4. AI文件管理研究

    研究AI对文件管理的应用价值,对AI实现高效的发挥数据价值,全面的保护数据安全,人性化的交互方式等方面进行技术调研和论证。

  5. 文件流程化研究

    对于文件流程化方向,需要进一步的学术调研和论证,在可行性论证文章发表和团队共识形成后,再进行下一步具体计划工作。

· 阅读需 5 分钟

随着悦库向大客户服务发展,在多年技术积累和产品良好口碑基础上,我们陆续为多家大客户实现了组织内的文件管理解决方案,这些大客户包括国家电网、军方、省级电信、文物保护机构等。

通过对比大客户和中小客户的需求差异,我们发现大客户会首先关注悦库企业网盘的海量存储、数据安全、高并发、高负载等系统能力,而中小客户更关注悦库能满足自身需求的具体业务功能。

国家电网

在国家电网客户应用场景中,现场工作人员用无人机对电网设施进行运维巡检,拍摄大量高清照片,上传到悦库网盘中存储和管理:

162610EB-0

在今年早些时候,国家电网将自己的原有的OA系统和悦库进行对接共享文件数据,实现了更高效便捷的的文件访问能力:image-20231213140249967

在这个案例中,国家电网更侧重文件数据的海量存储,目前数据容量已经超过200TB,图片文件数量接近1000万个,我们的研发工程师为其做了大量技术支持和性能优化工作。

军方组织

目前悦库已经为多个军方客户提供文件管理能力,由于军方拥有严格的保密制度,我们无法了解客户的具体应用场景。最近其中一个大型军方客户将悦库企业网盘迁移到国产Linux系统平台中,该系统硬件强大,拥有128核ARM CPU+128GB内存。

U10553

成功迁移后,上千人同时使用,并发量很大,遇到连接卡顿问题,由于我们无法直接查看军方服务器,只能与技术接口人沟通问题现象,经过一周多时间断断续续的艰难排查,终于确认是Apache服务在Linux下的高并发问题。

在这个军方用户案例中,我们花费了大量精力用脚本模拟和重现了高并发场景中的问题,并在自己内部I5-9600K CPU +16G内存, Linux系统环境中,实现了1200个并发访问的测试验证。最终我们成功为客户解决问题。

一些总结

在大客户组织中,对系统主要需求特点是:访问人数多、存储数据量大。

访问人数多,则要求系统拥有高并发、高负载、高可用能力,支撑业务正常运行。

数据量大,则数据整体损失成本非常高,因此很看重数据安全性,对数据安全方案很重视。

悦库企业网盘提供了大量特性来支持这些场景:

大客户系统需求单机版方案集群版方案
海量存储支持最多200TB存储分布式PB级存储
数据安全跨机冷备集群热备
高并发访问单机1000用户并发访问多机集群,万级并发访问
高负载受限于单机性能多机集群,可横向扩展
高可用性多机集群,故障节点自动漂移

· 阅读需 4 分钟

悦库企业网盘5.6.3版本发布了,新增文件和文件夹多选状态下的右键菜单功能,支持多选下载、移动、复制和删除等操作,最近访问、我的收藏、我的标签和我的消息等功能也提供多选右键菜单选项。新增版本升级后,展示新版本更新内容,方便用户了解和使用新功能。新增拖拽移动文件和文件夹功能,可以将文件、文件夹拖拽移动到当前目录下的其他文件夹中。新增拖拽复制文件和文件夹功能,拖拽时按住ctrl键,可以将文件、文件夹拖拽复制到当前目录下的其他文件夹中。本期还优化了水印和文件后缀名等功能,优化用户体验。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073-39b57d80ead9e076f7592fe5706a791c

一、版本更新内容

  1. 新增多选状态下的右键菜单功能,支持多选下载、移动、复制和删除等操作。
  2. 新增版本升级后展示新版本更新内容。
  3. 新增拖拽移动功能,可以将文件、文件夹拖拽移动到当前目录中的其他文件夹中。
  4. 新增拖拽复制功能,拖拽时按住ctrl键,可以将文件、文件夹拖拽复制到当前目录中的其他文件夹中。
  5. 优化“我的消息”中文件预览时,隐藏上下翻页功能。
  6. 优化文字水印排版,提高用户视觉体验。
  7. 优化上传的文件名称中包含不支持的特殊符号时报错的问题,提示文件名称不合法。
  8. 修复隐藏文件后缀名时,文件重命名会显示后缀名的问题。
  9. 修复系统管理模块中相关文档链接地址错误的问题。
  10. 修复Window远程共享中的文件,通过客户端上传错误问题。

二、主要界面

▼ 多选状态下的右键菜单功能,支持多选下载、移动、复制和删除等操作。

image-20231116085353191

▼ 拖拽移动和复制功能,方便用户移动和复制文件。

1、拖拽移动

image-20231116085818981

2、拖拽复制

image-20231116090037069

三、服务端下载入口

https://www.ydisk.cn/page/download.html

客户端下载入口

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

image-20230922141918146

· 阅读需 10 分钟

悦库的目标客户是企业用户,是一款生产工具,对于工具制造商的我们第一要务是保证核心功能可靠性,其目的是提高客户生产效率。与之相对立的是:产品需要不断迭代和优化,用户的系统环境也在不断变化,这些变化都会影响到产品原有功能的可靠性。软件产品是由大量错综复杂的代码在不同平台运行的综合体,即使最专业的测试工程师甚至开发者自己也不能保证每次的修改不会产生不可预知的其他问题。

为了保证悦库产品健康可持续发展,我们自2022年在原有自动化打包流水线基础上,提出悦库持续交付系统概念,并一直在不断建设,到现在我们非常兴奋的宣布:

产品可靠性里程碑 => 实现全平台自动化测试覆盖,从悦库网盘5.6版开始,产品发布完全由持续交付系统接管,所有发布包都由测试流水线验证通过后才能发布。

持续交付系统

悦库持续交付系统是基于Jenkins建立的一种由4条流水线,7台虚拟主机/2台树莓派,以及各种脚本和测试用例组成的全平台软件交付系统。目的是:使用一种软件系统维护另外一种更复杂的软件系统的健康发展,摒除人类工作的高昂成本和不可靠特质。

持续交付系统的4条流水线,及其功能:

构建/测试/发布三条流水线的依赖关系如下,而活动流水线是定时自动循环触发的。

测试覆盖度

自动化测试的覆盖度是一个逐步建设过程,理论上代码和功能覆盖度越高越好,但受限于人工测试和机器测试的性价比,我们会更偏向于将机器性价比高的测试任务实现自动化,这类任务一般有以下特点:

  1. 产品入口功能,对新用户的体验很重要,出现问题会直接流失新用户,品牌形象恶劣。例如悦库的服务端/客户端全平台部署、升级功能。
  2. 产品的基础/核心业务,对用户很重要,出现问题会对用户造成重大影响,每次发布新版必须确保可靠的。例如悦库的文件存储/上传/下载功能。
  3. 有固定标准,不经常变动的API接口。
  4. 一些后台任务,人工测试不方便的或难以人工验证准确性的。例如悦库的后台数据清理和审计等功能。

单元测试是基于代码函数级别的测试,实施成本很高,适用于逻辑复杂且对准确性要求严苛的领域,如操作系统、航空航天、金融、区块链等领域。

目前悦库的测试流水线建设情况如下图:

image-20231024145734082

覆盖的测试范围包括:

  • 服务端(单机版/集群版)部署和升级测试,包括:Windows / Linux平台 。
  • 客户端部署和升级测试,包括:Windows、Mac、Web、Linux X64 deb package、Linux X64 rpm package、Linux ARM64 deb package、Linux ARM64 rpm package 。
  • 客户端上传/下载测试,包括:全平台客户端上传下载文件/文件夹测试。
  • Web端基本功能测试,包括:登录、创建空间、上传下载文件/文件夹测试。
  • API测试,正在持续建设中。

目前的测试流水线测试上述任务的运行时间为3小时左右(树莓派性能太差,导致ARM版部署测试很慢),过程中无需任何人为干预,节省大量人力成本同时持续的提高发布产品的速度和可靠性。为了进行全平台覆盖测试,测试流水线需要协调9台主机,在不同的操作系统和CPU架构的平台上进行测试验证,复杂程度可见一斑,并且维护流水线运行的稳定性本身也是有不少的工作量,所以自动化测试成果是显著的,背后的成本也是高昂的。

自动化测试实现

测试流水线中的每一个任务都是一组特定功能的测试用例,对不同的场景分别编写测试用例,然后使用Jenkins流水线脚本串联起来,就形成了测试流水线。

在测试脚本语言方面我们选择Python语言,它简洁优雅,生态丰富,易于学习。测试框架选择pytest,它同样简洁优雅,易于学习。

以下是测试流水线的部分脚本实例,可以看出在这个stage(阶段)中调用了linux_x64_centos9linux_arm64_centos7远程主机上的python 测试用例脚本:

      /*集群版服务端-安装/升级 */ 
stage('cluster server install/upgrade') {
parallel {
stage('linux_x64') {
steps {
bat "ssh linux_x64_centos9 sudo ~/ydisk/lib/systest/start.sh ./test_server_linux.py --cpu_arch x64 --cluster true"
}
}
stage('linux_arm64') {
steps {
bat "ssh linux_arm64_centos7 sudo ~/ydisk/lib/systest/start.sh ./test_server_linux.py --cpu_arch arm64 --cluster true"
}
}
}
}

对于无UI交互的逻辑业务测试,测试框架都会直接支持,但一些测试用例不得不与UI交互,例如客户端升级完成后需要自动登录,验证是否登录正常;Web端上传下载文件的测试则只能在浏览器中进行。这需要使用另一工具 Selenium ,进行网页自动化操作,由于悦库客户端基于Electron,因此也适用该工具。

最终,我们使用Python+pytest+Selenium 的技术栈实现了所有测试用例,其效果如下:

  • UI人机交互业务,Web端文件(夹)上传下载业务的自动化测试效果: Web_updown_test

  • 逻辑业务测试,Windows 服务端部署安装/升级自动化测试效果: image-20231024164115248

结束

九层之台,起于累土,当前的悦库持续交付系统仍处于累土阶段,尤其是测试流水线部分,需要继续建设。

产品质量的可持续发展,何其难也,为此,我们探索自内而外的改革,调研学习并尝试TDD(测试驱动开发)等一些成熟的软件开发理念,实现产品质量可持续发展的目标我们是认真的坚定不移的。

相关链接

持续稳定的交付产品

持续交付加速产品迭代V2

持续交付加速产品迭代V1

· 阅读需 5 分钟

悦库企业网盘5.6.1版本发布了,分享链接增加备注功能,用户可以对分享的链接进行说明介绍,以便同事间更高效的协作,减少沟通成本。实现大批量文件上传时的分批处理,避免页面卡死。优化悦库文案,“我删除的"更名为”回收站“,管理员系统管理中的”回收站“更名为”二级回收站“,“回收站”存放个人删除的文件和文件夹,“二级回收站”存放所有用户删除的文件,即使用户清理了个人回收站,管理员依旧可以通过二级回收站还原文件,确保不会因为误删造成的数据损失。本期还优化了手机端、回收站和传输列表等功能,优化用户体验。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073-39b57d80ead9e076f7592fe5706a791c

一、版本更新内容

  1. 新增“分享链接”添加备注功能,用户可以对分享的链接进行说明介绍。
  2. 新增大批量文件上传时的分批处理,避免页面卡死。
  3. 优化文案,“我删除的"更名为”回收站“,管理员”回收站“更名为”二级回收站“。
  4. 优化上传和下载完成时的通知提醒。
  5. 优化回收站自动清理功能。
  6. 优化IOS手机端,修复登录失败问题。
  7. 优化文件传输列表功能,显示文件夹大小,增加任务剩余时间。
  8. 优化文件预览功能,网页端可以复制预览页面的链接地址,用户打开链接可直接预览文件。
  9. 修复遮挡右键菜单的问题。
  10. 修复文件名称中含有特殊符号上传报错的问题。
  11. 修复搜索文件时文件名称展示很短,而且无法拉长的问题。
  12. 修复客户端升级没有升级进度的问题。
  13. 修复下载的文件名称中含有空格时,下载后空格变成加号的问题。

二、主要界面

▼ 新增“分享链接”备注功能,用户可以对分享的链接进行说明介绍。

image-20231016141951444

▼ 回收站和二级回收站:回收站是个人回收站,二级回收站充当企业“文件急救箱”。

​ 1、回收站:存放个人删除的文件和文件夹

image-20231016142032866

2、二级回收站:

image-20231016142720424

三、服务端下载入口

https://www.ydisk.cn/page/download.html

客户端下载入口

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

image-20230922141918146

· 阅读需 8 分钟

目标:在每次版本发布时,保障产品的稳定可靠。

在软件开发中,从用户需求到交付可用的功能通常需要经过:需求分析、软件设计、需求拆分、任务拆分、编码、测试、验收交付等步骤。由于需求理解的偏差、设计的缺陷、编码错误等等原因,Bug会以各种形式出现在各个阶段出现。

我们如何能最大限度的降低Bug出现的频率和所带来的影响?

什么是TDD

TDD,英文全称Test Driven Development (测试驱动开发),是一套用于敏捷开发的方法论。简单来说,TDD是在编写业务代码之前,先实现测试用例,然后通过编写业务代码来满足测试用例的要求。

TDD的基本流程如下:

ATDD和UTDD都是TDD的实践。

ATDD,英文全称Acceptance Test Driven Development(验收测试驱动开发)

ATDD强调客户产品研发测试之间的相互配合,对需求进行沟通、分解和确认,让团队中所有人对需求的理解达成一致。由测试定义能够满足业务需求的验收标准。再由研发根据验收标准编写业务代码,并确保业务代码能满足验收标准。ATDD的目标是确保交付的功能满足客户的业务需求,与客户保持紧密的联系和协作。

UTDD,英文全称Unit Test Driven Development(单元测试驱动开发)

UTDD强调在编写业务代码之前先实现单元测试。在UTDD中,同样要求产品研发测试参加需求评审,要保证团队所有人对需求的理解达成一致,并对需求进行差分成更小的需求点,由测试根据需求点来编写单元测试,然后研发编写业务代码来实现这些测试要求。通过不断实现可通过单元测试的需求点,团队可以确保每个需求点的稳定可交付状态。UTDD的目标是通过单元测试来驱动业务需求的开发,提高了业务逻辑的稳定性。

ATDD适合满足客户的定制开发需求,保证交付的功能满足客户业务需求。UTDD适合在产品功能持续交付过程中,为业务逻辑的稳定运行提供可靠的保障。

如何使用TDD

在传统的“瀑布式”开发中,测试仅作为软件开发周期中的一个阶段。通常在需求研发阶段之后,交付之前,进行测试工作。一个用户故事转换为需求的过程,由产品经理参与和制定。之后需求交由项目经理,又被拆分成多个开发任务再分派给研发人员。研发人员接到开发任务后,开始编写业务逻辑;由于开发人员缺乏对需求的深刻理解,在业务逻辑的实现细节上存在诸多问题,在测试阶段往往会出现大量BUG,导致无法按时交付。

不同于“瀑布式”开发,在敏捷开发中,测试应该贯穿于整个迭代周期,从需求的理解到任务的拆分,从需求点的实现,再到最终交付,都需要有测试的参与,才能保证早发现早处理。

  • 我们面临的问题

    • 在需求分解阶段,团队没有参与验收用例的编写,只专注于需求点的拆分和研发任务的拆分。
    • 验收用例不够详细,只列出了粗略的验收标准。
    • 测试主要集中在研发结束之后,会出现由于对需求的理解不够透彻,导致推倒重做。
    • 测试过于粗糙,功能点覆盖不全面。
    • 开发新的功能时,影响了原来已经发布的功能,但测试时很难考虑到。
  • 如何解决

    • 团队中的所有人,参与到需求的评审和分解中,对需求理解达成一致。
    • 需求分解过程,用例先行,通过对用例的设计与实现,更深刻的理解需求并推敲需求的合理性。
    • 每个需求点完成后都要通过测试用例验证。
    • 测试用例要有可维护性,在新增业务时,增加对应的用例,调整业务的同时,更新原有用例。保证新老业务逻辑的稳定运行。
    • 在Jenkins流水线中集成测试,保证每次发布的版本都能通过自动化测试的验证,随着用例的覆盖率提高,产品的稳定性也随之提高。
    • 使用合适的测试方法:
      • 基于API的测试:根据API文档说明,通过HTTP协议,构建并向服务端发送HTTP请求,并对应答数据进行分析以验证接口的有效性。针对API的单元测试,粒度小,覆盖更全面,但实现成本也更高。
      • 基于UI的测试:使用测试框架,通过编码实现对UI的操作;通常基于验收用例,模拟业务使用场景,进行操作实现验收用例的测试。
      • 基于SDK的测试:基于SDK提供的接口,通过编码实现验收用例。

· 阅读需 4 分钟

悦库企业网盘5.5.9版本发布了,新增回收站自动清理功能,管理员可以设置超过指定天数后,自动清理用户已经删除的文件释放空间,主要应用场景是很多用户提到在实际工作过程中,很多员工删除文件后,并不会主动清理回收站,一直占用服务器的存储空间,回收站自动清理功能可彻底解决这种不必要的空间浪费。优化文件水印功能,平铺设水印覆盖面积不低于文件的60%,并且不影响文件的可读性和可视性,支持设置水印样式,水印可以包含公司名称、用户名称、用户电话号码和日期等信息,水印颜色与文件背景对比度较高,水印清晰可见。优化用户详细页面,管理员可查阅用户我的空间使用情况。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073

一、版本更新内容

  1. 新增回收站自动清理功能,管理员可以设置自动清理已删除文件,可以定期释放空间。
  2. 优化用户详情信息,记录用户“我的空间”中空间、文件夹和文件的数据和大小使用情况。
  3. 优化文件水印功能,显示访问水印信息(用户名/联系电话/访问时间等),支持调整水印样式。
  4. 修复计划任务中的时间设置项填写小数报错的问题。
  5. 修复LOGO定制等页面使用快捷键报错的问题。
  6. 修复客户端开机自启动首次登录异常问题。
  7. 优化客户端后台服务与前端的通信机制,避免出现客户端登录时后台服务异常问题。

二、主要界面

▼ 回收站自动清理:管理员可以设置自动清理已删除文件,可以定期释放空间。

1、回收站自动清理设置入口

image-20230922112434022

2、回收站自动清理设置页面

image-20230922111839951

▼ 文件水印:显示访问水印信息(用户名/联系电话/访问时间等),支持调整水印样式。

1、水印后台设置

image-20230922165418724

2、水印效果图

image-20230922103317694

▼ 用户详情:记录用户“我的空间”中空间、文件夹和文件的数据和大小使用情况。

image-20230922111736219

三、服务端下载入口

https://www.ydisk.cn/page/download.html

客户端下载入口

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

image-20230922141918146

· 阅读需 27 分钟

大型组织机构通常由多个相对独立的下属组织单位组成,每个下属单位都有自己的职责和目标,本文探讨如何实现对大型组织机构的文件管理。

1. 组织

组织由总部、单位、部门、人员四个组织层级组成:

总部是一个组织的最顶级单位,例如集团名称、大学名称等,系统中有且只有一个总部。总部下包含多个层级的单位,而单位中也包含多个部门,形成一个树形组织结构。总部本身也是一个特殊的单位,遵守单位相关规则。

单位,是一种隶属于总部的组织逻辑类型,通常用于建立一个相对独立的人员管理逻辑范围,具有独立的组织结构和文件访问安全边界。例如集团子公司、大学学院、集团医院分院等。单位中可以包含多个子单位或部门,可以在总部或其他单位之下,但不能在部门下。

部门 是一个独立组织下的分支机构。可以直接隶属于总部,或某一个单位,可以在总部、单位、其他部门之下。

人员是隶属于组织中的个人,人员可以直接隶属于总部,也可以同时隶属于多个部门或单位中。

简化的树形组织结构示例:

1.1 组织关系

总部关系

  1. 总部下可以有0或多个单位,单位有且只有1个总部。
  2. 总部下可以有0或多个部门,部门有且只有1个总部。
  3. 总部下可以有0或多个人员,人员必须隶属于1个总部。

单位关系

  1. 单位可以有0或多个子单位,子单位有且只有1个上级单位。
  2. 单位可以有0或多个部门,部门有且只有1个上级单位。
  3. 单位可以有0或多个人员,人员可以隶属于0个或多个上级单位。

部门关系

  1. 部门可以有0或多个子部门,子部门有且只有1个上级部门。
  2. 部门可以有0或多个人员,人员可以隶属于0个或多个上级部门。

人员关系

  1. 人员可以直接隶属于总部/单位/部门之下。
  2. 人员必须隶属于1个总部,但可以同时隶属于多个单位或部门之下。

1.2 组织隔离

单位 是一个相对独立的组织,拥有单位范围的安全边界。各单位之间在组织访问、文件访问、角色设置等操作中相互隔离,默认不能互通。

例如在集团医院中,如果将市北分院崂山分院定义为单位,则默认市北分院的人员无法访问崂山分院的文件,同时也看不到崂山分院的组织结构。市北分院中创建和设置的自定义角色在崂山分院中不可见。

image-20230802145016293

1.3 组织协作

在相互隔离的单位之间建立协作关系,是企业中常见的应用场景。

单个人员可以通过设置和授权方式实现对其他单位的组织或文件的访问。

例如:

  1. 通过将市北分院的用户小明,设置可见西海岸分院,小明就可以访问西海岸分院的组织结构。
  2. 通过将市北分院的用户小明,设置可下载西海岸分院技术资料空间,小明就可以访问西海岸分院的文件。

作为一个独立单位或部门,也可以设置可见组织,实现两个单位或部门之间的组织互通。组织互通后,就可以根据授权访问对方单位的文件。

image-20230802144805668

2. 角色

在企业中访问控制的范围取决于员工所扮演的角色,角色中包含已确认的访问权限和职责,悦库系统中的角色包括文件管理员、人事管理员等,每一种角色根据其包含的职责有不同的访问权限。

例如单位人事主管角色用于管理单位内部的人员,拥有对人员/部门的创建、编辑和删除等人事相关操作权限。

在组织中只有人员可以拥有角色,一个人员可以同时拥有多个角色:

image-20230802095435013

2.1 角色级别

角色按权力级别分为:管理员角色、主管角色、普通角色。管理人员不能创建高于自身角色级别的新角色,当为其他人指派角色时,被指派角色行为集必须是当前管理者自身角色的行为集的子集,这样可以防止角色恶意提权问题。

由系统创建的默认角色,其中1、2级为管理角色,3级为普通角色:

image-20230914113201701

1级管理员角色

1级管理员角色只能隶属于总部之下,按职责分为文件/人事管理员,管理员角色可以查看整个组织。

文件管理员,可以管理系统中的所有文件,可以查看系统中的所有单位、部门和人员。

人事管理员,可以管理系统中所有下属单位以及下属单位中的部门和人员、管理本单位角色和公共角色,拥有人事管理最高权利,但只拥有人事权利,无管理文件权利。

2级主管角色

2级主管角色,管理的具体组织范围,根据指派角色时为其绑定的单位/部门而定。

文件主管,可以管理单位/部门中的所有文件,可以查看当前单位中的所有部门和人员。

人事主管,可以管理单位/部门中的所有部门和人员、管理角色,无管理文件权限。

运维主管,对系统进行运行管理维护,无其他管理权限。

3级普通角色

普通员工,可以在授权范围内对文件进行操作,默认仅可以访问本单位内组织,经过授权可以访问其它单位组织。

2.2 职责分离

职责分离是确保单个人员不具备完成恶意行为的所有必要权限的一种策略。

最常见的⽰例是:财务工作中的发起⽀付和授权⽀付操作,任何⼀个⼈员都不应该能够同时拥有这两种权限。

在文件管理领域中以FTP服务器为例:运维人员的职责是系统运行维护,却可以超出自身职责,直接查看FTP服务器上的所有企业文件(本应属于文件管理职责),运维人员的职责不明确,将为企业文件增加泄露风险。

管理角色按职责分为职能管理和文件(业务)管理。人事管理和运维管理属于职能管理,人事管理角色只负责管理组织和人员,运维管理角色则只负责管理系统运维相关工作,职能管理角色不参与对文件访问权限的管理。文件管理角色专门负责组织内的文件(业务)管理,不参与组织的职能管理。

image-20230802105638903

3. 资源

3.1 概念

资源主要是指空间、文件夹、文件。

空间是指文件的逻辑存储容器,类似于硬盘的分区,用于对文件进行逻辑分隔管理。考虑到组织安全访问的必要性,组织结构在此场景中也被定义为一种资源,例如用于限制人员查看其他子组织,实现组织隔离。

具有层级关系的资源称为结构化资源,空间、文件夹、组织结构都是结构化资源。

4. 访问安全

4.1 策略

策略(policy)是鉴权机制用于验证人员对资源操作行为合法性的基本依据,由主体、资源、行为三个要素组成,主体是:单位/部门/人员,资源是:空间/文件夹/文件,访问行为是:查看/下载/上传/删除等。

主体路径是指从组织根节点到当前主体的组织父节点所经过的所有节点的组合。资源路径是指从资源根节点到当前资源父节点所经过的所有节点的组合。

策略按行为类型分为:允许策略和拒绝策略。允许策略用于表达允许谁对哪个资源拥有什么操作行为,拒绝策略用于表达拒绝谁对哪个资源拥有什么操作行为。拒绝策略优先级大于允许策略,即当设置主体对同一资源同时拥有允许和拒绝策略时,鉴权结果为以拒绝策略为准。

以主体的视角来看,策略是主体的访问权限,以资源视角来看策略是资源的访问规则。例如一条策略允许小明对test.txt拥有下载行为,以主体视角是表达小明拥有对test.txt下载的访问权限,是一条允许访问权限,以资源视角是表达test.txt拥有小明对其下载的访问规则,是一条允许访问规则。

4.2 访问权限

访问权限是指以主体为视角的策略,表达其对资源可执行的行为,可以在主体上进行查看和编辑。

访问权限由私有权限和继承权限组成,私有权限是直接作用于主体的策略,继承权限是根据继承路径逐层递推累加节点权限后得出所有策略,私有权限优先级大于继承权限。

继承

继承权限可以使主体获取其路径中的所有访问权限,而不需要重复添加,且主体自身可以追加新的私有权限。主体不继承特性则可以使主体屏蔽从路径中继承权限,然后自行定义访问权限,拥有更好的灵活度。

  1. 研发一部 的所有访问权限,递推计算过程为:

    • 研发部权限 = 公司(所有权限) + 研发部(私有权限)
    • 研发一部权限 = 研发部(所有权限) + 研发一部(私有权限)
  1. 小明 的所有访问权限,递推计算过程为:
    • 研发部权限 = 公司(所有权限) + 研发部(私有权限)
    • 研发一部权限 = 研发部(所有权限) + 研发一部(私有权限)
    • 小明权限 = 研发一部(所有权限) + 小明(私有权限)

在一些特殊场景下,可能不希望继承父组织的访问权限,由子组织自行添加,可以实现更自主可控的访问控制。

小明 是研发部的试用期员工,按公司规定不能访问研发部中的共享资料,需单独为其添加工作范围内的访问权限。

鉴权

鉴权是通过计算主体和其组织路径对目标资源和其资源路径的访问权限,得出主体对资源的最终访问权限的计算过程。该过程需要考虑主体的角色、继承权限、私有权限、允许/拒绝权限的优先级,目标资源的路径层级等因素。

举个例子,需要对小明下载文件word.zip的操作进行鉴权,过程是:

查看小明及其主体路径节点对word.zip及其资源路径的任意节点层级是否有下载权限。例如研发部word.zip有下载权限,则小明也就拥有了对word.zip的下载权限,或者小明对应用软件有下载权限,则同时也就拥有了对word.zip的下载权限,计算过程是:

  1. 获取公司word.zip及其资源路径节点的私有权限。
  2. 获取研发部word.zip及其资源路径节点的私有权限,并累计公司的继承权限。
  3. 获取研发一部word.zip及其资源路径节点的私有权限,并累计研发部的继承权限。
  4. 获取小明word.zip及其资源路径节点的私有权限,并累计研发一部的继承权限,得出小明最终对word.zip的访问权限。

权限组

由用户自定义的一组拥有特定作用的一条或多条访问权限,可用于对单个主体批量添加访问权限。

例如:公司规定试用期员工不能访问本部门所有文件,但可以访问部分和试用期工作相关的文件,以下:

资源行为
/协同空间/技术资料/基础业务介绍查看/下载
/协同空间/技术资料/常用工具查看/下载
/协同空间/软件开发/编程语言/Python教程查看/下载/分享

按照常规的赋权步骤,我们需要为试用期员工分别指定每条资源的访问权限,当试用期员工和访问资源都比较多时,显然这种方法费时费力,也很容易出错。

为了提高工作效率,我可以创建一个包含多条访问权限的试用期员工的权限组。当为试用期员工指定访问权限时,先将该员工设置不继承部门权限,然后直接为其添加'试用期员工的权限组,以此简化赋权操作。

4.3 访问规则

访问规则是指以资源为视角的策略,表达资源可以被主体执行的访问行为,可以在资源上进行查看和编辑。 访问规则和访问权限仅是主语视角不同,访问权限的主语是主体,而访问规则的主语是资源,但产生的作用是一致的,在系统内部实际都会被转换为以主体为主语的策略

例如,管理员指定资源word.zip的访问规则是:word.zip 可以被小明执行下载行为,则在系统内部转换后对应的策略是:允许小明对word.zip 执行下载行为,这时的主语为小明,鉴权机制以主体作为主语计算最终权限。

规则组

由用户自定义的一组拥有特定作用的一条或多条访问规则,可用于对单个资源批量添加访问规则。

例如:一些分散的技术机密资源(在不同文件夹下)可以被小明、小刚等6人编辑,而小王、小高等10人仅可查看。

人员行为
小明、小刚等6人查看/编辑
小王、小高等10人查看

按照常规的操作步骤,我们需要为资源分别指定每个人员的访问规则,当资源比较多时,显然这种重复操作费时费力,也很容易出错。

于是作为一名研发部文件主管,我可以创建一个包含多条访问规则的技术机密资源的规则组。当为技术机密资源指定访问规则时,直接为其添加'技术机密资源的规则组,以此简化操作步骤。

附录

用户故事

组织

  1. 小明在A单位中,小刚在B单位中,他们相互之间不能看到对方的组织结构,且只能看到自己所在单位的组织结构。

  2. 设置A单位的小明可以查看B单位的组织结构。

  3. 设置A单位的所有人可以查看B单位的组织结构。

  4. 设置A单位拥有B单位指定空间的文件夹的下载权限。

  5. 设置A单位的研发部对B单位的测试部下所有文件有下载权限。

  6. 小明属于A单位的研发部,同时也属于B单位的测试部,设置小明在A单位中担任研发部文件管理员,在B单位为普通员工。

  7. 小明属于A单位的研发部,设置小明不继承上级部门权限。

  8. 设置A单位的财务部门的直属员工对市场部"销售数据空间"的"每月报表文件夹"有下载权限。设置A单位的财务部门的所有员工对市场部"销售数据空间"的"每月报表文件夹1"有下载权限。?

  9. 设置A单位的所有人可以查看B单位的组织结构,但试用期员工除外。

  10. 设置A单位的所有人可以查看B单位的组织结构,但研发部除外。

  11. 设置A单位的所有人可以查看B单位的组织结构,有效期1个月。

角色

  1. 小明作为一名单位文件主管,希望将其单位下的研发部中的小刚指派为部门文件主管。
  2. 小明作为一名单位文件主管,希望查看其单位中各个部门的文件。
  3. 小明作为一名单位文件主管,希望自定义一个部门文件主管角色。
  4. 小明作为一名单位文件主管,希望删除过去创建的自定义角色。

资源

  1. 我作为一名单位文件主管,在高级财务和普通财务人员都有对"财务资料/年度报表"文件夹有访问权限的前提下,希望将 "财务资料/年度报表/董事会财报" 文件夹单独设置高级财务人员有访问权限,单位下普通财务人员不可见。

访问安全

  1. 设置小明对”技术资料“空间下的”python“文件夹有下载权限,且只能下载该文件夹的直接子文件(资源不递归)。?
  2. 设置小刚对”技术资料“空间下的”python“文件夹有下载权限(资源递归)。?
  3. 设置研发部所有人员(主体递归)对”技术资料“空间下的”python“文件夹有下载权限。
  4. 设置测试部直接人员(主体不递归)对”技术资料“空间下的”python“文件夹有下载权限。
  5. 使用权限组方式设置多名试用期员工不能访问本部门所有文件,仅可下载分散的(不在同一文件夹)试用期员工培训资料。
  6. 使用规则组方式设置一些分散的技术机密资源(在不同文件夹下)可以被小明、小刚等6人编辑,而小王、小高等10人仅可查看。

常见的大型组织形式

大学

集团公司

image-20230626154447651

集团医院

img

· 阅读需 3 分钟

悦库企业网盘5.5.7版本发布了,客户端全面适配X86/ARM64架构的国产系统和主流Linux系统。包括UOS(统信)、麒麟系列(银河麒麟、中标麒麟、优麒麟等)、中科方德、Deepin(深度)、CentOS、Ubuntu,以及其他兼容deb和rpm格式包的Linux桌面系统。政企单位换成国产系统是一项重要举措,有助于加强信息安全和推动我国信息技术的自主创新,提高信息安全水平。悦库企业网盘本次国产客户端适配,保障了已经更换成国产电脑的单位可以正常使用悦库客户端,助力国产系统用户高效、方便、快捷的使用悦库,提高工作效率。

此外,本期还修复了用户近期反馈的问题,感谢广大用户对悦库网盘的支持。

欢迎大家下载使用,遇到问题可以随时反馈,我们会积极修复。点击加QQ群:450448657

为了让广大用户充分测试和体验专业版功能,可免费提供30天专业版测试授权,联系商务同事获取。
点击添加商务QQ:480247680

image-20221125134822073

一、版本更新内容

  1. 新增UOS(统信)、麒麟系列(银河麒麟、中标麒麟、优麒麟等)、中科方德、Deepin(深度)、CentOS、Ubuntu,以及其他兼容deb和rpm格式包的Linux桌面系统
  2. 修复用户管理无法修改用户性别的问题。
  3. 修复管理员修改密码提示错误的问题。
  4. 修复日志无法查询的问题。

二、主要界面

▼ UOS(统信)、麒麟系列(银河麒麟、中标麒麟、优麒麟等)、中科方德、Deepin(深度)国产系统客户端。

1、客户端下载入口

81e324c6d3b0b62f9338cbdf475fc95

2、国产客户端分X86和ARM架构,选择适合自身系统的客户端。

cfeebec9d9aed05b3538bdc85ee4d0b

▼ 修改用户性别。

92f12948e1cb16c7b623d388fb0cd6f

▼ 用户日志:记录用户操作日志,支持多条件筛选和查询日志。

35e7c297813e86a4422e50cb39688f0

三、服务端下载入口

https://www.ydisk.cn/page/download.html

客户端下载入口

Web端登录网盘,点击左下角用户名称,即可在个人信息栏中看到下载入口。

81e324c6d3b0b62f9338cbdf475fc95