对象存储
动作 | 说明 |
* | 通配符,表示该资源能进行的所有动作。 |
Get* | 表示该资源能进行的所有获取动作。 |
Put* | 表示该资源能进行的所有设置动作。 注意 该动作为风险操作,请您谨慎配置。 |
List* | 表示该资源能进行的所有列举动作。 |
类别 | 动作 | 说明 |
桶操作 | ListBucket | 列举桶内对象。 |
| HeadBucket | 判断桶是否存在,获取桶元数据。 |
| DeleteBucket | 删除桶。 注意 该动作为风险操作,请您谨慎配置。 |
桶 ACL | GetBucketACL | 获取桶 ACL 的相关信息。 |
| PutBucketACL | 设置桶 ACL。 注意 该动作为风险操作,请您谨慎配置。 |
桶策略 | GetBucketPolicy | 获取桶策略。 |
| PutBucketPolicy | 设置桶策略,拥有此权限的用户可以任意更改桶策略,并可以通过此权限获取其他权限。 注意 该动作为风险操作,请您谨慎配置。 |
| DeleteBucketPolicy | 删除桶策略。 注意 该动作为风险操作,请您谨慎配置。 |
桶标签 | GetBucketTagging | 获取桶标签。 |
| PutBucketTagging | 设置桶标签。 |
生命周期规则 | GetLifecycleConfiguration | 获取桶生命周期规则。 |
| PutLifecycleConfiguration | 设置桶生命周期规则。 |
桶版本 | GetBucketVersioning | 获取桶多版本的相关信息。 |
| PutBucketVersioning | 设置多版本。 |
| ListBucketVersions | 列举桶内多版本对象。 |
跨域访问 CORS 规则 | GetBucketCORS | 获取桶 CORS 配置的相关信息。 |
| PutBucketCORS | 设置桶 CORS。 |
消息通知 | PutBucketNotification | 设置桶事件通知。 |
| GetBucketNotification | 获取桶事件通知。 |
图片样式 | PutBucketImageStyle | 设置桶图片样式。 |
| GetBucketImageStyle | 获取桶图片样式。 |
| ListBucketImageStyle | 列举桶图片样式。 |
| DeleteBucketImageStyle | 删除桶图片样式。 注意 该动作为风险操作,请您谨慎配置。 |
桶存储策略 | PutBucketStoragePolicy | 设置桶默认存储类别。 |
对象锁定 | PutBucketObjectLockConfiguration | 设置对象锁定功能。 |
| GetBucketObjectLockConfiguration | 获取对象锁定配置信息。 |
RenameObject | PutBucketRename | 设置桶的 RenameObject 功能。 |
| GetBucketRename | 获取桶的 RenameObject 功能信息。 |
访问跟踪 | PutBucketAccessMonitor | 开启或关闭访问跟踪。 |
| GetBucketAccessMonitor | 获取访问跟踪信息。 |
桶清单 | PutBucketInventory | 创建桶清单。 |
| GetBucketInventory | 获取指定桶清单规则信息。 |
| ListBucketInventory | 获取桶清单规则列表。 |
| DeleteBucketInventory | 删除桶清单。 注意 该动作为风险操作,请您谨慎配置。 |
其他 | ListBucketMultipartUploads | 列举多段上传任务。 |
类别 | 动作 | 说明 |
对象操作 | GetObject | 可用作于获取对象内容,获取对象元数据。 |
| PutObject | 可用作于 PUT 上传,上传段,初始化上传段任务,合并段。 |
| DeleteObject | 删除对象。 注意 该动作为风险操作,请您谨慎配置。 |
| SetObjectExpires | 设置对象过期时间。 注意 该动作为风险操作,请您谨慎配置。 |
| RestoreObject | 恢复归档、冷归档和深度冷归档存储对象。 |
对象 ACL | GetObjectAcl | 获取对象 ACL 的相关信息。 |
| PutObjectAcl | 设置对象 ACL。 注意 该动作为风险操作,请您谨慎配置。 |
对象版本 | GetObjectVersion | 可用作于获取指定版本对象内容,获取指定版本对象元数据。 |
| DeleteObjectVersion | 删除对象(针对特定版本的对象)。 注意 该动作为风险操作,请您谨慎配置。 |
对象标签 | GetObjectTagging | 获取对象标签。 |
| PutObjectTagging | 设置对象标签。 |
| DeleteObjectTagging | 删除对象标签。 注意 该动作为风险操作,请您谨慎配置。 |
对象保留期 | PutObjectRetention | 设置对象保留策略。 |
| GetObjectRetention | 获取对象保留策略。 |
RenameObject | RenameObject | 重命名对象。 说明
|
其他 | AbortMultipartUpload | 取消多段上传任务。 |
| ListMultipartUploadParts | 列举已上传段。 |
模板名称 | 被授权用户 | 资源范围 | 模板动作 |
桶只读 | 待指定:需指定授权用户 | 包含当前桶和桶内所有对象 | 允许指定用户对当前桶和桶内所有对象执行以下动作:
|
桶读写 | 待指定:需指定授权用户 | 包含当前桶和桶内所有对象 | 允许指定用户对当前桶和桶内所有对象执行以下动作:
|
文件夹只读 | 待指定:需指定授权用户 | 待指定:需指定对象前缀 | 允许指定用户对当前桶和桶内指定资源执行以下动作:
|
文件夹读写 | 待指定:需指定授权用户 | 待指定:需指定对象前缀 | 允许指定用户对当前桶和桶内指定资源执行以下动作:
|
公共只读(包含 ListBucket 操作) | 所有用户:表示所有互联网用户 | 包含当前桶和桶内所有对象 | 允许所有用户:所有互联网用户对当前桶和桶内所有对象执行以下动作:
|
公共只读(不包含 ListBucket 操作) | 所有用户:表示所有互联网用户 | 包含当前桶和桶内所有对象 | 允许所有用户:所有互联网用户对当前桶和桶内所有对象执行以下动作:
|
公共读写 | 所有用户:表示所有互联网用户 | 包含当前桶和桶内所有对象 | 允许所有用户:所有互联网用户对当前桶和桶内所有对象执行以下动作:
|
参数 | 是否必选 | 说明 | 示例 |
Sid | 可选 | 策略名称,以区分不同的策略。 说明 在同一个桶内,策略名称不能重复。 | "Sid": "test" |
Effect | 必填 | 指示策略是允许还是拒绝访问,取值范围为:
| "Effect": "Allow" |
Principal | 可选 说明 当 Effect 为 Allow 时,Principal 参数为必选参数。 | 指定需要授权的用户。
|
"Principal":["200000****/IAMUserName"]
"Principal":["*"] |
NotPrincipal | 可选 | 该参数必须和 "Effect":"Deny" 一起使用。搭配 "Effect":"Deny" 使用后,除了 NotPrincipal 指定的用户以外,将拒绝其他用户的访问。关于 NotPrincipal 的典型授权场景的介绍,请参见NotPrincipal 、NotResource 和 NotAction 的典型授权场景。 说明
| "NotPrincipal":["200000****/IAMUserName"] |
Action | 可选 说明 当 Effect 为 Allow 时,Action 参数为必选参数。 |
| "Action": [ "tos:Get*", "tos:List*", "tos:HeadBucket" ] |
NotAction | 可选 | 该参数可以搭配"Effect":"Deny" 、"Effect":"Allow"使用,说明如下:
该参数值以字符串形式表示,动作格式为 tos:ActionName,不区分大小写。关于 NotAction 的典型授权场景的介绍,请参见NotPrincipal 、NotResource 和 NotAction 的典型授权场景。 | "NotAction": [ "tos:Get*", "tos:List*", "tos:HeadBucket" ] |
Resource | 可选 说明 当 Effect 为 Allow 时,Resource 参数为必选参数。 | 指定策略作用的资源范围,设置规则说明如下:
说明 在 Resource 配置桶内资源时,您可以在 Resource 使用通配符 ?和 * 字符匹配对象。其中,? 表示匹配任意单个字符;* 表示匹配任意单个或多个字符,使用示例如下: 示例1:使用 * 匹配 data 桶内所有对象:trn:tos:::data/* 示例 2 :使用 * 匹配 data 桶内 aaa 目录下的所有对象 :trn:tos:::data/aaa/* 示例3:使用 ?匹配 data 桶内中的对象(例如匹配 aa 开头,且后面仅有一个字符的对象):trn:tos:::data/aa? | "Resource": [ "trn:tos:::bucketname", "trn:tos:::bucketname/*" ] |
NotResource | 可选 | 该参数必须和"Effect":"Deny" 一起使用。搭配"Effect":"Deny"使用后,除了NotResource 指定的资源以外,将拒绝用户访问其他资源。设置规则说明如下:
说明 不支持单独使用通配符 * 拒绝所有资源,即不支持使用 "NotResource":["*"]。 | "NotResource": "trn:tos:::bucketname/*" |
Condition | 可选 | "Condition": { "IpAddress": { "SourceIp": [ "192.168.0.1", "192.168.0.3" ] } } |
键 | 类型 | 是否通用 | 键说明 | 值说明 |
prefix | String | 否 | 列举对象时,用于指定前缀,仅以下动作支持设置:
| 输入具体的前缀和通配符(*)。 例如设置条件为 prefix 不等于 dr1/,则被授予桶策略的账号列举对象时,必须在 Query 处设置 prefix 参数为除了 dr1/ 以外的其他值,否则桶策略不会生效。 |
delimiter | String | 否 | 列举对象时,对 Object 名字进行分组的字符,仅以下动作支持设置:
| 输入常见的分隔符。 例如设置条件为 delimiter 等于 /,则被授予桶策略的账号列举对象时,必须在 Query 处设置 delimiter 参数为 /,否则桶策略不会生效。 |
max-keys | String | 否 | 列举对象时,返回对象的最大数量,仅以下动作支持设置:
| 输入数字,有效范围为 [1-1000]。 例如设置条件为 max-keys 等于 10,则被授予桶策略的账号列举对象时,必须在 Query 处设置 max-keys 参数为10,否则桶策略不会生效。 |
versionid | String | 否 | 指定对象版本,仅以下动作支持设置:
| 输入对象的具体版本号。 例如设置条件为 versionid 等于 570731267015922DACF8,则被授予桶策略的账号执行相应动作时,必须在 Query 处设置 versionId 参数为570731267015922DACF8,否则桶策略不会生效。 |
x-tos-acl | String | 否 | 上传对象或者设置 ACL 时,用于在头域中声明对象的 ACL,仅以下动作支持设置:
| 输入有效的 ACL,取值范围为:
例如设置条件为 x-tos-acl 等于 public-read,则被授予桶策略的账号上传对象或设置 ACL 时,必须在 Header 处设置 x-tos-acl 参数为 public-read,否则桶策略不会生效。 |
x-tos-copy-source | String | 否 | 复制对象时,用来指定源桶名和源对象名,仅以下动作支持设置:
| 输入有效的源对象的路径。 例如设置条件为 x-tos-copy-source 等于 /bucket/object,则被授予桶策略的账号调用 CopyObject 接口时,必须在 Header 处设置 x-tos-copy-source 参数为 /bucket/object,否则桶策略不会生效。 |
x-tos-metadata-directive | String | 否 | 指定是从源对象复制元数据还是使用请求中提供的元数据替换元数据,仅以下动作支持设置:
| 输入元数据复制策略,取值 COPY 或 REPLACE,说明如下:
例如设置条件为 x-tos-metadata-directive 等于 COPY,则被授予桶策略的账号调用 CopyObject 接口时,必须在 Header 处设置 x-tos-metadata-directive 参数为 COPY,否则桶策略不会生效。 |
x-tos-server-side-encryption-kms-key-id | String | 否 | 指定 SSE-KMS 加密对象使用的主密钥 ID,仅 PutObject 动作支持设置该键。 | 输入 KMS 的密钥 ID。 例如设置条件为x-tos-server-side-encryption-kms-key-id 等于 trn:kms:cn-beijing:200000****:keyrings/ring-test/keys/key-test,则被授予桶策略的账号上传对象时,必须在 Header 处设置 x-tos-server-side-encryption-kms-key-id 参数为 trn:kms:cn-beijing:200000****:keyrings/ring-test/keys/key-test,否则桶策略不会生效。 |
CurrentTime | Date | 是 | 服务器接收请求的时间,UTC 时间,格式必须为 ISO 8601,基本格式为 yyyy-MM-ddTHH:mmZ(UTC 时间)。 | 输入 ISO 8601 格式的日期。 例如设置条件为 CurrentTime 大于 2023-10-13T15:00:00Z,则被授予桶策略的账号执行相应动作时,请求时间必须大于 2023-10-13T15:00:00Z,否则桶策略不会生效。 |
EpochTime | Numeric | 是 | 自 1970 年 1 月 1 日(UTC/GMT 午夜)来经过的秒数,不包括闰秒。 | 输入秒数。 例如设置条件为 EpochTime 大于 1697187692,则被授予桶策略的账号执行相应动作时,请求时间必须大于 1697187692,否则桶策略不会生效。 |
SecureTransport | Boolean | 是 | 请求是否使用 SSL 加密。 | 输入 true 或 false,取值说明如下:
例如设置条件为 SecureTransport bool true,则被授予桶策略的账号执行相应动作时,请求必须使用 SSL 加密,否则桶策略不会生效。 |
SourceIp | String | 是 | 请求发起的源 IP。 | 输入 IP 地址或者 IP 段,如有多个 IP 请以英文逗号分隔。 例如设置条件为 SourceIp 等于 192.168.0.1,则被授予桶策略的账号执行相应动作时,请求发起的源 IP 必须为 192.168.0.1,否则桶策略不会生效。 |
UserAgent | String | 是 | 请求的客户端代理程序。 | 输入 Agent 详细信息和通配符(*)。 例如设置条件为 UserAgent 等于 tos go sdk v2.6.0,则被授予桶策略的账号执行相应动作时,请求的客户端代理程序必须为 tos go sdk v2.6.0,否则桶策略不会生效。 |
Referer | String | 是 | 请求发起的链接。 | 输入 URL。 例如设置条件为 Referer 等于 http://console.volcengine.com,则被授予桶策略的账号执行相应动作时,请求头必须为 http://console.volcengine.com,否则桶策略不会生效。 |
SourceVpc | String | 是 | 请求所在的 VPC。 | 输入 VPC ID。 例如设置条件为 SourceVpc 等于 vpc-2d****ez0n,则被授予桶策略的账号执行相应动作时,请求所在的 VPC 必须是 vpc-2d****ez0n,否则桶策略不会生效。 注意 TOS 只有从 VPC 终端节点发出的请求中才能获取到 SourceVpc 这一鉴权上下文信息,如果仅在桶策略或 IAM 策略配置 tos:sourcevpc 条件,但未创建相应的网关终端节点,则 TOS 无法获取到 SourceVpc 上下文信息 ,因而无法识别请求来源的VPC,导致 tos:sourcevpc 条件判断失效。 |
rolename | String | 是 | 角色名称,用于指定其他云服务或 TOS 内部请求。 | 输入角色名称。 例如设置条件为 rolename 等于ServiceRoleforReplicationAccessTOS,访问TOS 时,扮演的角色名称必须是 ServiceRoleforReplicationAccessTOS,否则桶策略不会生效。 |
NetPlane | String | 是 | 请求来源的网络平面。 | 仅支持配置 public,表示请求来源为公网。 例如设置条件为 NetPlane 等于 public,则被授予桶策略的账号执行相应动作时,请求来源必须为公网,否则桶策略不会生效。 |
DataAccessPointTrn | String | 否 | 为指定接入点委派权限。 | 输入接入点 TRN。 例如设置条件为 DataAccessPointTrn 等于 trn:tos:cn-beijing:214748****:accesspoint/bbb,表示通过trn:tos:cn-beijing:214748****:accesspoint/bbb 接入点访问桶内资源时,桶策略才会生效。 说明 |
DataAccessPointAccount | String | 否 | 为指定账号下的所有接入点委派权限。 | 输入账号 ID。 例如设置条件为 DataAccessPointAccount 等于 214748****,表示 214748****下的接入点访问桶内资源时,桶策略才会生效。 说明 |
AccessPointNetworkOrigin | String | 否 | 为指定网络来源的所有接入点委派权限。 | 输入 VPC 或 Internet,取值说明如下:
例如设置 AccessPointNetworkOrigin 等于 VPC,表示网络来源为 VPC 的接入点访问桶内资源时,桶策略才会生效。 说明 |
volc:ViaConsole | String | 是 | 请求是否来自于控制台 | 输入 true 或 false,取值说明如下:
例如设置条件为 volc:ViaConsole 为 true,则授予桶策略的账号必须通过控制台访问 TOS,否则桶策略不会生效。 |
volc:ResourceTag/$ | String | 是 | 请求访问的存储桶的标签中标签键为tag_key的标签值。 | 输入存储桶的标签值。 例如设置条件为 volc:ResourceTag/project 等于短视频业务,则授予桶策略的账号只能访问标签键为project 且标签值为 短视频业务 的存储桶。 |
volc:RequestTag/$ | String | 否 | 请求时传递的标签中标签键为tag_key的标签值。 | 输入请求传递的标签值。 例如设置条件为 volc:RequestTag/project 等于短视频业务,则被授予桶策略的账号执行相应动作时,请求携带标签健必须为 project,值为短视频业务,否则桶策略不会生效。 |
volc:RequestTagKeys | String | 否 | 请求传递的全部标签键。 | 输入请求传递的标签键。 例如设置条件为 volc:RequestTagKeys 等于短视频业务,则被授予桶策略的账号执行相应动作时,请求携带标签健必须为短视频业务,否则桶策略不会生效。 |
volc:SourceIp | String | 是 | 请求发起的源 IP。 | 输入 IP 地址或者 IP 段,如有多个 IP 请以英文逗号分隔。 例如设置条件为 volc:SourceIp 等于 192.168.0.1,则被授予桶策略的账号执行相应动作时,请求发起的源 IP 必须为 192.168.0.1,否则桶策略不会生效。 |
volc:UserName | String | 是 | 请求的 IAM 用户名称。 | 输入 IAM 用户名称。 例如设置条件为 volc:UserName 等于 sso-,则访问 TOS 时,IAM 用户名称的前缀必须为 sso-,否则桶策略不会生效。 |
volc:RequestedRegion | String | 是 | 请求的 Region。 | 输入具体的 Region。 例如设置条件为 volc:RequestedRegion 等于 cn-beijing,则访问 TOS 时,仅能访问华北2(北京)的存储桶,否则桶策略不会生效。 |
volc:CurrentTime | String | 是 | 服务器接收请求的时间,UTC 时间,格式必须为 ISO 8601,基本格式为 yyyy-MM-ddTHH:mmZ(UTC 时间)。 | 输入 ISO 8601 格式的日期。 例如设置条件为 volc:CurrentTime 大于 2023-10-13T15:00:00Z,则被授予桶策略的账号执行相应动作时,请求时间必须大于 2023-10-13T15:00:00Z,否则桶策略不会生效。 |
volc:PrincipalTrn | String | 是 | 请求身份的 TRN。 | 输入 TRN,说明如下:
例如设置以下条件,访问 TOS 时,请求身份必须为 trn:iam::2100*****4:user/tos_user ,否则桶策略不会生效。 "Condition":{ "StringEquals":{ "volc:PrincipalTrn":"trn:iam::2100*****4:user/tos_user" } } 注意 仅在 JSON 视图创建桶策略时,支持使用 volc:PrincipalTrn 条件。 |
适用条件 | 运算符说明 |
|
|
|
|
|
|
| 布尔值,只有两个取值: true 和 false 。 |