You need to enable JavaScript to run this app.
导航
PutBucketPolicy
最近更新时间:2024.08.01 20:30:29首次发布时间:2023.03.14 21:02:15

功能描述

此接口用于修改或创建桶策略。如果桶策略已存在,当前请求会覆盖已有桶策略。

注意事项

  • 桶策略条数无限制,但单个桶的所有桶策略 JSON 序列化后总大小不能超过 20KB。
  • 调用此接口时,必须为桶所有者,或桶拥有者的子账号且被授权当前桶的 PutBucketPolicy 权限。使用桶策略实现权限控制的详细介绍,请参见存储桶授权策略管理

请求消息样式

PUT /?policy HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 08:05:36 +0000
Authorization: authorization string

{
        "Version": "2012-10-17",
        "Statement": [{
                "Sid": "桶只读策略",
                "Effect": "Allow",
                "Principal": [
                        "210004xxxx/testuser"
                ],
                "Action": [
                        "tos:Get*",
                        "tos:List*"
                ],
                "Resource": [
                        "trn:tos:::bucketname",
                        "trn:tos:::bucketname/*"
                ],
                "Condition": {
                        "IpAddress": {
                                "SourceIp": "192.168.0.1"
                        }
                }
        }]
}

请求参数和消息头

该请求使用的公共请求消息头,请参见公共参数

名称

位置

参数类型

是否必选

示例值

说明

policy

Query

String

-

代表 PutBucketPolicy 请求的特殊标识。

请求元素

响应元素是符合 JSON 格式的字符串,包含了桶策略的信息,具体请参见桶策略模板及参数说明

响应消息头

该请求返回的公共响应消息头,请参见公共参数

响应元素

该接口不使用响应元素。

请求示例 1

TOS 账号授予权限
向账号 ID 为 210004xxxx 授予桶的只读权限。

PUT /?policy HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 08:05:36 +0000
Authorization: authorization string
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "桶只读策略",
            "Effect": "Allow",
            "Principal": [
                "210004xxxx"
            ],
            "Action": [
                "tos:Get*",
                "tos:List*"
            ],
            "Resource": [
                "trn:tos:::bucketname",
                "trn:tos:::bucketname/*"
            ]
        }
    ]
}

响应示例 1

HTTP/1.1 204 No Content
Date: Fri, 30 Jul 2021 13:53:55 GMT
Server: TosServer
x-tos-id-2: 1e89f203jld00006-a444fd0
x-tos-request-id: 1e89f203b2d00006-a444ed0

请求示例 2

TOS 账号的 IAM 用户授予权限
给账号 ID 210004xxxx 下的 IAM 用户 testuser 授予桶的只读权限。

PUT /?policy HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 08:05:36 +0000
Authorization: authorization string
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "桶只读策略",
            "Effect": "Allow",
            "Principal": [
                "210004xxxx/testuser"
            ],
            "Action": [
                "tos:Get*",
                "tos:List*"
            ],
            "Resource": [
                "trn:tos:::bucketname",
                "trn:tos:::bucketname/*"
            ]
        }
    ]
}

响应示例 2

HTTP/1.1 204 No Content
Date: Fri, 30 Jul 2021 13:53:55 GMT
Server: TosServer
x-tos-id-2: 1e89f203jld00006-a444fd0
x-tos-request-id: 1e89f203b2d00006-a444ed0