阿里云存储应用

打印 上一主题 下一主题

主题 1693|帖子 1693|积分 5079

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如何做好权限控制

小浩在梳理门户网站静态资源时,发现有些资源是仅内部员工可访问,有些资源是特定的注册客户可访问,还有些资源是匿名客户也可以访问。针对不同场景、不同用户,小浩该如何规划企业门户网站静态资源的权限控制呢?

权限控制范例
OSS有以下四种范例的访问权限控制。

设置Bucket ACL权限

针对门户网站的场景,小浩对企业门户网站需要存放的文件,进行了访问权限范例的梳理:

小浩起首需要创建一个Bucket用来存放文件,查看下表权限范例分析后,小浩希望设置Bucket ACL权限为私有



  • 设置Bucket ACL为私有支持以下两种模式:
创建时设置Bucket ACL步调如下:

创建后修改Bucket ACL的步调如下:

此时小浩心田有疑问,Bucket ACL已经设置为私有权限了,企业门户网站静态资源要求的是公共读权限,该如那边置惩罚呢?


  • 起首我们回顾一下Bucket和Object的关系。在上传数据(例如文档、图片、音视频等)到OSS之前,需要创建一个存储空间(Bucket),然后将文件(Object)上传到该Bucket中。



  • Bucket已经设置为私有,那Object是不是只能设置为私有?答案是否定的,上传Object时可以选择继续Bucket ACL或指定Object ACL。

设置Object ACL权限

于是,小浩上传网站匿名可访问的静态资源到Bucket时,需要设置Object ACL权限为公共读。
设置Object ACL为公共读支持以下两种方式:


  • 上传Object时设置Object ACL为公共读。



  • 上传Object到Bucket后调整Object ACL。

设置Bucket Policy

小浩已经将存放文件的Bucket ACL设置为私有权限,如果要授权他人访问或使用自己的OSS资源,可以通过多种权限控制策略向他人授予资源的特定权限。


  • 企业门户网站注册客户,需要有对部分视频有读的权限。可以通过Bucket Policy将指定用户设置为只读权限。假设该视频资源存放在OSS Bucket的video目录下,如下图所示,设置步调如下:



  • 使用OSS控制台,对指定用户设置为只读权限。满意企业门户网站部分资源设置为,仅注册客户为公共读权限。



  • 企业门户网站匿名用户,需要有对部分视频进行播放的权限。可以通过Bucket Policy对匿名用户设置为只读权限。假设该视频资源存放在OSS Bucket的guest目录下。如下图所示,设置步调如下:



  • 使用OSS控制台,完成对匿名用户设置为只读权限,满意所有效户可以播放视频的需求。


设置RAM Policy

在日常运维过程中,考虑到IT团队内部成员需要登陆到OSS控制台,查看Bucket中的视频、监控指标等信息。为了安全考虑,小浩创建RAM子账号为“opsuser”,并授权“opsuser”子账号具有OSS 产品只读访问权限。


  • 使用RAM控制台,完成RAM Policy的设置。小浩的同事即可通过子账号登陆阿里云,查看Bucket中的视频信息。


如何做好数据安全

数据加密

小浩通过权限设置的练习,已经认识四种权限控制使用的场景了。那如何包管数据的安全?小浩脑海里的第一个想法是,对数据加密。对象存储OSS目前支持以下两种数据加密方式。
客户端加密

客户端加密是指将文件(Object)发送到对象存储OSS之前在本地进行加密,使用客户端加密功能时,需要对主密钥的完整性和正确性负责。因维护不当导致主密钥用错或丢失,从而导致加密数据无法解密。
对于主密钥的使用,目前支持如下两种方式:


  • 使用KMS托管用户主密钥
  • 使用用户自主管理密钥
服务器端加密

设置服务器端加密,在存储空间(Bucket)上传文件(Object)时OSS会对收到的文件进行加密再将得到的加密文件恒久化保存。当您通过GetObject哀求下载文件时,OSS自动将加密文件解密后返回给用户,并在响应头中返回x-oss-server-side-encryption,用于声明该文件进行了服务器端加密。服务器端加密提供以下两种方式。

小浩对比之后,终极选择使用服务器端加密,加密方式选择使用OSS完全托管密钥进行加解密。设置步调如下:

设置服务器端加密支持创建Bucket时设置和后期设置两种模式:



  • 创建Bucket时开启服务器端加密




  • 已创建的Bucket开启服务器端加密





 
跨域设置

企业门户网站静态资源存放在OSS Bucket里,企业门户网站和OSS Bucket的域名不同,企业门户网站调用OSS Bucket中的资源会存在跨域访问问题,导致资源无法访问。那什么是跨域访问?小浩该如何解决跨域访问问题呢?


跨域访问

跨域访问是欣赏器出于安全考虑而设置的一个限制,即同源策略,如果缺少了同源策略,欣赏器很容易受到XSS、CSRF等攻击。同源基于"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。
对于http://www.aliyun.com/org/test.html的同源检测示例: 




跨域设置设置步调:

     

  • 登录OSS管理控制台。
  • 单击Bucket列表,然后单击目标Bucket名称。
  • 在左侧导航栏,选择数据安全 > 跨域设置
  • 跨域设置页面,单击创建规则
  • 创建跨域规则面板,按以下分析设置设置跨域规则。
     



    • 来源
    • 允许Methods
    • 允许Headers
    • 袒露Headers
    • 缓存时间
    • 返回Vary: Origin

    6. 单击确定


防盗链

小浩又有一个思考,企业门户网站的部分静态资源(视频、图片)设置的是(Object ACL)公共读权限,如何防止别的网站盗用自己网站的静态资源呢?避免给公司造成丧失(合法权益受损、服务器load增加)。


防盗链功能

对象存储OSS支持对存储空间(Bucket)设置防盗链,通过对访问来源设置白名单的机制,避免OSS资源被其他人盗用。
防盗链功能图解



  • 未设置防盗链之前,别的网站盗用企业门户网站静态资源。



  • 设置防盗链之后,别的网站无法盗用企业门户网站静态资源。

防盗链功能设置步调

     

  • 登录OSS管理控制台。
  • 单击Bucket列表,然后单击目标Bucket名称。
  • 在左侧导航栏,选择数据安全 > 防盗链
  • 防盗链页面,打开防盗链开关。              
     

  • Referer输入框中,填写域名或IP地址。本案例中设置为:https://10.10.10.10
  • 空Referer区域,设置为允许



版本控制

小浩发现,在企业门户网站运维过程中,需要对托管在OSS Bucket上的静态资源进行删除、覆盖等利用。但出于数据安全的考虑,该如何对错误删除、覆盖的文件进行规复呢?是否支持设置定期备份静态资源呢?
OSS提供的版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除利用将会以汗青版本的情势保存下来。您在错误覆盖或者删除对象(Object)后,可以大概将Bucket中存储的Object规复至任意时间的汗青版本。


文件覆盖场景

对于网盘类、在线协作类场景,文件会被频仍修改和覆写,针对文件的编辑会产生大量的临时版本。您可以使用版本控制功能找回某个时间点的版本。


删除数据场景

当前OSS不提供回收站功能,若出现数据误删除时,可使用版本控制功能,规复已删除的数据。



版本控制设置步调



  • 新建Bucket时开启版本控制。





  • 已创建的Bucket开启版本控制。




停息版本控制

开启版本控制后,可以随时停息版本控制,这样可以停止在Bucket中继续累积同一Object的新版本。停息版本控制后,OSS将为新天生的Object添加versionID为null的版本,已有的汗青版本Object将继续保存。



规复版本

在开启版本控制下的Bucket中删除Object时,汗青版本Object不会被真正删除,而是产生一个删除标志来标识Object的当前版本是删除状态。此时可以在控制台规复版本。




如何做好数据管理

完成前面的模块后,小浩已经将企业门户网站上的静态资源(用户视频、附件等文件)托管在OSS Bucket上。企业门户网站由OA、邮箱、门户(首页、新闻、关于我们)等模块组成。此中门户模块使用的是静态页面。
小浩思考了一下,门户网站都是高频访问的静态资源,如果通过OSS Bucket完成门户模块的静态网站托管,服务器只需要编译运举措态文件,动静分离可以大大降低网站服务器的负载,提高网站的访问速率。
假设门户网站的域名为https://www.aliyun.com,由存放在OSS Bucket里的index.html、news/index.html和about.html组成门户模块中的首页、新闻和关于我们菜单,点击OA和邮箱菜单自动会跳转到相应的域名提供对应的服务。小浩开始进行设置。

静态网站托管

动静分离场景架构


什么是子目录首页

在控制台点击目标Bucket时,您会看到您之前上传的文件和创建的文件夹,文件夹即为子目录,以Bucket文件结构如下为示例。本案例中,由于新闻菜单中的内容较多,我们可以通过创建news子目录news作为新闻菜单的入口news目录下index.html作为新闻菜单的首页,汇总所有的新闻

您可以通过Bucket设置中的域名管理,进行绑定域名。假设您的域名是www.aliyun.com,Bucket域名为https://yourbucket.oss-cn-hangzhou.aliyuncs.com,域名绑定完成后会将用户域名(www.aliyun.com) CNAME指向OSS外网访问域名(https://yourbucket.oss-cn-hangzhou.aliyuncs.com)。


通过设置静态网站托管,设置默认首页为index.html未开通子目录首页时,访问门户网站各个页面返回如下。当您访问https://www.aliyun.com/news 时,将会由Bucket根目录的index.html返回,不符合本场景的需求。


所以,本场景下,我们需要开通子目录首页当您访问https://www.aliyun.com/news时,由Bucket子目录news中的index.html返回


设置静态网站托管设置步调



  • 未开通子目录首页
为Bucket开启静态网站托管时,未开通子目录首页时当您想要访问子目录subdir/时,系统不支持跳转至子目录下的index.html页面,而是跳转至根目录下的index.html页面。此外,当访问Bucket内不存在的文件时,返回默认错误页面。详细设置步调如下:



  • 已开通子目录首页
联合以上设置示例可知,为Bucket开启静态网站托管时,开通了子目录首页时,您希望访问子目录subdir/时,支持直接跳转至子目录下的index.html页面。此外,当访问Bucket内不存在的文件时,返回默认错误页面,并通过文件404规则指定访问不存在文件时的返回效果详细设置步调如下:



如何做好数据处置惩罚

目前企业门户网站的静态资源,依赖人工处置惩罚图片缩放、自定义裁剪、图片样式、视频转码、视频水印、视频考核、文档格式转换等。人工处置惩罚完毕后需要手动上传到OSS Bucket,处置惩罚过程繁琐,还会出错。是否有更便捷高效的方式行止理静态资源?小浩通过对象存储OSS产品功能相识到,对象存储OSS数据处置惩罚功能支持图片、文档、视频、CSV 等数据的常用处置惩罚和分析。

数据处置惩罚

图片处置惩罚参数

通过如下格式所示,联合固定格式与图片处置惩罚参数,完成图片的处置惩罚。





 图片处置惩罚设置步调如下:



媒体处置惩罚

媒体处置惩罚参数

媒体处置惩罚是由智能媒体管理(IMM)提供的对多种视频格式进行转换的处置惩罚能力。将原始视频上传保存到阿里云对象存储OSS上,通过OSS的RESTful数据处置惩罚接口x-oss-async-process,在任何时间、任何地点、任何互联网装备上对视频进行视频转码等处置惩罚。点击详见媒体处置惩罚参数。

使用REST API

您可以对文件进行异步处置惩罚时使用样式,示例如下。详细参考样式链接。

使用SDK

登录阿里云OpenAPI门户,选择智能媒体管理,可以天生媒体处置惩罚功能不同语言的示例代码。


文档处置惩罚

文档处置惩罚参数

文档转换是由智能媒体管理IMM提供的对多种文档格式进行格式转换的处置惩罚能力,将原始文档上传到阿里云对象存储OSS,通过OSS的RESTful数据处置惩罚接口x-oss-process和x-oss-async-process在任何时间、任何地点、任何互联网装备上对文档进行文档格式转换、在线预览、在线编辑等处置惩罚。 点击详见文档处置惩罚参数。


使用SDK

登录阿里云OpenAPI门户,选择智能媒体管理,可以天生文档处置惩罚功能不同语言的示例代码。



如何做好网站加快

企业门户网站的用户分布在全国,小浩通过视频访问数据发现部分用户因传输间隔较远,导致上传和下载体验非常差。小浩该如何解决用户体验问题?


传输加快

小浩使用阿里云全球分布的云机房,使用OSS传输加快全球各地用户对存储空间(Bucket)的访问,经过智能路由剖析至就近的接入点,使用优化后的网络及协议,为云存储互联网的上传、下载提供端到端的加快方案。


开启传输加快设置步调





如何做好网站高可用

如果门户网站的静态数据存储在对象存储OSS上,动态数据存放在云服务ECS数据盘上。可能存在一台云服务器ECS不可用时,业务动态数据无法包管一致的问题。是否可以让两台云服务器ECS,同时去访问一个存储装备?那么,旧的企业门户网站的数据如何迁移到NAS上?小浩该如何解决该问题呢?

处置惩罚思路

为了避免ECS存储数据的单点故障,可以通过负载平衡创建监听,添加两台服务器ECS实例。两台ECS上仅仅部署WEB服务共享同一个NAS文件存放动态数据静态数据存储在对象存储OSS Bucket

NAS实现多台ECS挂载

设置步调


 
数据迁移

小浩已经将文件存储NAS挂载到ECS实例,那旧版企业版门户网站的动态数据怎么迁移上NAS呢?小浩查看了文件存储NAS数据迁移文档,根据本场景选择了非阿里云数据迁移至云上NAS,通过rsync下令行工具完成数据迁移。

设置步调

假设ECS的公网IP是192.168.1.1,文件存储NAS在ECS上挂载的路径为/mnt/DirToSync。旧版企业门户网站要迁移的数据所在目录为DirToSync。


NAS回收站

小浩在使用对象存储OSS时,为了应对错误删除、覆盖的文件开启了版本控制。文件存储NAS中,是否也有雷同功能可以实现对误删除文件的数据保护呢?
当您误删除通用型NAS文件系统中的文件后,可以通过NAS回收站规复这些文件及其UID、GID和ACL等元数据信息。

开启回收站设置步调:
开启回收站后,被删除的文件将自动进入回收站并在规定的保存时间之后彻底删除








免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美丽的神话

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表