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)
            