更新时间:2026-09-09 GMT+08:00
分享

对象标签

OBS支持为桶内对象设置自定义标签,用于实现数据的精细化分类管理。您可在上传对象时同步添加标签,也可为已有对象追加标签。基于对象标签,既可结合生命周期规则按标签自动转储或清理对象,也可在权限体系中按标签维度控制访问范围,为数据治理、成本优化与安全管控提供统一支撑。

标签规则

OBS支持使用对象标签对桶中的对象进行分类,您可以在上传对象时添加标签,也可以为已有对象添加标签。

对象标签使用一组键值对(Key-Value)标记对象,规则如下:

  • 每个对象最多能设置10个标签。
  • 键名(Key)约束:
    • 指定多个标签时,每个标签的键必须唯一。
    • 标签键最大长度为128个字符,键名不能包含,/|<>=*\这些特殊字符以及ASCII码0x00-0x1F的控制字符,且首尾字符不能为空格,区分大小写,不可重复,不能为空。在发送到服务器之前,必须将键名进行UrlEncode编码。
  • 键值(Value)约束:

    标签值最大长度为255个字符,不能包含,/|<>=*\这些特殊字符以及ASCII码0x00-0x1F的控制字符,且首尾字符不能为空格,区分大小写,可以为空。在发送到服务器之前,必须将键值进行UrlEncode编码。

注意事项

  • 对象标签功能目前在公测阶段,免费使用;公测结束后,将收取费用。
  • 用户读写对象标签必须拥有对应标签操作权限,当前可通过设置桶策略授权给其他用户。默认情况下只有对象的所有者可以执行此操作。
  • 用户可在PUT上传、分段上传、上传、复制对象过程中设置标签,也可以对已上传的对象设置标签。
  • 设置或更改对象标签不会改变对象的Lastmodified时间。
  • 并行文件系统不支持给文件添加标签。

权限控制

只有对象拥有者和被授予以下权限的用户才能进行对象标签相关操作。您可以使用IAM或桶策略进行授权,授权操作请参见创建IAM自定义策略自定义创建桶策略

  • 桶未开启多版本控制时需要获取的权限:
    • 设置对象标签:obs:object:PutObjectTagging
    • 获取对象标签:obs:object:GetObjectTagging
    • 删除对象标签:obs:object:DeleteObjectTagging
  • 桶开启了多版本控制时需要获取的权限:
    • 设置对象标签:obs:object:PutObjectVersionTagging
    • 获取对象标签:obs:object:GetObjectVersionTagging
    • 删除对象标签:obs:object:DeleteObjectVersionTagging

如果您在 IAM 用户或角色策略中拥有设置对象标签的权限或授权,但是设置失败,可能是SCP策略桶策略中该权限里包含了Deny语句。请先放开该权限,然后再进行对象标签相关操作。

例如:允许用户访问具有特定标签的对象,其权限配置策略见授权IAM用户操作指定标签的对象。

使用场景

对象标签结合生命周期:

针对周期性产生的临时文件,建议在上传时为其添加对象标签,再由生命周期规则按标签匹配定期删除,实现空间自动释放与存储费用优化。在桶生命周期配置中,可以指定筛选条件以选择该规则适用的一部分对象。可以基于键名前缀、对象标签或两者指定筛选条件。例如以下规则适用于桶中前缀为texta/,标签为(Key等于key1,Value等于value1)、(Key等于key2,Value等于value2)的对象,对象在创建120天后被删除。
<LifecycleConfiguration>
    <Rule>
        <ID>sample-rule</ID>  
        <Filter>
            <And>
                <Prefix>texta/</Prefix>
                <Tag>
                    <Key>key1</Key>
                    <Value>value1</Value>
                </Tag>
                <Tag>
                    <Key>key2</Key>
                    <Value>value2</Value>
                </Tag>
            </And>
        </Filter>
        <Status>Enabled</Status>
        <Expiration>
            <Days>120</Days>
        </Expiration>
    </Rule>
</LifecycleConfiguration>
  • 授权IAM用户操作指定标签的对象。

    对象标签可用于管理权限的精细访问控制。例如,您可以通过IAM Policy授权IAM用户访问Key为key2、Value为value2的所有Object,IAM Policy配置示例如下:

    {
    	"Statement": [{
    		"Effect": "Allow",
    		"Action": ["GetObject"],
    		"Resource": "*",
    		"Condition": {
    			"StringEquals": {
    				"ExistingObjectTag/key2":["value2"]
    			}
    		}
    	}]
    }

使用方式

OBS支持通过管理控制台、API、SDK、obsutil方式配置对象标签,不支持通过OBS Browser+方式配置对象标签。

日志与监控

为帮助用户及时感知并处理删除操作,OBS提供了从实时感知到事后审计的完整管控能力。用户可以配置桶日志里对象标签相关的Operation(设置/获取/删除对象标签:REST.PUT.TAGGING/REST.GET.TAGGING/REST.DEL.TAGGING)及CTS支持对象标签相关的操作事件(设置/获取/删除对象标签:setBucketTagging/getBucketTagging/deleteBucketTagging),系统会记录所有对象标签相关操作的详细日志,供用户审计或进一步分析。了解配置监控日志相关操作,请参见使用桶日志记录OBS日志信息

相关操作

您可以单击“编辑”,修改标签的“值”;也可以单击“删除”,删除标签。

相关文档

  • 用户可通过设定生命周期规则管理对象,了解更多生命周期相关信息,请参见生命周期管理
  • 用户可通过桶策略设置用户访问指定标签的对象,了解更多桶策略相关信息,请参见配置桶策略

相关文档