混合云场景对象存储通过标签分类管理的解决方案
标签介绍
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务。
对象存储在混合云的标签管理解决方案,通过标签功能对Bucket进行分类管理,如同标签的Bucket设置访问权限等。通过标签功能对Object进行分类管理,如同标签的Object设置生命周期等。目前在企业版V3.16.1及以上版本中提供能力。
使用场景
大规模,复杂组织形式的用户形态下,阿里云提供多region,多集群架构模式的对象存储服务。这些提供独立服务的集群包含海量Bucket以及对象,从组织以及业务逻辑的分类管理是强需求。
对拥有相同标签的Bucket提供批量管理,例如授权RAM用户管理拥有相同标签的Bucket等。
对拥有相同标签的Object提供批量管理,不受文件目录限制;例如:周期性生成的非长期保存的文件,可以在上传时设置指定的标签;然后配合通过生命周期规则,将拥有这个标签的文件定期删除。设置RAM权限,允许访问拥有指定标签的Object。
使用限制
单条规则可配置多个标签,对象存储OSS对所有拥有这些标签的对象执行生命周期规则。
标签匹配规则不作用于碎片。配置了覆盖整个Bucket的生命周期规则后,不支持再创建其他生命周期规则。
方案概述
方案实现流程
方案详细步骤及验证
对象标签权限管理验证。
创建一个Apsara Uni-manager运营控制台用户账号,即子账号。组织在这里是父账号的概念,所有创建的用户都是他的子账号。
如图所示步骤依次单击企业>用户管理>创建,来创建用户。
选择同组织。
创建同组织的Bucket。从Apsara Uni-manager运营控制台进入对象存储OSS的控制台页面,创建一个 Bucket;组织选择和上一步的组织同一个,保证是同一个父账号的资源。
创建RAM policy。进入Apsara Uni-manager运营控制台,按照下图步骤依次单击角色管理>创建RAM角色>创建RAM角色并配置,根据提示创建一个角色。在角色权限管理页面单击新增权限策略,创建一条新的RAM policy。
通过策略授权指定用户(UID为193248792425xxxx)可以列举所有拥有keytest=valuetest标签的Bucket。
{ "Version": "1", "Statement": [ { "Action": [ "oss:ListBuckets" ], "Resource": [ "acs:oss:*:193248792425xxxx:*" ], "Effect":"Allow", "Condition": { "StringEquals": { "oss:BucketTag/keytest": "valuetest" } } } ] }
在角色权限管理页面单击新增权限策略, 创建一条新的Object RAM policy。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action":"oss:GetObject", "Resource": "*", "Condition": { "StringEquals": { "oss:ExistingObjectTag/allow": [ "yes" ] } } } ] }
将RAM policy应用到刚才创建的用户上。如图所示步骤在Apsara Uni-manager运营控制台通过新增一个用户组,然后对这个用户组添加用户,添加角色的方法,将刚才创建的(角色策略)赋予第一步创建的子账号。
修改测试Object的Object-tagging。
配置父账号的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#no
然后使用ossutil为这两个Object设置不同的Object-tagging。
用子账号验证RAM policy 授权成功。
配置子账号的AK、SK,使用ossutil 或者osscmd分别去get两个不同Object tagging的Object。
allow = yes的Object可以get。
allow = no的Object不能get。
对象标签生命周期管理验证。
在生命周期规则配置中,指定生命周期规则生效的条件。生命周期规则可针对对象标签生效。
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>
生命周期未生效前,查看Object情况:
生命周期生效后,查看Object情况:
通过以上方案,可发现:
对拥有相同标签的Object提供批量的Object权限管理,不受文件目录限制。
对周期性生成的非长期保存的文件,可以在上传时设置指定的标签,之后通过生命周期规则,将拥有这个标签的文件定期删除;达到高效管理的目的。
- 本页导读