您可以基于AD(Active Directory)域来实现对阿里云SMB协议文件系统的用户身份和访问权限的管理。

背景信息

阿里云SMB协议文件存储服务支持基于AD域系统的用户身份认证及文件系统级别的权限访问控制。以域用户身份连接并访问SMB文件系统,可以实现对SMB协议文件系统中的文件及目录级别的访问控制的要求。目前的阿里云SMB协议文件存储服务不支持多用户的文件和目录级别的权限访问控制,只提供了支持云账号以及源地址IP权限组的白名单机制为基础的文件系统级别的鉴权和访问控制。

说明 目前,SMB ACL功能只支持亚太南部1(孟买)、中国香港(香港)、华东2(上海)、英国(伦敦)、欧洲中部 1(法兰克福)、西南1(成都)、亚太东南 2(悉尼)、亚太东南 5(雅加达)、美国东部1(硅谷)、美国西部1(弗吉尼亚)、华北3(张家口)、华东1(杭州)、华北5(呼和浩特)、华东2(北京)地域。

如果您所在的区域还不支持SMB ACL功能,请提交工单。同时,询问上传Keytab文件并开通SMB协议文件系统AD和ACL特性的方法。

前提条件

创建用户认证及访问控制的流程

目前,阿里云文件存储NAS支持用户VPC(Virtual Private Cloud)或者用户IDC(Internet Data Center)内的AD域控制器的用户管理和文件系统访问权限控制,这样可以打通混合云用户的云上和云下用户认证以及文件系统权限控制。阿里云SMB协议文件存储服务可以依赖用户部署在线下或者阿里云上的AD域控制器,通过Kerberos网络身份认证协议来进行AD域用户身份的认证。用户可以在配置了域控制器的Windows或者Linux服务器上,以域用户身份连接并访问SMB文件系统,文件系统服务器可以得到用户的域身份,然后达到目录和文件级别的访问权限控制。如下图所示。NAS_基于AD域系统的用户认证及访问控制
  1. 将阿里云SMB协议文件系统挂载点接入AD域内。
    1. 创建阿里云NAS文件系统的服务账号。
    2. 注册NAS文件系统挂载点域名。
    3. 为NAS文件系统挂载点服务生成Keytab密钥表文件。
    4. 下载并上传阿里云文件系统服务账号的keytab。
  2. 登录阿里云NAS控制台管理NAS文件系统。
    选择文件系统 > 文件系统列表,找到目标文件系统,单击文件系统ID或者管理。在访问控制区域,单击开启(或关闭),配置文件系统的用户认证和访问控制,上传Keytab文件。
    完成Keytab文件上传后,Keytab信息就保存到了阿里云NAS文件系统。这样,阿里云SMB文件系统挂载点接入到了AD域内,您可以开始以AD域用户身份挂载使用阿里云SMB协议文件系统。 详情请参见以AD域用户身份挂载使用阿里云SMB协议文件系统
  3. 通过客户端实现用户认证和访问控制。
    用户通过VPC内的VM或者IDC内的应用资源访问SMB文件系统建立连接的时候,首先可以通过目前已经实现的文件系统权限组进行权限验证,根据配置的权限组信息控制客户端的连接及访问,然后根据下面的逻辑进行用户认证和访问控制。
    1. 用户通过AD域访问文件系统建立连接后,通过SMB协议协商用户认证协议。
    2. 文件服务器通过查找用户文件系统的配置,查询是否配置了Kerberos认证支持。

      详情请参见Kerberos网络身份认证协议介绍及SMB文件系统对其的支持

    3. 用户客户端向AD(用户VPC或是用户IDC内的AD服务器)发出访问阿里云文件系统服务的请求。
    4. AD域控制器认证用户后用阿里云文件系统服务账号的密钥加密用户信息,返回给用户客户端。
    5. 用户客户端将加密的用户信息通过SMB Session Setup传给SMB文件服务器。
    6. 文件服务器通过用户提供的文件系统Keytab解密用户信息。
      说明 其后在该Session上的所有访问都用该用户做为授权对象。
    7. 通过认证后,文件系统返回给用户客户端认证通过。否则拒绝Session Setup请求。
    8. 应用向文件系统发出文件系统访问,读写及其它请求。
    9. 文件服务器向用户系统返回文件访问结果。

      文件访问控制由文件系统服务器执行。文件服务器根据Session的用户信息和文件系统的目录或文件的访问权限配置,允许或者拒绝用户访问。