云存储网关SMB共享加入AD域实践

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 本文通过实践展示了如何将云存储网关中SMB共享加入到AD域来搭建一个WIndow文件共享服务器,以及通过具体的权限配置,来提高文件访问安全性。

简介

阿里云云存储网关(Cloud Storage Gateway:简称CSG)支持以传统的NFS与SMB文件访问协议)来访问阿里云对象存储服务,CSG通过暴露一个文件共享将传统文件系统的目录/文件结构同OSS Bucket中的对象结构建立映射关系,这样用户在对文件共享进行操作时也就相当于在相应的OSS Bucket中进行操作。同时,云存储网关还利用缓存技术将一部分热数据缓存在共享的缓存盘中,在读写数据时减少对OSS Bucket的请求数量,大大提高了数据访问效率。


Active Directory(活动目录)是Windows Server提供的一种服务,可以用来集中管理用户和计算机账号,并提供单一登录的功能,是一种应用非常广泛的企业服务。因此文件共享服务器一般会和Active Directory做集成,从而提供统一的用户鉴权功能。由于在WIndows操作系统中一般使用SMB协议来进行文件共享访问,因此本文将讨论的如何将云存储网关中的SMB共享结合AD域进行使用。


SMB共享加入AD域共享实践

要使用AD域里的账号信息来访问SMB共享,首先需要满足两个条件:

1. AD域控制器与文件网关在同一个专用网络(VPC)内;

2. AD域控制器中加入云服务器(ECS)安全组,并且对云存储网关IP放行53端口、389端口、445端口、88端口,如下图所示:image.png

满足上述两个条件后,就可以在网关侧配置AD域相关信息了,主要包含两个步骤,第一步骤就是在网关控制台中设置DNS服务器,该步骤主要用来解析与AD服务相关的一些域名地址,一般来说,AD域控制器同时也是DNS服务器。

image.png

第二个步骤就是配置具体的AD域的相关管理员账号密码等信息了。同样也是在网关控制台中AD/LDAP/DNS页签,选择加入AD,填写相应的信息即可,image.png

注意:

1. 服务器IP即为AD服务器的IP地址,用户名需要是管理员用户;

2. 当前CSG不支持配置多个域控,例如父域和子域智能配置其中一种;

3. 成功加入AD后,当前SMB共享配置中原有的本地用户的权限将被移除。

当成功加入AD域后,接下来就可以针对不同的用户配置权限了。对于云存储网关而言,其支持两种级别上的权限设置,一是在共享级别的权限设置,也就是说单个用户或用户组对共享里面所有的文件夹均具有同样的权限,另一种是文件夹级别的权限设置,即让同一用户或用户组对不用的文件夹拥有不同的权限,但这种在文件夹级别的权限设置需要额外使用到云存储网关的WIndows权限控制相关功能。那么接下来,笔者将对这两种级别上权限设置流程以及在配置实践中需要注意的一些事项分别作简单介绍。

共享级别权限设置

在共享级别上实现不同用户的权限隔离比较简单,在共享的设置菜单里就能够做到。在加入AD域成功后,在网关控制台的共享页签里找到需要配置权限的SMB共享,点击设置,在读写权限用户与只读权限用户中通过输入相应的用户或者用户组的名字即可。image.png

添加SMB共享AD域用户或用户组的格式有所不同,可以参开:添加SMB共享AD域用户或用户组

比如这里笔者已提前在AD域里创建了两个用户user1和user2,分别在控制台对其设置有不同的权限:user1具有读写权限;user2具有只读权限。image.png

接下来,就可以用WIndows客户端来访问这个文件共享了。首先在添加网络文件夹映射时以user1的域账号进行登录,点击确定挂载成功后,由于已经赋予user1读写权限,所以试着创建了一个文件夹完全没有问题。

image.png

接着我们切换到只读用户user2,同样以域账号登录,可以发现对共享进行访问完全没有问题,但如果创建一个新文件夹则会报错,不被允许。

image.png

这里需要注意的是,如果以完全没有访问权限的用户在WIndows客户端进行挂载访问,则在输入用户名密码时,就会看到无法访问共享的提示,这里笔者以一个AD域中的user3用户为例,得到的结果如图所示:

image.png

在共享级别对不同用户设置权限就介绍在这里,下面将对在文件/文件夹级别的权限设置进行介绍。

文件/文件夹级别权限设置

若对同一用户在不同文件夹或文件上配置不同的权限。需要使用到云存储网关提供的Windows权限控制相关功能,Windows权限控制功能是云存储网关在1.1.0版本推出的新特性,其目的就是给用户提供更加灵活的用户权限配置,满足不同用户的需求,具体来说它能够允许用户进行精细到每个文件或者文件夹粒度的权限控制,能够有效的保证数据安全性。

Windows权限控制功能是需要结合AD域服务一起使用的,所以在使用该功能时首先需要将文件网关加入到AD域。

同在共享级别进行权限隔离不同,在使用Windows权限控制功能来对文件/文件夹进行权限配置时,需要在创建SMB共享时勾选上“Windows权限支持”功能,在勾选上该功能够,会自动弹出一个“基于枚举的访问”选项,其功能可以进一步对访问者隐藏没有访问权限的文件夹和文件。这里为了更加直观的展示对同一用户不同文件/文件夹配置权限,开启了“基于枚举的访问”功能,如果不需要的话,可以在创建共享时不勾选该选项。


image.png

共享创建成功之后,就可以在WIndow客户端通过右键对单个文件夹和文件进行权限设置。首先登录一台在域里面的机器,笔者的客户端是Windows Server 2016,由于并没有在云存储网关配置进行任何权限配置,任意域账号均可以访问该共享,这个我们就以user3进行登录,成功创建了一个文件夹user3-dir。同时为了后续的对比,也创建了一个文件夹every-dir。

image.png

右键user3-dir这个文件夹,点击“属性”->“安全”->“高级”可以看到当前这个目录具体的一些权限配置信息。如图所示:

image.png

user3是当前文件夹的所有者,对这个文件夹有完全的控制权限。“Domain Users”是user3所在的用户组,对当前文件夹拥有读和执行的权限,“Everyone”具有与“Domain Users”相同的权限配置。“CREATOR OWNER”和“CREATOR GROUP”是会被子文件夹和子文件继承的权限,指新建出来的子文件或者文件夹的默认所有者以及对应组的权限。由于目前没有对该文件夹进行任何设置,使用其他用户进行挂载访问时,该文件夹均能正常显示与访问。

接下来,笔者将演示如何通过设置权限来是这个文件夹只能被user3访问。首先需要删除“Domain Users和“Everyone”这两个组的权限信息,由于这两个的权限是从父目录继承下来的,所以需要禁止掉当前文件夹的继承功能。

image.png

接下来,使用域账号用户user1登录进行挂载访问,可以看到在文件管理器中只有every-dir这一个文件夹,而user3-dir文件夹被隐藏掉了(开启了基于枚举的访问功能)

image.png                                                          

同样的,我们可以再创建一个user1-dir的目录,并配置成这个文件夹只有user1可以访问。这样我们共享里面的user1-dir与user3-dir这两个就可以分别给不同的用户进行访问使用,在权限上做到了隔离,提高了安全性。

通过前面的例子笔者在共享里面创建了两个文件夹,并且两个不同的用户对这两个文件夹具有不同的控制权限。在实际使用时用户可以根据自己的选择将某个文件夹授予给更多的用户或者用户组,只需要右键属性->安全->编辑对某个文件夹添加新的用户即可。

image.png

在使用Windows权限控制时,文件或文件夹的权限信息保存在其对应OSS对象的元数据中。SMB文件共享的根目录的默认权限为所有人可以完全访问。建议您不要修改根目录的权限,而是对根目录下的顶级文件夹进行设置。根目录的权限只保存在网关本地。无法保存在OSS对象中。

用户设置AD信息时输入的管理员账号仍然拥有管理员权限,可以访问所有共享里面的文件夹和文件。所以在权限配置有误的时候,可以使用管理员账号重新设置。


总结

本文通过笔者实践展示了如何利用云存储网关搭建一个和Active Directory集成的文件共享服务器,同时具体介绍了如何在共享级别针对不同的域用户设置权限,以及利用Windows权限控制功能实现在文件夹级别设置不同的权限。

相关实践学习
1分钟 Serverless搭建高性能网盘
本场景将使用阿里云函数计算、文件存储NAS以及开源项目Kodbox,带大家1分钟Serverless搭建个人高性能网盘,网盘可长期使用。
相关文章
|
5天前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
118 1
|
5天前
|
缓存 负载均衡 API
微服务架构下的API网关性能优化实践
【5月更文挑战第10天】在微服务架构中,API网关作为前端和后端服务之间的关键枢纽,其性能直接影响到整个系统的响应速度和稳定性。本文将探讨在高并发场景下,如何通过缓存策略、负载均衡、异步处理等技术手段对API网关进行性能优化,以确保用户体验和服务的可靠性。
|
5天前
|
负载均衡 监控 安全
构建高效微服务架构:API网关的作用与实践
在当今的软件开发中,微服务架构因其灵活性和可扩展性而受到青睐。然而,随之而来的复杂性也给维护和性能带来了挑战。本文探讨了API网关在微服务架构中的关键作用,包括请求路由、负载均衡、安全性控制以及限流熔断等方面。通过具体案例分析,我们展示了如何实现一个高性能的API网关,以支持动态的后端服务,并确保系统的高可用性和安全性。
30 2
|
5天前
|
敏捷开发 负载均衡 安全
构建高效微服务架构:API网关的作用与实践
随着现代软件开发的演进,微服务架构已成为众多企业实现敏捷开发和部署的首选模式。在本文中,我们将深入探讨微服务架构的核心组件之一——API网关。文章将首先介绍API网关的概念及其在微服务架构中的关键作用,接着详细阐述如何设计和实现一个高效的API网关,以及它如何帮助解决微服务环境中的复杂问题。通过实际案例分析,本文旨在为开发者提供构建和维护可扩展、安全且高效的微服务系统的实用指导。
|
5天前
|
消息中间件 缓存 API
微服务架构下的API网关性能优化实践
在现代的软件开发中,微服务架构因其灵活性和可扩展性被广泛采用。随着服务的细分与增多,API网关作为微服务架构中的关键组件,承担着请求路由、负载均衡、权限校验等重要职责。然而,随着流量的增长和业务复杂度的提升,API网关很容易成为性能瓶颈。本文将深入探讨API网关在微服务环境中的性能优化策略,包括缓存机制、连接池管理、异步处理等方面的具体实现,旨在为开发者提供实用的性能提升指导。
|
5天前
|
缓存 负载均衡 监控
构建高效微服务架构:API网关的作用与实践
【2月更文挑战第31天】 在当今的软件开发领域,微服务架构已成为实现系统高度模块化和易于扩展的首选方法。然而,随着微服务数量的增加,确保通信效率和管理一致性变得尤为重要。本文将探讨API网关在微服务架构中的核心角色,包括其在请求路由、安全性、负载均衡以及聚合功能方面的重要性。我们将通过具体案例分析,展示如何利用API网关优化后端服务,并讨论实施过程中的最佳实践和常见挑战。
|
5天前
|
监控 Java 应用服务中间件
长连接网关技术专题(九):去哪儿网酒店高性能业务网关技术实践
本文针对去哪儿网酒店业务网关的吞吐率下降、响应时间上升等问题,进行全流程异步化、服务编排方案等措施,进行了高性能网关的技术优化实践。
47 0
|
9月前
|
JSON 缓存 监控
基于云原生网关的流量防护实践
本文详尽地介绍了如何在云原生网关上做流量防护,包括在不同的场景下该配置何种防护规则,并给出了详细的使用路径,可以从中体验出云原生网关的流量防护功能相对于其它网关产品限流功能的优势。作为云上网关的核心功能之一,后续我们也会持续强化流量防护功能,也欢迎大家持续关注阿里云官网的 MSE 微服务引擎产品动态。
|
8月前
|
运维 监控 Cloud Native
云原生网关可观测性综合实践
云原生网关可观测性综合实践
|
8月前
|
负载均衡 Java 应用服务中间件
微服务网关的总结和实践
微服务网关的总结和实践
224 0

相关产品

  • 云存储网关
  • http://www.vxiaotou.com