云存储Clouder认证:存储应用与数据管理—课时3:如何做好权限控制

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 云存储Clouder认证:存储应用与数据管理—课时3:如何做好权限控制

如何做好权限控制

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

权限控制类型

OSS有以下四种类型的访问权限控制。

类型 说明 适用场景
RAM Policy RAM(Resource Access Management)是阿里云提供的资源访问控制服务。RAM Policy是基于用户的授权策略。通过设置RAM Policy,您可以集中管理您的用户(比如员工、系统或应用程序),以及控制用户可以访问您名下哪些资源的权限,比如限制您的用户只拥有对某一个Bucket的读权限。
  • 对同一账号下的不同RAM用户授予相同权限。
  • 对所有OSS资源或者多个Bucket配置相同权限。
  • 配置OSS服务级别的权限,例如列举某一账号下的所有Bucket。
  • 临时授权访问OSS时,限制临时访问密钥的权限。
Bucket Policy Bucket Policy是基于资源的授权策略。相比于RAM Policy,Bucket Policy操作简单,支持在控制台直接进行图形化配置,并且Bucket拥有者直接可以进行访问授权,无需具备RAM操作权限。Bucket Policy支持向其他账号的RAM用户授予访问权限,以及向匿名用户授予带特定IP条件限制的访问权限。
  • 对同一账号下的不同RAM用户授予不同权限。
  • 要进行跨账号或对匿名用户授权。
Bucket ACL 您可以在创建Bucket时设置读写权限ACL,也可以在Bucket创建后的任意时间内根据自己的业务需求随时修改ACL,该操作只有Bucket的拥有者可以执行。Bucket ACL分为public-read-write(公共读写)、public-read(公共读)和private(私有)三种。 对单个Bucket内的所有Object设置相同的访问权限。
Object ACL 除Bucket级别ACL以外,OSS还提供了Object级别的ACL。您可以在上传Object时设置相应的ACL,也可以在Object上传后的任意时间内根据自己的业务需求随时修改ACL。Object ACL分为继承Bucket、public-read-write(公共读写)、public-read(公共读)和private(私有)四种。 对单个Object单独授权。例如,已通过RAM Policy或者Bucket Policy将Bucket内的所有Object或者与指定Prefix匹配的Object的访问权限设置为私有,但是考虑到您需要将其中某个Object开放给所有互联网匿名用户访问,则选择Object ACL,并将ACL设置为public-read。

 

设置Bucket ACL权限

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

文件类型 文件权限设置 实现方式
企业门户网站静态资源(网站静态页面、图片、视频、网站下载资源等) 企业门户网站部分资源,匿名客户公共读权限。 OSS控制台
企业门户网站部分资源,仅注册客户公共读权限。 OSS控制台
企业门户网站管理员可读可写。 OSS控制台

小浩首先需要创建一个Bucket用来存放文件查看下表权限类型说明后,小浩希望设置Bucket ACL权限为私有

权限值

权限描述
公共读写

公共读写:任何人(包括匿名访问者)都可以对该Bucket内文件进行读写操作。

警告 互联网上任何用户都可以对该Bucket内的文件进行访问,并且向该Bucket写入数据。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置公共读写权限。

公共读

公共读:只有该Bucket的拥有者可以对该Bucket内的文件进行写操作,任何人(包括匿名访问者)都可以对该Bucket中的文件进行读操作。

警告 互联网上任何用户都可以对该Bucket内文件进行访问,这有可能造成您数据的外泄以及费用激增,请谨慎操作。

私有 私有:只有Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。
  • 配置Bucket ACL为私有支持以下两种模式:
  • 创建时配置Bucket ACL步骤如下:
  1. 登录OSS管理控制台
  2. 单击Bucket 列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,单击Bucket列表,然后单击创建Bucket。
  4. 在创建Bucket面板,配置读写权限为私有即可。(默认Bucket读写权限为私有)
  • 创建后修改Bucket ACL的步骤如下:
  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择权限控制 > 读写权限。
  4. 在读写权限页面,单击设置,按实际需求修改Bucket ACL。
  5. 单击保存 。

此时小浩内心有疑问,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为公共读。
  1. 登录OSS管理控制台
  2. 单击Bucket 列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择文件管理 > 文件列表
  4. 文件列表页面,单击上传文件
  5. 上传文件面板,配置文件ACL公共读即可。
  • 上传Object到Bucket后调整Object ACL。
  1. 登录OSS管理控制台
  2. 单击Bucket列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择文件管理 > 文件列表
  4. 设置Object ACL。
    1. 进入设置读写权限面板。您可以通过以下两种方式进入设置读写权限面板。
      • 在目标文件右侧的操作栏下,单击详情,然后单击设置读写权限
      • 在目标文件右侧的操作栏下,选择> 设置读写权限
    1. 设置读写权限面板,按实际需求设置读写权限。

   5. 单击确定

 

 

设置Bucket Policy

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

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

  • 使用OSS控制台,对指定用户设置为只读权限。满足企业门户网站部分资源设置为,仅注册客户为公共读权限。
  1. 登录OSS管理控制台
  2. 单击Bucket 列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择权限控制>Bucket 授权策略
  4. Bucket 授权策略页面的按图形策略添加页签,单击新增授权
  5. 在新增授权面板,按以下说明配置各项参数,然后单击确定
    • 授权资源
      • 指定资源:指定目录为 video/*
    • 授权用户
      • 指定账号:指定“用户A”的RAM子账号
    • 授权操作
      • 只读(不包含ListObject操作)

   6. 单击确定

 

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

  • 使用OSS控制台,完成对匿名用户设置为只读权限,满足所有用户可以播放视频的需求。
  1. 登录OSS管理控制台
  2. 单击Bucket 列表,然后单击目标Bucket名称。
  3. 在左侧导航栏,选择权限控制>Bucket 授权策略
  4. Bucket 授权策略页面的按图形策略添加页签,单击新增授权
  5. 在新增授权面板,按以下说明配置各项参数,然后单击确定
    • 授权资源
      • 指定资源:指定目录为 guest/*
    • 授权用户
      • 所有账号(*)
    • 授权操作
      • 只读(不包含ListObject操作)

   6. 单击确定

 

设置RAM Policy

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

  • 使用RAM控制台,完成RAM Policy的配置。小浩的同事即可通过子账号登陆阿里云,查看Bucket中的视频信息。
  1. 登录RAM管理控制台
  2. 左侧导航栏,选择身份管理>用户>创建用户
    • 填写登录名称
    • 访问方式,勾选控制台访问
    • 点击确定,完成子账号创建。

    3. 在左侧导航栏,选择身份管理>用户,选择上一步创建的用户,单击添加权限。

    • 授权范围,选择整个云账号
    • 授权主体,选择选择上一步创建的用户。
    • 选择权限,单击系统策略,单击AliyunOSSReadOnlyAccess。
    • 点击确定,完成子账号授权。





练习实验:基于对象存储OSS实现企业门户网站托管

https://developer.aliyun.com/adc/scenario/exp/dd9b0b7a9419465ea92e702f3ca0a10e

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
5月前
|
存储 缓存 固态存储
|
存储 边缘计算 数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
337 0
|
1月前
|
存储 安全 数据管理
探索区块链技术在医疗数据管理中的应用
区块链技术,一种最初为比特币而创建的分布式账本技术,已经逐渐渗透到各个行业,其中包括医疗领域。本文将深入探讨区块链技术如何革新医疗数据管理系统,提高数据安全性和互操作性,同时降低运营成本。我们将从区块链的基本原理出发,分析其在保护患者隐私、实现数据共享及优化病历管理方面的具体应用案例和潜在挑战。最后,通过实际案例和未来展望,揭示区块链技术在医疗数据管理中的巨大潜力和发展前景。
|
1月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
2月前
|
存储 安全 数据管理
探索区块链技术在医疗数据管理中的应用
随着信息技术的迅猛发展,区块链作为一种分布式账本技术,其在多个领域的应用潜力逐渐被挖掘。尤其在医疗数据管理领域,区块链技术以其独特的不可篡改性、去中心化特征和高透明度,为解决数据安全和隐私保护问题提供了新的解决方案。本文将深入探讨区块链技术如何革新现有的医疗数据管理体系,包括其对提高数据安全性、确保数据完整性、促进跨机构数据共享等方面的贡献,并分析面临的挑战与未来的发展方向。
54 2
|
2月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
69 0
|
2月前
|
SQL 数据管理 关系型数据库
SQL与云计算:利用云数据库服务实现高效数据管理——探索云端SQL应用、性能优化、安全性与成本效益,为企业数字化转型提供全方位支持
【8月更文挑战第31天】在数字化转型中,企业对高效数据管理的需求日益增长。传统本地数据库存在局限,而云数据库服务凭借自动扩展、高可用性和按需付费等优势,成为现代数据管理的新选择。本文探讨如何利用SQL和云数据库服务(如Amazon RDS、Google Cloud SQL和Azure SQL Database)实现高效的数据管理。通过示例和最佳实践,展示SQL在云端的应用、性能优化、安全性及成本效益,助力企业提升竞争力。
56 0
|
4月前
|
存储 监控 数据管理
数据库原理与应用——简答题练习(数据管理技术发展、数据库主要特征、数据模型、关系模型、实体性之间的关系、DBMS的功能、相关术语解释、数据库系统)
数据库原理与应用——简答题练习(数据管理技术发展、数据库主要特征、数据模型、关系模型、实体性之间的关系、DBMS的功能、相关术语解释、数据库系统)
57 0
|
5月前
|
存储 数据管理
存储应用与数据管理训练营等你打卡
存储应用与数据管理训练营等你打卡
41 0
|
5月前
|
安全 数据管理 测试技术
网络安全与信息安全:防范漏洞、加强加密与提升安全意识深入探索自动化测试框架的设计原则与实践应用化测试解决方案。文章不仅涵盖了框架选择的标准,还详细阐述了如何根据项目需求定制测试流程,以及如何利用持续集成工具实现测试的自动触发和结果反馈。最后,文中还将讨论测试数据管理、测试用例优化及团队协作等关键问题,为读者提供全面的自动化测试框架设计与实施指南。
【5月更文挑战第27天】 在数字化时代,网络安全与信息安全已成为维护国家安全、企业利益和个人隐私的重要环节。本文旨在分享关于网络安全漏洞的识别与防范、加密技术的应用以及提升安全意识的重要性。通过对这些方面的深入探讨,我们希望能为读者提供一些实用的建议和策略,以应对日益严峻的网络安全挑战。 【5月更文挑战第27天】 在软件开发周期中,自动化测试作为保障软件质量的关键步骤,其重要性日益凸显。本文旨在剖析自动化测试框架设计的核心原则,并结合具体案例探讨其在实际应用中的执行策略。通过对比分析不同测试框架的优缺点,我们提出一套高效、可扩展且易于维护的自动