云存储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,搭建一个在线教育视频课程分享网站。
相关文章
|
3月前
|
存储 安全 数据管理
探索区块链技术在医疗数据管理中的应用
区块链技术,一种最初为比特币而创建的分布式账本技术,已经逐渐渗透到各个行业,其中包括医疗领域。本文将深入探讨区块链技术如何革新医疗数据管理系统,提高数据安全性和互操作性,同时降低运营成本。我们将从区块链的基本原理出发,分析其在保护患者隐私、实现数据共享及优化病历管理方面的具体应用案例和潜在挑战。最后,通过实际案例和未来展望,揭示区块链技术在医疗数据管理中的巨大潜力和发展前景。
|
3月前
|
缓存 负载均衡 数据管理
深入探索微服务架构的核心要素与实践策略在当今软件开发领域,微服务架构以其独特的优势和灵活性,已成为众多企业和开发者的首选。本文将深入探讨微服务架构的核心要素,包括服务拆分、通信机制、数据管理等,并结合实际案例分析其在不同场景下的应用策略,旨在为读者提供一套全面、深入的微服务架构实践指南。**
**微服务架构作为软件开发领域的热门话题,正引领着一场技术革新。本文从微服务架构的核心要素出发,详细阐述了服务拆分的原则与方法、通信机制的选择与优化、数据管理的策略与挑战等内容。同时,结合具体案例,分析了微服务架构在不同场景下的应用策略,为读者提供了实用的指导和建议。
|
4月前
|
存储 安全 数据管理
探索区块链技术在医疗数据管理中的应用
随着信息技术的迅猛发展,区块链作为一种分布式账本技术,其在多个领域的应用潜力逐渐被挖掘。尤其在医疗数据管理领域,区块链技术以其独特的不可篡改性、去中心化特征和高透明度,为解决数据安全和隐私保护问题提供了新的解决方案。本文将深入探讨区块链技术如何革新现有的医疗数据管理体系,包括其对提高数据安全性、确保数据完整性、促进跨机构数据共享等方面的贡献,并分析面临的挑战与未来的发展方向。
81 2
|
4月前
|
UED 存储 数据管理
深度解析 Uno Platform 离线状态处理技巧:从网络检测到本地存储同步,全方位提升跨平台应用在无网环境下的用户体验与数据管理策略
【8月更文挑战第31天】处理离线状态下的用户体验是现代应用开发的关键。本文通过在线笔记应用案例,介绍如何使用 Uno Platform 优雅地应对离线状态。首先,利用 `NetworkInformation` 类检测网络状态;其次,使用 SQLite 实现离线存储;然后,在网络恢复时同步数据;最后,通过 UI 反馈提升用户体验。
104 0
|
4月前
|
SQL 数据管理 关系型数据库
SQL与云计算:利用云数据库服务实现高效数据管理——探索云端SQL应用、性能优化、安全性与成本效益,为企业数字化转型提供全方位支持
【8月更文挑战第31天】在数字化转型中,企业对高效数据管理的需求日益增长。传统本地数据库存在局限,而云数据库服务凭借自动扩展、高可用性和按需付费等优势,成为现代数据管理的新选择。本文探讨如何利用SQL和云数据库服务(如Amazon RDS、Google Cloud SQL和Azure SQL Database)实现高效的数据管理。通过示例和最佳实践,展示SQL在云端的应用、性能优化、安全性及成本效益,助力企业提升竞争力。
75 0
|
21天前
|
人工智能 关系型数据库 分布式数据库
拥抱Data+AI|“全球第一”雅迪如何实现智能营销?DMS+PolarDB注入数据新活力
针对雅迪“云销通App”的需求与痛点,本文将介绍阿里云瑶池数据库DMS+PolarDB for AI提供的一站式Data+AI解决方案,助力销售人员高效用数,全面提升销售管理效率。
|
4月前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
114 1
|
5月前
|
SQL NoSQL 数据管理
数据管理DMS使用问题之如何批量导入MongoDB的数据文件
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
1月前
|
关系型数据库 分布式数据库 数据库
云栖大会|从数据到决策:AI时代数据库如何实现高效数据管理?
在2024云栖大会「海量数据的高效存储与管理」专场,阿里云瑶池讲师团携手AMD、FunPlus、太美医疗科技、中石化、平安科技以及小赢科技、迅雷集团的资深技术专家深入分享了阿里云在OLTP方向的最新技术进展和行业最佳实践。
|
2月前
|
存储 人工智能 安全
【荣誉奖项】荣获2024数据治理优秀产品!瓴羊Dataphin联合DAMA发布数据管理技能认证
瓴羊Dataphin连续俩年获得DAMA年度优秀数据治理产品奖,本次与DAMA联合发布“DAMA x 瓴羊 数据管理技能认证”,助力提升全民数据素养。
158 0
【荣誉奖项】荣获2024数据治理优秀产品!瓴羊Dataphin联合DAMA发布数据管理技能认证