简介
阿里云云存储网关支持以传统文件访问协议(NFS/SMB)来访问阿里云对象存储服务,网关通过暴露一个文件共享目录来和后端的OSS Bucket对应。用户操作对应的文件共享也就相当于在相应的OSS Bucket上进行操作,大大的便利了习惯于传统文件协议的用户。云存储网关还通过缓存技术,将一部分热数据缓存在共享对应的缓存盘里,不用每次读请求都到OSS Bucket里获取数据,而是直接返回网关已经缓存的数据,不用每次写请求都写入到OSS Bucket,而是缓存数据在网关里,最后一次性写入到OSS Bucket里,大大提高了效率。
文件共享服务器
文件共享服务器是使用传统文件访问协议(NFS/SMB)的一个典型场景。本文接下来的篇章主要探讨如何利用云存储网关来搭建一个Windows的文件共享服务器。因为Windows一般使用SMB协议,所以这里也就是主要讨论的是云存储网关SMB共享相应的功能。我们都知道阿里云对象存储服务是一个支持海量存储空间同时稳定可靠的存储服务,云存储网关共享的实际存储空间是OSS Bucket。因而用户在感受到文件访问协议便捷的同时也能够享受到阿里云对象存储服务的诸多便利,比如海量的存储空间,高达12个9的数据可靠性等。Active Directory(活动目录)是Windows Server提供的一种服务,可以用来集中管理用户和计算机账号,并提供单一登录的功能,是应用非常广泛的一种企业服务。文件共享服务器一般也会和Active Directory做集成,从而提供统一的用户鉴权功能。
实践
要能够使用AD域里的账号信息来访问SMB共享,首先需要在文件网关侧配置AD域的相关信息。主要有两个步骤,第一个步骤是设置DNS服务器,这个主要是用来解析AD服务相关的一些域名地址。一般来说,AD域控制器同时也是DNS服务器。第二个步骤就是配置具体的AD域的相关管理员账号密码等信息了。
首先是设置DNS服务器,这里我们的网关是线上版本的文件网关,默认阿里云会提供两个DNS服务器地址,根据网关帮助文档将第一个DNS服务器地址替换为AD域所需的DNS服务器地址。DNS地址设置成功之后,再填入AD域控制器IP以及管理员账号和密码就可以连接AD域服务器了。下图是成功连接AD域控制器之后的截图。
当连接成功AD域之后,SMB用户菜单页里面显示的就是存在于AD域服务器里面的用户账号信息了。文件网关会定期去刷新AD域服务器里面的账号信息,所以新增删除账号等信息就可以集中在域控制器里面操作了。接下来我们后面就可以针对不同的用户配置权限了。
通过网关控制台创建一个SMB共享并进行挂载非常的方便,这里不做赘述,具体可见利用云存储网关在Windows上挂载OSS。下图是笔者已经创建好的一个SMB共享。
当网关AD设置成功之后,就可以利用AD域服务器里面已经存在的用户名密码来对SMB共享进行鉴权了。如果只需要在共享级别设置权限控制,在共享的设置菜单里就能够做到。如果需要配置的访问权限比较复杂,想对不同的文件夹或者文件配置不同的权限,那就需要用到更精细的Windows ACL相关功能,这个会有后续文章做进一步的介绍。这里我们为Administrator用户设置了读写权限,user1只读权限,其他用户则没有被赋予任何权限。
一切就绪,我们可以用Windows客户端来访问这个文件共享了。客户端是存在AD域里的一台机器,我们首先以域账号Administrator登录这台机器。以域账号登录机器的好处是,后续在客户端里面访问文件共享的时候,Windows会自动帮我们以登录的账号密码去访问文件共享,而不再需要提示用户输入用户名密码。因为登录的账号是Administrator,在前面我们已经赋予了它读写权限,所以试着创建了一个文件夹完全没有问题。
接着我们切换到只读用户user1,同样以域账号登录。访问共享没有问题,但是尝试创建一个新文件夹不被允许。
最后我们以完全没有权限的用户user2登录Windows客户端并访问共享。弹出对话框要求输入用户名密码,但是即使输入正确的user2的密码之后,也无法访问共享。
至此我们就完成了搭建一个文件共享服务器的完整过程。我们展示了如何创建一个SMB共享,如何和Active Directory服务进行集成,如何对用户进行权限配置的完整过程以及最后用户权限的验证。
小结
本文通过具体的实践展示了如何利用云存储网关搭建一个和Active Directory集成的文件共享服务器。让用户在感受到传统文件协议的便利的同时可以享受阿里云对象存储服务所带来的海量存储空间以及高可靠等独特优势。并且整个搭建过程操作便捷,只需要简单的几个步骤就可以完成。文中具体介绍了如何在共享级别针对不同的域用户设置权限,如果需要对不同的文件夹设置不同的权限,则需要用到云存储网关的Windows ACL相关的功能,这个后面会有进一步的介绍。