企业不同部门或项目之间需要共享数据,本部门允许其他部门的用户下载共享数据,禁止写入和删除数据,以降低共享数据被误删、篡改的风险。
背景信息
部门A将存储在example-bucket存储空间(Bucket)中的数据共享给部门B的用户,并允许部门B的用户下载数据。本文介绍如何以最小权限原则对共享数据进行权限控制。在本场景下两个部门的管理员、用户与共享存储空间之间的逻辑关系如下图所示:
实现流程
在此场景下,A部门的管理员可以通过配置Bucket Policy,授予B部门用户允许下载,但禁止写入和删除共享数据的权限。具体配置流程如下:
- 步骤1:创建Bucket
A部门管理员创建一个用于共享数据的Bucket(example-bucket)。
- 步骤2:授予上传权限
A部门管理员通过Bucket Policy,授权本部门用户上传共享数据的权限。
- 步骤3:授予允许下载、禁止写入和删除的权限
A部门管理员通过配置Bucket Policy,授权B部门用户允许下载、禁止写入和删除的权限。
- 步骤4:上传数据
A部门用户上传数据到example-bucket。
- 步骤5:验证权限
验证B部门用户对共享数据仅拥有下载权限、但无法对共享数据进行写入和删除操作。
前提条件
- 企业账号已通过访问控制RAM创建A部门管理员用户及其普通用户、B部门管理员用户及其普通用户。
有关创建RAM用户的详情,请参见创建RAM用户。
- 已获取RAM用户UID。
有关查看RAM用户基本信息,例如UID等,详情请参见查看RAM用户基本信息。
- 已为RAM用户授权
在创建管理员用户时,A部门的管理员由于要执行创建Bucket、配置Bucket Policy等操作,因此需要管理员所属用户组具有AliyunOSSFullAccess权限。有关RAM用户授权详情,请参见为RAM用户授权。
步骤1:创建Bucket
A部门管理员创建Bucket的具体步骤如下:
步骤2:授予上传权限
部门A的管理员为本部门的用户配置允许上传共享数据的权限,具体步骤如下:
步骤3:授予允许下载、禁止写入和删除的权限
部门A的管理员为部门B的用户配置允许下载共享数据的权限。具体步骤如下:
步骤4:上传数据
A部门用户上传数据到example-bucket。具体步骤如下:
步骤5:验证权限
权限授予成功后,通过OSS控制台验证B部门用户对共享数据仅拥有下载权限、但无法对共享数据进行写入和删除操作。
- 使用B部门用户账号登录OSS管理控制台。
- 单击Bucket列表,之后单击目标Bucket(example-bucket)。
- 单击文件管理。
- 验证权限。