文档

混合云场景对象存储通过标签分类管理的解决方案

更新时间:
一键部署

标签介绍

阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务。

对象存储在混合云的标签管理解决方案,通过标签功能对Bucket进行分类管理,如同标签的Bucket设置访问权限等。通过标签功能对Object进行分类管理,如同标签的Object设置生命周期等。目前在企业版V3.16.1及以上版本中提供能力。

使用场景

大规模,复杂组织形式的用户形态下,阿里云提供多region,多集群架构模式的对象存储服务。这些提供独立服务的集群包含海量Bucket以及对象,从组织以及业务逻辑的分类管理是强需求。

对拥有相同标签的Bucket提供批量管理,例如授权RAM用户管理拥有相同标签的Bucket等。

对拥有相同标签的Object提供批量管理,不受文件目录限制;例如:周期性生成的非长期保存的文件,可以在上传时设置指定的标签;然后配合通过生命周期规则,将拥有这个标签的文件定期删除。设置RAM权限,允许访问拥有指定标签的Object。

使用限制

  1. 单条规则可配置多个标签,对象存储OSS对所有拥有这些标签的对象执行生命周期规则。

  2. 标签匹配规则不作用于碎片。配置了覆盖整个Bucket的生命周期规则后,不支持再创建其他生命周期规则。

方案概述

方案实现流程1

方案详细步骤及验证

  1. 对象标签权限管理验证。

    1. 创建一个Apsara Uni-manager运营控制台用户账号,即子账号。组织在这里是父账号的概念,所有创建的用户都是他的子账号。

      1. 如图所示步骤依次单击企业>用户管理>创建,来创建用户。2

      2. 选择同组织。3

    2. 创建同组织的Bucket。从Apsara Uni-manager运营控制台进入对象存储OSS的控制台页面,创建一个 Bucket;组织选择和上一步的组织同一个,保证是同一个父账号的资源。4

    3. 创建RAM policy。进入Apsara Uni-manager运营控制台,按照下图步骤依次单击角色管理>创建RAM角色>创建RAM角色并配置,根据提示创建一个角色。在角色权限管理页面单击新增权限策略,创建一条新的RAM policy。567

      1. 通过策略授权指定用户(UID为193248792425xxxx)可以列举所有拥有keytest=valuetest标签的Bucket。

        {
        "Version": "1",
        "Statement": [
        {
        "Action": [
        "oss:ListBuckets"
        ],
        "Resource": [
        "acs:oss:*:193248792425xxxx:*"
        ],
        "Effect":"Allow",
        "Condition": {
        "StringEquals": {
        "oss:BucketTag/keytest": "valuetest"
        }
        }
        }
        ]
        }
        8
      2. 在角色权限管理页面单击新增权限策略, 创建一条新的Object RAM policy。

        {
        "Version": "1",
        "Statement": [
        {
        "Effect": "Allow",
        "Action":"oss:GetObject",
        "Resource": "*",
        "Condition": {
        "StringEquals": {
        "oss:ExistingObjectTag/allow": [
        "yes"
        ]
        }
        }
        }
        ]
        }
        9
    4. 将RAM policy应用到刚才创建的用户上。如图所示步骤在Apsara Uni-manager运营控制台通过新增一个用户组,然后对这个用户组添加用户,添加角色的方法,将刚才创建的(角色策略)赋予第一步创建的子账号。10111213

    5. 修改测试Object的Object-tagging。

      1. 配置父账号的AK、SK,用ossutil上传两个Object。

        #ossutilobject-tagging --method put oss://objtagtest/oss.pem ALLOW allow#yes # ossutil object-tagging --method putoss://objtagtest/test.log DENY allow#no14

      2. 然后使用ossutil为这两个Object设置不同的Object-tagging。15

    6. 用子账号验证RAM policy 授权成功。

      1. 配置子账号的AK、SK,使用ossutil 或者osscmd分别去get两个不同Object tagging的Object。

      2. allow = yes的Object可以get。

      3. allow = no的Object不能get。16

  2. 对象标签生命周期管理验证。

    1. 在生命周期规则配置中,指定生命周期规则生效的条件。生命周期规则可针对对象标签生效。

      eg: file1为前缀且拥有标签xx=web1file和yy=web2file的对象在1天后被删除。

      <LifecycleConfiguration>
      <Rule><ID>r1</ID>
      <Prefix>file1</Prefix>
      <Tag><Key>xx</Key><Value>web1file</Value></Tag><Tag><Key>yy</Key><Value>web2file</Value></Tag>
      <Status>Enabled</Status>
      <Expiration> <Days>1</Days>
      </Expiration>
      </Rule>
      </LifecycleConfiguration>

      171819

      1. 生命周期未生效前,查看Object情况:20

      2. 生命周期生效后,查看Object情况:21

通过以上方案,可发现:

  • 对拥有相同标签的Object提供批量的Object权限管理,不受文件目录限制。

  • 对周期性生成的非长期保存的文件,可以在上传时设置指定的标签,之后通过生命周期规则,将拥有这个标签的文件定期删除;达到高效管理的目的。

  • 本页导读
文档反馈