Object权限控制
更新时间:2022-10-14
设置Object的访问权限
如下代码将Object的权限设置为了private:
Ruby
1client.set_object_canned_acl(bucket_name, object_name, Http::BCE_ACL => 'private')
关于权限的具体内容可以参考《BOS API文档 Object权限控制》。
设置指定用户对Object的访问权限
BOS提供set_object_acl方法和set_object_canned_acl方法来实现指定用户Object的访问权限设置,可以参考如下代码实现:
-
通过
set_object_canned_acl的x-bce-grant-read和x-bce-grant-full-control设置指定用户的访问权限Ruby1id_permission = "id=\"8c47a952db4444c5a097b41be3f24c94\",id=\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\"" 2client.set_object_canned_acl(bucket_name, object_name, 'x-bce-grant-read' => id_permission) 3 4id_permission = "id=\"8c47a952db4444c5a097b41be3f24c94\",id=\"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb\"" 5client.set_object_canned_acl(bucket_name, object_name, 'x-bce-grant-full-control' => id_permission) -
通过
set_object_acl设置object访问权限Ruby1acl = [{'grantee' => [{'id' => 'b124deeaf6f641c9ac27700b41a350a8'}, 2 {'id' => 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'}], 3 'permission' => ['FULL_CONTROL'] 4}] 5client.set_object_acl(bucket_name, object_name, acl)
注意:
- permission中的权限设置包含两个值:
READ、FULL_CONTROL,它们分别对应相关权限。- 设置两个以上(含两个)被授权人时,请参考以上示例的格式,若将数组合并会返回报错。
查看Object的权限
如下代码可以查Object的权限:
Plain Text
1client.get_object_acl(bucket_name, object_name)
get_object_acl方法返回的解析类中可供调用的参数有:
| 参数 | 说明 |
|---|---|
| accessControlList | 标识Object的权限列表 |
| grantee | 标识被授权人 |
| -id | 被授权人ID |
| permission | 标识被授权人的权限 |
删除Object的权限
如下代码可以删除Object的权限:
Plain Text
1client.delete_object_acl(bucket_name, object_name)
