添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
教程示例:基于Bucket Policy实现跨部门数据共享

基于Bucket Policy实现跨部门数据共享

企业不同部门或项目之间需要共享数据,本部门允许其他部门的用户下载共享数据,禁止写入和删除数据,以降低共享数据被误删、篡改的风险。

背景信息

部门 A 将存储在 example-bucket 存储空间(Bucket)中的数据共享给部门 B 的用户,并允许部门 B 的用户下载数据。本文介绍如何以最小权限原则对共享数据进行权限控制。在本场景下两个部门的管理员、用户与共享存储空间之间的逻辑关系如下图所示。

image

实现流程

在此场景下,A 部门的管理员可以通过配置 Bucket Policy,授予 B 部门用户允许下载,但禁止写入和删除共享数据的权限。具体配置流程如下:

前提条件

  • 企业账号已通过访问控制 RAM 创建 A 部门管理员用户及其普通用户、B 部门管理员用户及其普通用户。

    具体操作,请参见 创建 RAM 用户

  • 已获取 RAM 用户 UID。具体操作,请参见 查看 RAM 用户信息

  • 已为 RAM 用户授权

    在创建管理员用户时,A 部门的管理员由于要执行创建 Bucket、配置 Bucket Policy 等操作,因此需要管理员所属用户组具有 AliyunOSSFullAccess 权限。具体操作,请参见 RAM 用户授权

步骤 1:创建 Bucket

A 部门管理员在华东 1(杭州)地域创建 Bucket。具体步骤如下:

  1. 使用 A 部门管理员账号登录 OSS 管理控制台

  2. 单击 Bucket 列表 ,然后单击 创建 Bucket

  3. 创建 Bucket 面板,配置 Bucket 参数。

    结合本示例场景,请将 Bucket 命名为 example-bucket。关于配置 Bucket 其他各项参数的更多信息,请参见 创建存储空间

  4. 单击 完成创建

步骤 2:授予上传权限

部门 A 的管理员为本部门的用户配置允许上传共享数据的权限。具体步骤如下:

  1. 单击 步骤 1 中创建的 example-bucket。

  2. 在左侧导航栏,选择 权限控制 > Bucket 授权策略

  3. Bucket 授权策略 页面的 按图形策略添加 页签,单击 新增授权

  4. 新增授权 面板,按说明配置以下参数,其他参数保留默认配置。

    配置项

    说明

    授权资源

    选择 整个 Bucket ,授权策略对整个 Bucket 生效。

    授权用户

    选择 子账号

    您可以从下拉菜单中选择部门 A 管理员账号下允许上传数据的用户账号。如果部门 A 管理员下的用户账号较多时,您也可以直接在搜索框输入子账号名称,搜索支持模糊匹配。

    授权操作

    选择 简单设置 后,单击 读/写

    表示被授权用户可以对指定资源执行读取和写入操作。

  5. 单击 确定

    此时,允许 A 部门用户上传数据的权限配置完成。

步骤 3:授予允许下载、禁止写入和删除的权限

部门 A 的管理员为部门 B 的用户配置允许下载共享数据的权限。具体步骤如下:

  1. 单击 步骤 1 中创建的 example-bucket。

  2. 在左侧导航栏,选择 权限控制 > Bucket 授权策略

  3. Bucket 授权策略 页面的 按图形策略添加 页签,单击 新增授权

  4. 新增授权 面板,按说明配置以下参数,其他参数保留默认配置。

    配置项

    说明

    授权资源

    选择 整个 Bucket ,授权策略对整个 Bucket 生效。

    授权用户

    选择 其他账号 :输入被授权下载共享数据 B 用户的 UID。

    授权操作

    选择 简单设置 后,单击 只读(包括 ListObject) 操作。

    表示对共享资源 example-bucket 中的数据拥有查看、列举及下载权限,但无法对共享数据执行写入和删除操作。

  5. 单击 确定

    此时,部门 A 的管理员为部门 B 的用户配置授予允许下载、禁止写入和删除的权限已完成。

步骤 4:上传数据

A 部门用户上传数据到 example-bucket。具体步骤如下:

  1. 使用 A 部门用户账号登录 OSS 管理控制台

  2. 通过 https://oss.console.aliyun.com/bucket/hangzhou/example-bucket/object/upload 进入上传文件页面。

  3. 在上传文件页面,设置上传文件参数。

    选择将文件上传至 example-bucket 当前目录。关于上传文件的 ACL 以及文件上传方式的更多信息,请参见 控制台上传文件

  4. 任务列表 面板的 上传列表 页签等待任务完成,之后关闭对话框。

    此时,A 用户已完成将数据上传至共享 Bucket。

步骤 5:验证权限

权限授予成功后,通过 OSS 控制台验证 B 部门用户对共享数据仅拥有下载权限、但无法对共享数据进行写入和删除操作。

  1. 使用 B 部门用户账号登录 OSS 管理控制台

  2. 通过 https://oss.console.aliyun.com/bucket/hangzhou/example-bucket/object 进入 文件列表 页面。

  3. 文件列表 页面,验证以下权限。

    1. 验证 B 部门用户对共享数据的下载权限。

      单击 example-bucket 中任意目标文件右侧的 more > 下载

      • 下载失败,表示下载权限配置失败,请检查权限配置是否正确。

      • 下载成功,表示下载权限配置成功。

    2. 验证 B 部门用户对共享数据的上传权限。

      参考 步骤 4 上传文件。

      • 上传失败,表示上传权限配置成功。

      • 上传成功,表示上传权限配置失败,请检查权限配置是否正确。

    3. 验证 B 部门用户对共享数据的删除权限。

      单击 example-bucket 中任意目标文件右侧的 more > 彻底删除

      • 删除失败,表示删除权限配置成功。

      • 删除成功,表示删除权限配置失败,请检查权限配置是否正确。