开发者社区> 问答> 正文

对象存储 OSS存储空间访问权限

已解决

展开
收起
2018-03-03 14:14:08 702 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    用户可以设置存储空间的访问权限,允许或者禁止匿名用户对其内容进行读写。

    获取存储空间的访问权限(ACL)

    通过oss_get_bucket_acl接口,可以实现查看存储空间的ACL:

    aos_pool_t *p;
    oss_request_options_t *options;
    char *bucket_name = "<您的bucket名字>";
    aos_string_t bucket;
    aos_table_t *resp_headers;
    aos_status_t *s;
    char *oss_acl;
    
    aos_pool_create(&p, NULL);
    
    /* 创建并初始化options */
    options = oss_request_options_create(p);
    init_options(options);
    
    /* 初始化参数 */
    aos_str_set(&bucket, bucket_name);
    
    /* 获取存储空间访问权限 */
    s = oss_get_bucket_acl(options, &bucket,& oss_acl, &resp_headers);
    if (aos_status_is_ok(s)) {
        printf("get bucket acl succeeded\n");
    } else {
        printf("get bucket acl failed\n");
    }
    
    aos_pool_destroy(p);
    

    设置存储空间的访问权限(ACL)

    通过oss_create_bucket接口,可以实现设置存储空间的ACL:

    aos_pool_t *p;
    oss_request_options_t *options;
    oss_acl_e oss_acl = OSS_ACL_PRIVATE;
    char *bucket_name = "<您的bucket名字>";
    aos_string_t bucket;
    aos_table_t *resp_headers;
    aos_status_t *s;
    
    aos_pool_create(&p, NULL);
    
    /* 创建并初始化options */
    options = oss_request_options_create(p);
    init_options(options);
    
    /* 初始化参数 */
    aos_str_set(&bucket, bucket_name);
    
    /* 设置存储空间访问权限 */
    s = oss_put_bucket_acl(options, &bucket, oss_acl, &resp_headers);
    if (aos_status_is_ok(s)) {
        printf("put bucket acl succeeded\n");
    } else {
        printf("put bucket acl failed\n");
    }
    
    aos_pool_destroy(p);
    

    注:

    • 操作者必须是Bucket的拥有者,否则不允许设置该存储空间的访问权限。
    • 存储空间的访问权限oss_acl_e是一个枚举值,可选值包括:OSS_ACL_PRIVATE、OSS_ACL_PUBLIC_READ、OSS_ACL_PUBLIC_READ_WRITE
    2018-03-08 12:58:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载