一、背景

云 HDFS(Cloud HDFS,CHDFS)是腾讯云提供的支持标准 HDFS 访问协议、卓越性能、分层命名空间的分布式文件系统。

CHDFS 主要解决大数据场景下海量数据存储和数据分析,能够为大数据用户在无需更改现有代码的基础上,将本地自建的 HDFS 文件系统无缝迁移至具备高可用性、高扩展性、低成本、可靠和安全的 CHDFS 上。以此实现存算分离,实现计算节点可动态的扩缩容。

因此 CHDFS 主要的用户群体是大数据体系的研发人员,为了满足用户在传统的 Hadoop 环境下的使用习惯,同时满足用户的权限需求,CHDFS 通过以下措施,提供了安全便捷的大数据访问体验。

二、来源管控

存算分离带来了存储的云端托管,使计算节点不再依赖本地的存储,但同时也带来了存储时延的增加,因此存算分离更适合于同地域同机房的访问。CHDFS 在设计之初,就假定用户的大数据集群运行在腾讯云的 VPC 网络(包括 CVM 和黑石)。

因此用户只用通过以下三步,即可限制来源:

1、新建权限组,并在权限组中指定 VPC(必须本账户下的 VPC)。

2、在权限组里面添加规则,授予 VPC 网段里的某一个子网段的只读或者读写权限。同一个权限组中的多条规则,根据优先级来确定权限。

3、在文件系统的挂载点中绑定权限组,一个文件系统可以绑定多个权限组,请求满足任何一个权限组的规则,即获得相应的访问权限。

三、POSIX 权限与超级用户

CHDFS 兼容 HDFS 的 POSIX 的权限规则,该权限规则和 Linux 文件系统的的规则类似。即每一层的目录和文件都有 User,Group 与 Other 权限(rwx)。整个权限规则可简述如下:

1、用户执行 Hadoop 命令行或者运行某个大数据 JOB

2、Job 运行中需要访问 CHDFS 的某个路径, 即以执行进程的用户身份与组身份访问 CHDFS 的某个路径。

3、CHDFS 从根据访问的路径,从根目录开始,层层检查。如果用户名匹配文件或者目录的用户名,则拥有文件和目录的 User 权限,如果用户组名匹配,则拥有 Group 权限,否则只拥有 Other 权限。

4、对于目录要进入下一层,必须拥有 X 权限,对于目录下创建删除文件必须拥有 W 权限,对于列出目录下的文件,必须有 R 权限。

5、对于读取文件,必须要有 R 权限,对于修改文件必须有 W 权限。

对于普通用户,使用以上的权限规则进行校验,但同时 CHDFS 也支持了超级用户, 超级用户拥有对文件目录的一切操作权限,适用于配置管理员。

POSIX 的权限开关与超级用户的设置,可以在新建文件系统时,或者在后续在文件系统属性下编辑。



四、接入 Hadoop Ranger 权限体系

Hadoop Ranger 作为一站式的权限体系解决方案, 不仅支持存储端权限管控,还支持 YARN,Hive 等组件权限管控。因此,为了维持客户的使用习惯,我们提供了 CHDFS 的 Ranger 接入解决方案,方便客户使用 Ranger 来进行 CHDFS 的权限管控。CHDFS 接入 Ranger 权限体系的架构如下所示

我们在 Ranger Admin 控制中心,注册 CHDFS 服务的相关信息,并配置 CHDFS 的服务后,即可配置 CHDFS 的相关权限 policy,如下所示。

CHDFS 插件端开启进行 ranger 鉴权后,即会把所有访问 CHDFS 的请求转发给 COS Ranger Service 进行鉴权, COS Ranger Service 根据从 Ranger Admin 拉取 policy,进行权限检查。有关 CHDFS 接入 Ranger 权限的配置说明,请参考 CHDFS 控制台文档

五、总结

CHDFS 作为云端托管的大数据存储,从设计之初,就充分考虑了 HDFS 用户的使用习惯。通过提供限制来源 VPC、IP 网段、POSIX 鉴权、超级用户等特性,并支持接入 Hadoop Ranger 权限体系。方便客户的同时,也充分的保证了安全性与灵活性。

关于我们

云+社区「腾讯云存储团队」主页,涵盖了腾讯云存储团队最新动态、团队信息、产品矩阵、技术文档、视频教程等,欢迎关注或留言,给出您的宝贵建议。

CHDFS 安全便捷的大数据访问体验的更多相关文章

  1. 腾讯混合云存储 TStor 系列再添新成员,并行存储一体机正式发布

    最近国内某大型互联网公司依靠其数据优势成功上市,可见数据的重要性,而数据和存储密不可分,您真的知道自己需要更高性能存储吗? 在当今数据爆发式增长的时代,数据已经成为很多行业最重要的资源,没有之一. 数 ...

  2. 使用 HDFS 协议访问对象存储服务

    背景介绍 原生对象存储服务的索引是扁平化的组织形式,在传统文件语义下的 List 和 Rename 操作性能表现上存在短板.腾讯云对象存储服务 COS 通过元数据加速功能,为上层计算业务提供了等效于 ...

  3. Dapper.NET——轻量ORM

    Dapper.NET使用 http://www.cnblogs.com/yankliu-vip/p/4182892.html 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Da ...

  4. PostgreSQL 与 MySQL 相比,优势何在?

    一. PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃.断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统 ...

  5. Apworks框架实战(一):Apworks到底是什么?

    简介 Apworks是一款基于Microsoft .NET的面向领域驱动的企业级应用程序开发框架,它适用于以领域模型为核心的企业级系统的开发和集成.Apworks不仅能够很好地支持经典的分层架构,而且 ...

  6. Dapper.Net 应用

    Dapper应用 1.Dapper是什么 Dapper是一款轻量级ORM工具.如果你在小的项目中,使用Entity Framework.NHibernate 来处理大数据访问及关系映射,未免有点杀鸡用 ...

  7. 可扩展Web架构与分布式系统(转)

    1.1. web分布式系统的设计原则 搭建和运营一个可伸缩的web站点或者应用程序意味着什么?在原始层面上这仅仅是用户通过互联网连接到远程资源-使系统变得可伸缩的部分是将资源.或者访问的资源,分布于多 ...

  8. IMAP和POP3有什么区别

    http://help.163.com/10/0203/13/5UJONJ4I00753VB8.html?servCode=6010237 IMAP和POP3有什么区别?   POP3协议允许电子邮件 ...

  9. 【转】POP3、SMTP和IMAP之间的区别和联系

    POP3 POP3是Post Office Protocol 3的简称,即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议.它是因特网电子邮件的第 ...

  10. Dapper.NET使用(转)

    Dapper.NET使用 本文目录 Dapper.NET使用 1.为什么选择Dapper 2.以Dapper(4.0)为例. 2.1 在数据库中建立几张表. 2.2实体类. 3.使用方法 3.1  一 ...

随机推荐

  1. .Net Core 的 using 作用

    // using 的使用 // 1. 引用命名空间 using namespace // 2. 自动释放资源 执行结束自动调用 IDispose 接口释放资源 // using (var contex ...

  2. HN CSP-J 2023 奇人鉴赏

    其中有 4 位同学提到了IOI 一位同学提到了 fk,但是并没有 Fk CCF 共有52个 CCF,其中HN-J00157同学复制了很多遍题目一位同学用了ccf当 struct 名字,并且写出了人名函 ...

  3. Android复习(二)应用资源 --> 动画

    没什么好总结的 复制自 https://developer.android.google.cn/guide/topics/resources/animation-resource 有需要的可以查看官方 ...

  4. 使用nacos上传配置文件报错

    1.使用nacos导入配置文件报错:未读取到合法数据,请检查导入的数据文件. 对比在naocs server中导出的文件,发现是少了一级目录.需要创建一个文件夹,名称为组的名称.因为在nacos上传文 ...

  5. 手撸二叉树——AVL平衡二叉树

    还记得上一篇中我们遗留的问题吗?我们再简要回顾一下,现在有一颗空的二叉查找树,我们分别插入1,2,3,4,5,五个节点,那么得到的树是什么样子呢?这个不难想象,二叉树如下: 树的高度是4,并且数据结构 ...

  6. Java和Python的区别

    Java和Python区别 二者的区别有以下几点:1.Java必须显式声明变量名,而动态类型的Python不需要声明变量.2.Python虚拟机没有Java强,Java虚拟机是Java的核心,Pyth ...

  7. Visual Studio 2022只能使用WSL调试问题处理

    删除项目的Properties目录下面的launchSettings.json文件

  8. List<Map<String,Object>> 属性获取

    public static void main(String[] args) { // 1.数据准备 List<Map<String,Object>> list = new A ...

  9. CUDA 编程学习 (5)——内存访问性能

    1. DRAM 带宽 1.1 DRAM 核心阵列结构 每个 DRAM 核心阵列约有 \(16M\) bits 每个 bits 存储在由一个晶体管组成的微小电容器中 超小型(8x2-bit)DRAM 内 ...

  10. MoD:轻量化、高效、强大的新型卷积结构 | ACCV'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: CNN Mixture-of-Depths 论文地址:https://arxiv.org/abs/2409.17016 创新点 提出新的卷积轻 ...