权限控制(ACL)

 

PUT Bucket ACL

更新时间 2020-12-01

该接口用于设置或修改 Bucket 的访问控制列表 (ACL:Access Control List)。

对象存储定义 ACL 为 Bucket 的子资源,因此,只有 Bucket 的所有者才能调用该 API。

请求语法

PUT /?acl HTTP/1.1
Host: <bucket-name>.<zone-id>.is.shanhe.com
Date: <date>
Authorization: <authorization-string>

{
  "acl": [
    {
      "grantee": {
        "type": "user",
        "id":
      },
      "permission": "FULL_CONTROL"
    },
    {
      "grantee": {
        "type": "group",
        "name": <group-name>
      },
      "permission": "READ"
    }
  ]
}

请求参数

无。

请求头

此接口仅包含公共请求头。关于公共请求头的更多信息,请参见 公共请求头

请求体

调用该 API 需携带如 请求语法 中的 Json 消息体。该消息体各字段说明如下:

名称 类型 说明
acl List 访问控制列表。 支持设置同时设置或修改多个被授权者
grantee Dict 权限赋予的对象
type String 支持 usergroup 两种类型
id String 用户 ID。当 type 设置为 user 时,该参数有效
name String 用户组名。当 type 设置为 group 时,该参数有效,且目前仅支持 QS_ALL_USERS,代表所有用户
permission String 操作权限。目前支持 READWRITEFULL_CONTROL 三种权限

响应头

此接口仅包含公共响应头。关于公共响应头的更多信息,请参见 公共响应头

错误码

错误码 错误描述 HTTP 状态码
OK 成功设置或修改 Bucket ACL 200

其他错误码可参考 错误码列表

示例

请求示例

PUT /?acl HTTP/1.1
Host: mybucket.jn1.is.shenhe.com
Date: Sun, 16 Aug 2015 09:05:00 GMT
Content-Length: 157
Authorization: authorization string

{
  "acl": [
    {
      "grantee": {
        "type": "user",
        "id": "usr-1mvNCzZu"
      },
      "permission": "FULL_CONTROL"
    },
    {
      "grantee": {
        "type": "group",
        "name": "QS_ALL_USERS"
      },
      "permission": "READ"
    }
  ]
}

响应示例

HTTP/1.1 200 OK
Server: shanhe
Date: Sun, 16 Aug 2015 09:05:00 GMT
Content-Length: 0
Connection: close
x-qs-request-id: aa08cf7a43f611e5886952542e6ce14b

SDK

此接口所对应的各语言 SDK 可参考 SDK 文档

这篇文档解决了您的问题吗?
0
0