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

本文涉及的产品
对象存储 OSS,20GB 3个月
文件存储 NAS,50GB 3个月
对象存储 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权限控制功能实现在文件夹级别设置不同的权限。

相关文章
|
12天前
|
监控 安全 应用服务中间件
微服务架构下的API网关设计策略与实践####
本文深入探讨了在微服务架构下,API网关作为系统统一入口点的设计策略、实现细节及其在实际应用中的最佳实践。不同于传统的摘要概述,本部分将直接以一段精简的代码示例作为引子,展示一个基于NGINX的简单API网关配置片段,随后引出文章的核心内容,旨在通过具体实例激发读者兴趣,快速理解API网关在微服务架构中的关键作用及实现方式。 ```nginx server { listen 80; server_name api.example.com; location / { proxy_pass http://backend_service:5000;
|
6月前
|
敏捷开发 负载均衡 监控
探索微服务架构下的API网关设计与实践
【5月更文挑战第31天】本文将深入剖析微服务架构中的关键组件——API网关,探讨其设计理念、核心功能以及在实际项目中的应用。我们将从API网关的基本概念出发,逐步展开对其路由、负载均衡、认证授权、监控日志等方面的详细讨论,并结合实际案例,分析如何高效地实现和管理一个稳定的API网关。
|
6月前
|
缓存 监控 安全
微服务架构下的API网关设计与实践
【5月更文挑战第31天】本文深入探讨了在微服务架构中,API网关的核心作用与设计策略。通过分析网关的职责、选型标准及实现细节,文章为读者提供了一套完整的API网关解决方案。同时,结合具体案例,展示了如何在实际应用中有效部署和优化API网关,确保系统的高可用性和可扩展性。
|
2月前
|
监控 负载均衡 应用服务中间件
探索微服务架构下的API网关设计与实践
在数字化浪潮中,微服务架构以其灵活性和可扩展性成为企业IT架构的宠儿。本文将深入浅出地介绍微服务架构下API网关的关键作用,探讨其设计原则与实践要点,旨在帮助读者更好地理解和应用API网关,优化微服务间的通信效率和安全性,实现服务的高可用性和伸缩性。
57 3
|
4月前
|
负载均衡 监控 安全
微服务架构下的API网关实践
在微服务架构的实践中,API网关作为系统入口的关键组件,承载着请求路由、负载均衡、认证授权等核心功能。本文将深入探讨API网关的设计与实现,通过具体案例分析其在微服务架构中的应用场景和挑战,并分享实践经验与优化策略,旨在为开发者提供一份实用的API网关部署指南。
|
4月前
|
负载均衡 安全 应用服务中间件
微服务架构中的API网关模式与实践
在微服务架构中,API网关扮演着至关重要的角色。它不仅是客户端请求和服务之间的中介,而且负责请求的路由、聚合以及协议转换等关键功能。本文将深入探讨API网关的设计原则、实现方式及其在现代后端系统中的应用,同时提供具体案例分析以展示其在实际项目中的有效运用。
|
5月前
|
监控 负载均衡 安全
微服务架构下的API网关设计实践
【6月更文挑战第15天】本文将深入探讨在构建现代软件系统时,如何有效地设计和实现一个API网关。我们将从API网关的核心作用出发,分析其在不同场景下的应用,并结合实际案例,展示如何通过API网关提升系统的可扩展性、安全性和性能。文章旨在为后端开发人员提供一套清晰的指南,帮助他们在微服务架构中实现高效且可靠的API管理策略。
|
5月前
|
负载均衡 监控 应用服务中间件
微服务架构下的API网关设计与实践
【6月更文挑战第11天】在现代软件开发中,微服务架构因其灵活性和可扩展性而受到青睐。作为微服务系统的入口,API网关承担着请求路由、负载均衡、安全认证等关键职责。本文将深入探讨API网关的设计要点与实践策略,旨在为读者提供构建高效、稳定API网关的实用指南。
|
5月前
|
负载均衡 安全 API
微服务架构下的API网关设计与实践
【6月更文挑战第4天】在微服务架构中,API网关作为系统的统一入口,承担着请求路由、负载均衡、安全校验等关键职责。本文将深入探讨API网关的设计原则与实现技术,通过案例分析,展示如何在现代后端开发中构建高效、可靠的API网关。
|
6月前
|
负载均衡 监控 安全
构建高效微服务架构:API网关的实践与挑战
【5月更文挑战第26天】在现代软件工程中,微服务架构因其灵活性、可扩展性和独立性而受到广泛欢迎。然而,随着服务的增多和细化,系统的整体复杂性也随之上升。API网关作为微服务架构中的关键组件,它不仅负责请求的路由、负载均衡、认证授权等核心功能,还面临着性能优化、安全加固和故障处理等挑战。本文将深入探讨API网关在微服务架构中的实践应用,分析其面临的主要技术挑战,并提出相应的解决策略。

相关产品

  • 云存储网关